General Development Archive

Programming Languages Will Become OSes (But Are Not Quite Yet)

A couple of months ago, at the Lightweight Languages Workshop 2002, Matthew Flat made a premise in his talk: Operating system and programming language are the same thing (at least "mathematically speaking"). I find this interesting and has a lot of truth in it. Both OS and PL are platforms on which other programs run. Both are virtualizing machines. Both make it easier for people to write applications (by providing API, abtractions, frameworks, etc.)

Advanced Linux file Systems are Bigger, Faster, and More Reliable

"The file system is one of the most important parts of an operating system. The file system stores and manages user data on disk drives, and ensures that what's read from storage is identical to what was originally written. In addition to storing user data in files, the file system also creates and manages information about files and about itself." Read the long article by JFS' own Steve Best.

Context Switching, Part 2

This article looks at two behaviors of the scheduler. The first behavior is the reaction to adding more choices to the scheduler's switching decision. The second demonstrates fairness by performing a uniform workload in multiple threads. Source code is provided so you can experiment. Last month's column looked at bare context switch times by using the best primitives on both Windows and Linux. According to those results, context switch time under Windows takes only half as long as under Linux.

Open Source Year in Review

News.com has published a 2002 in Review piece on the open source segment of the technology industry. Open source had a very good year in 2002, even as (or perhaps because) the rest of the industry suffered financially. Linux made strides in adoption at large companies and saw some major improvements in power and usability, Open Office became usable, Microsoft started to get scared, and Sun finally succumbed to "if you can't beat 'em, join 'em." Most of all, even though scores of small companies went out of business as venture funding from the last millennium finally ran out, Open Source software is still around, and flourishing.

Get a Taste of Bochs 2.0

Bochs, the x86 emulator, will celebrate its version 2.0 soon. Changes include: CPU optimizations boost simulation speed by around 2x, Bochs now supports up to 8 hard drives, or 8 CDROMs, or any combination, added support for the AMD x86-64 instruction set used in their Hammer processor, added support for MMX instructions, added support for SSE and SSE2 instructions, remote GDB stub support.

Visual Studio .Net Enters Final Beta Phase

Microsoft Corp. last week announced the final beta of its Visual Studio .Net 2003 product -formerly known by the code name Everett- and released its .Net Compact Framework. New features include: Availability of .Net Compact Framework, Improved scalability with support for up to 32 processors, Improved performance, Support for new Web services specifications: WS-Security, WS-Routing and WS-Attachments, 98 percent conformance with the International Organization for Standardization's C++ standard, Integration of Visual J#.

Intel Releases Version 7.0 Compiler Suite

Intel released its version 7.0 compiler suite for Linux and Windows, for the x86 and Itanium1/2 architectures. Optimizations include support for SSE2 in the Pentium 4 CPU and software pipelining in the Itanium1/2 CPUs. Inter-procedural optimization (IPO) and profile-guided optimization (PGO) can provide greater application performance. Intel Compilers support multi-threaded code development and optimization through the Auto-Parallelism feature and OpenMP 2.0 support. Intel claims that the new version of their compilers are now much more compatible with Linux code (including the GCC C++ ABI) and that they also outperform GCC 3.2 by 30% at the produced executables. There is a 30-day evaluation version for everyone to try out.

Moving from Windows to Linux with Kylix 3

One of the great things about using tools and databases such as Borland Delphi 7 Studio and IBM DB2 Universal Database is that moving between platforms is only a matter of a few changes and a recompile. This article shows how to move a functional application from a Delphi 7 application running on Microsoft Windows to a Linux application using Borland Kylix 3. This article also goes over DB2 on Linux and minor source code changes.

Advanced filesystem implementor’s guide, Part 13

In the Advanced filesystem implementor's guide, Daniel Robbins shows you how to use the latest filesystem technologies in Linux 2.4. In this conclusion to the AFIG series, Daniel continues his discussion of the Enterprise Volume Management System for Linux, or EVMS. He shows you how to use evmsn to take a new hard drive, partition it, and create LVM volumes on it. Along the way, he fills you in on important EVMS concepts that you'll find essential as you continue your exploration of this powerful technology.