Linux Memory Management – Understanding a Program in Memory

Posted on in Categories Howto, Linux last updated January 27, 2009

Excellent article! It explains how programs are laid out in memory.

From the blog post:

Memory management is the heart of operating systems; it is crucial for both programming and system administration. In the next few posts I’ll cover memory with an eye towards practical aspects, but without shying away from internals. While the concepts are generic, examples are mostly from Linux and Windows on 32-bit x86. This first post describes how programs are laid out in memory. Each process in a multi-tasking OS runs in its own memory sandbox. This sandbox is the virtual address space, which in 32-bit mode is always a 4GB block of memory addresses.

=> Anatomy of a Program in Memory

History and Culture of Unix Programming – The Art of Unix Programming

Posted on in Categories C Programming, Download of the day, FreeBSD, Linux, UNIX last updated March 27, 2008

The Art of Unix Programming by Eric Raymond is a book about the history and culture of Unix programming from its earliest days in 1969 to now, covering both genetic derivations such as BSD and conceptual ones such as Linux.

You should read this book if you are an experienced Unix programmer who is often in the position of either educating novice programmers or debating partisans of other operating systems, and you find it hard to articulate the benefits of the Unix approach.

You should read this book if you are a C, C++, or Java programmer with experience on other operating systems and you are about to start a Unix-based project.

You should read this book if you are a Unix user with novice-level up to middle-level skills in the operating system, but little development experience, and want to learn how to design software effectively under Unix.

You can read HTML version of “The Art of Unix Programming” online at Eric’s website.

Why Linux Desktop Does Not Spread – the Curse of Being Free

Posted on in Categories Business, Linux, Linux desktop, Linux distribution, OS X, Windows last updated February 18, 2008

This is a philosophical post on why Linux hasn’t grown to challenge Windows as the most popular operating system. From the blog post:

Linux isn’t very popular on the desktop. It’s a far third behind OS X, which is a very far second behind Windows. Most people cite pre-installed operating systems as the reason. But as a student of psychology, I see something most people don’t. There’s one big factor in why Linux isn’t popular on the desktop. Linux is free. I know this sounds like complete dog’s bollocks, but hear me out before judging my sanity.

My personal experience suggests that people don’t use GNU/Linux on desktop because :

  1. Steep learning curve
  2. Software incompatibility or doesn’t run the software they want
  3. Installing and obtaining drivers may be issue for average joe
  4. Finally, human psyche is complex subject. There are people who buy expensive apple hardware and install Linux on it. You just can’t predicate human behavior.

I use Linux on desktop because I work with a Linux / UNIX server all day and I find that using it on the desktop as well actually makes my life easier. You know one-size-fits-all approach may be unrealistic in a real life. I see my workplace desktops fully loaded with mix of Linux, OS X and dominated by Windows XP pro.

=> Why Linux Doesn’t Spread – the Curse of Being Free (via slashdot)