APLawrence.com -  Resources for Unix and Linux Systems, Bloggers and the self-employed

Linux|Unix ABI- Using other Unix binaries on Linux

The linux-abi linux-abi.sourceforge.net replaces the former ibcs2 module for providing the ability to run other Unix binaries on Linux.

Title Last Comment
Difference between /dev/sr0 and /dev/scd0  
- Why does the system call the same device by two different names: There isn't necessarily any difference at all. -

Determine Unix/Linux version and cpu's  
- Usually some variant of uname, often 'uname -a', but all sorts of other possibilies; it depends on the Unix and in some cases even the specific version. -

Mysterious panics and freezes  
- Crashes, panics and freezes: all work halts and you can't help being surprised. What just happened? -

SCO Unix Performance Tuning  
- People who are stuck running legacy SCO Unix systems may find these tips useful. -

What is a watchdog timer panic or error message?  
- In general, a watchdog timer is a piece of code (or hardware) that attempts to keep another piece of code (or hardware) from getting stuck in an endless loop. -

- Who hasn't been frustrated by some device stuck in a hardware read or write? Finally.. kill the unkillable. -

Essential Linux Device Drivers  
- I admit that it's very hard to write a good book in this area. You simply have to make assumptions about the readers knowledge - if you don't, you'll be writing an encyclopedia or two. -

Swap Prefetch Arguments  
- Anticipation of swapping needs: The concept is simple enough: if stuff has been swapped because there wasn't room in RAM, but now there is because some program just exited, maybe the stuff that was swapped should be brought back now instead of waiting until it is actually needed. -

Microsoft Windows Internals  
- Windows internals book gives many insights: As most readers here know, I'm no fan of Microsoft. However, Microsoft operating systems are a big part of today's computer world. While I may hope for change (and I really believe there will be change over the next decade), I can't afford to ignore Microsoft entirely. Hence this book. If you have been a casual Microsoft programmer, hacker or support person, this will give you the tools and knowledge to step up. -

SuperBox Mark I  
- The mythical Superbox Mark I was not announced today: I had an exclusive opportunity to speak with Brian Casales, CEO of Gapple, Inc. about the heavily rumored upcoming "Superbox Mark I" that is supposed to shake our industry to its knees. -

Designing BSD Rootkits  
- I have mixed reactions on several levels to this book. You might think that part of that might be an objection to publicizing hacker information, but no, that's not so. No, my first reaction was "Why a book?". After all, there isn't really a lot to say here, and while the author does say it well, it's not hard to find similar resources on the web. -

Invalidating the Linux buffer cache   2012/08/01 SimonL
- How to actually test the disk drive to know that data really has gotten to the disk drive. This could be because you want to test the performance of the drive, but could also be when you suspect a drive is malfunctioning: if you just write and read back, you'll be reading from cache, not from actual disk platters. -

Solaris Performance Tools  
- I'm not as fascinated by tuning as I used to be. Nevertheless, this was an interesting read. I did not know, Most of this book is about Dtrace (Sun's Dynamic Tracing Tool) and -

Solaris Internals  
- Review of Solaris(TM) Internals : Solaris 10 and OpenSolaris Kernel Architecture (2nd Edition) -

Where's the memory?  
- Memory usage under Linux is full of surprises. Do not assume you know what's going on based upon your knowledge of other systems. -

Linux 2.6  
- This article highlights some of the performance and scalability improvements of the Linux 2.6 kernel. -

What causes a Segmentation fault?   2010/11/01 lambros
- Short answer: it's most likely hardware unless you wrote the program or just now installed it on your machine. -

Maximun number of socket connections  
- 100 connections hangs server.. configuration? Possible tuning limits on SCO Unix that might cause this. -

Free VMware server  
- That's simply tremendous news, though I'm surprised by how many people I talk to who don't understand why this is so important. -

LOD Communications, Inc.
How shells call other programs  
- Kernel exec vs. shell interpretation: The implication is that the shell reads the command and decides what to do. It's actually the kernel that makes a lot of the decisions. -

A ps problem with BBX  
- The actual problem related to BBX. Apparently this gets run with very long command lines, which could not be seen in 'ps' -

The Ancient Computer Time Machine  
- The Ancient Computer Time Machine MITS ALtair, SPS, Ancient Unix R5 -

The Linux Kernel Primer  
- I've been less than happy with other kernel books I've read. Admittedly,it's a difficult subject: there's a lot to cover, and you really need quite a bit of programming and general Unix knowledge before you could even consider jumping into this area. But I have the background, have even written simple Unix drivers, and yet every other kernel programming book has disappointed me. -

slabtop, /proc/slabinfo  
- If you ever noticed /proc/slabinfo, its contents surely mystified you. That documentation is as geeky as it gets. -

Performance Tuning for Linux Servers  
- I'm trying hard to like this more than I do. It's not that there isn't good stuff in here; there is. But I just can't get excited about it. -

SPID, threads in ps  
- The SPID column is the thread id. As far as I can tell, LWP and SPID are the same thing; I am not sure what the value of NLWP is; it appears to be just the count of threads. -

Realtime-Preempt for the Linux kernel.  
- The Linux kernel has always been somewhat preemptive, but with the 2.6 kernel there were big improvements aimed at making the kernel almost fully preemptive -

idle loop  
- It sounds silly, but really only is if you are thinking of the idle loop as something that does nothing beyond perhaps waiting to be interrupted by real work. -

