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)
Mono project offers .NET compatible set of tools, including among others a C# compiler and a Common Language Runtime. It runs on Linux, *BSD, Windows and other operating systems. From the article:
The FastCGI Mono Server was developed as part of the 2007 Google Summer of Code (http://code.google.com/soc/2007/) with the goal of increasing the availablity of ASP.NET and simplifying configuration. Requiring as little as zero command line options and supporting a large number of servers, the FastCGI Mono Server makes it simple to include ASP.NET on your server.
This documentation contains configuration instructions for serveral web servers on Linux, with plans to expand support to Windows and Macintosh in the future. Please take the time to read all the information below before configuring your server.
(Fig. 01: How does FastCGI mono server works?)
=> The FastCGI Mono Server Configuration
If Operating Systems allowed to ran airlines. Absolutely hilarious, here is an an excerpt from post:
Everyone brings one piece of the plane along when they come to the airport. They all go out on the runway and put the plane together piece by piece, arguing non-stop about what kind of plane they are supposed to be building.
=> Read more…
My previous article related to iSCSI storage and NAS storage brought a couple of questions. An interesting question from my mail bag:
I’ve 5 Debian Linux servers with HP SAN box. Should I boot from SAN?
No, use centralized network storage for shared data or high availability configuration only. Technically you can boot and configure system. However I don’t recommend booting from SAN or any other central server until and unless you need diskless nodes:
[a] Use local storage – Always use local storage for /boot and / (root) filesystem
[b] Keep it simply – Booting from SAN volumes is complicated procedure. Most operating systems are not designed for this kind of configuration. You need to modify scripts and booting procedure.
[c] SAN booting support – Your SAN vendor must support platform booting a Linux server. You need to configure HBA and SAN according to vendor specification. You must totally depend upon SAN vendor for drivers and firmware (HBA Bios) to get thing work properly. General principle – don’t put all your eggs in one basket err one vendor 😉
[d] Other factors – Proper fiber channel topology must be used. Make sure Multipathing and redundant SAN links are used. The boot disk LUN is dedicated to a single host. etc
As you can see, complications started to increases, hence I don’t recommend booting from SAN.