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
After reading this article, you should now be able to use the Korn shell in ways you may not have known before. Mastering the command line can simplify your work and help you better understand how to make the shell and command line work for you rather than you working harder for it.
Understanding anatomy of security-enhanced Linux (SELinux) architecture and implementation.
You can install latest Ubuntu Linux 8.04 under Windows Vista / XP without creating a new parition with a new tool called Wubi. It is a Ubuntu installer for Windows users that will bring you into the Linux world with a single click.
Linux, Mac OS X, Vista and XP: head-to-head – Operating systems at war – but who wins?
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.
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 :
- Steep learning curve
- Software incompatibility or doesn’t run the software they want
- Installing and obtaining drivers may be issue for average joe
- 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)