bootlocore : out of low memory  
- bootlocore : out of low memory SCO Unix No memory for relocation information -

- /proc has become a maze of twisty passages with no real organization. Sysfs is supposed to be a structured representation of the kernel device model. -

- I recently had a confusing issue with trying to install an updated kernel on a machine I could only reach remotely. -

Controlling core files (Linux)   2011/11/06 TonyLawrence
- Control Linux core files with ulimit and /proc templates. -

Badram, Badmem, and Memtest86.bin  
- When you get almost-random stuff going wrong like that, and you know that your using what should be a fairly stable OS the likely culprit is going to be flaky hardware -

Microsoft proprietary information in SCO  
- What on earth could Microsoft have that is proprietary with tuning the SCO kernel? -

Rebuilding failed Linux software RAID   2011/10/26 kuntergunt
- Rebuild crashed Linux raid. Recently I had a hard drive fail. It was part of a Linux software RAID 1 (mirrored drives), so we lost no data, and just needed to replace hardware. However, the raid does requires rebuilding. A hardware array would usually automatically rebuild upon drive replacement, but this needed some help. -

IOMEGA REV Drive with Fedora Core 2  
- Unfortunately, that was a system I wanted to use the REV on. -

The future of Linux is getting uglier   2015/04/16 TonyLawrence
- Linux already flunks the purity test and it will get worse. Right now, we have Linus Torvalds - what happens when we do not? -

OpenBSD Security Techniques  
- Interesting set of slides showing what lengths OpenBSD does on top of their code auditing efforts they put into securing their operating system. -

Process scheduling  
- Process scheduling is obviously important on multi-user systems. It's also important on systems we use as individuals. For example, contrast the startup of my Mac OS X box and my wife's XP system. Both have certain programs set to start up at login, but they obviously handle the scheduling much differently. On the Mac, I can click into any process that has started and can use it while other programs are still starting. On XP, I can't: the other programs will command the CPU's attention until everything is running. -

- Computers screw up. You can have meaningless instructions, attempts to divide by zero, attempts to access non-existent memory, and more. -

- Mach is a microkernel system, which means that most of the features that are ordinarily within the kernel are instead separate servers - think of them as daemons, though they aren't necessarily running in user space. -

Reiser4 Filesystem  
- Reiser4 Filesystem was once poised to replace ext2, but most vendors turned to ext3 instead. -

amird driver, BDFLUSH and NAUTOUP, and more  
- New, very fast RAID controller, burt the customer say it is slower! Why? BDFLUSH and NAUTOUP are the culprints. -

Unix time, UTC, TAI and all that.  
- People have this funny idea that time measurements should be reliable: 24 hours in a day, 365 days in a year, and so on. -

Using clri to reset an inode problem  
- This is an interesting post about someone who had a directory entry pointing at an unallocated inode. Usually those things get fixed by the system itself when it reboots -

- A named pipe: write to it with one or more processes, read to it with another. All sorts of neat things become easier with a fifo. -

- Zombies result from errors or sloppy programming. A process forks, and execs a new process onto the fork. If that parent now dies or exits deliberately, you get a zombie. -

- The idea here is that RAM is tremendously faster than hard drives, so putting heavily accessed files into a ramdisk (a disk created in ram that looks like an ordinary disk drive to the OS) will be faster. In some cases, it may be. -

- A spurious interrupt is an interrupt the driver didn't expect. Briefly, devices such as disks, parallel ports, serial ports, etc. use interrupts to signal back to the cpu that they have completed the last task given them or that the device has recieved data. -

- These are the methods that device drivers on older Unix systems provide for functions that can't be accomplished through normal i/o. -

- Device files show up in long listings with two numbers where the size would ordinarily be. The first number is the major number for the device, and actually is simply an index into a table of memory addresses in your kernel. When you attempt to open /dev/tty, the kernel calls the code referenced by position one in its index. The second number (the minor number) is passed to that code as an argument. -

- What does 'not a typewriter' mean? What is a block device?'? What is a character device? -

Unixware and the Open Server Kernel Personality  
- Open Server Kernel Personality allows existing OpenServer 5.0.x applications to run unmodified under the UnixWare7 environment. -

- This sets limits on processes. It's well known, but I suspect many people only know it for setting the size of core files. It can actually control much more. -

Automated Kernel Recompilation  
- A script to automate kernel configuration, linking and installation. -

Hobby Operating Systems   2010/12/03 anonymous
- With the possible exception of OpenBeOS and Syllable/Atheos, there's nothing there that is particularly different. Where are the real radical ideas, like a pure virtual memory OS that only uses disks as backing store or perhaps a network os where everything is packet based? Oh, well: maybe one of these will ring your chimes: -

Understanding Threads  
- Threads are often described as lightweight processes, which is useful, but unless you understand ordinary Unix processes, that doesn't really tell you much. The traditional Unix model was fork and exec, which is "expensive" in terms of cpu time. However (and this is the part that often gets left out), that doesn't mean that fork and exec is "bad" and threads are "good": it depends upon what it is you need to accomplish. Even at that, there are other considerations, as we shall see. -

- This is always going to refer to some interupt driven driver. When the kernel gets an interrupt, the appropriate driver is called. As nothing else can happen while that event is being processed, it is important to get done and let the kernel get back to other work. -

- While computer folks will sometimes refer to binary numbers, binary is more apt to be a compiled executable. So the 'binaries' are all the executables that make up a program. -

More Kernel articles