|
| Foocha! is a non-profit Web site. We do it for kicks, not for cash. If you're interested in writing for the site, click here |
|
 |
| Nerd Up! 1,
1. OS? – I don’t want it! |
|
 |
 |
|
 |  |
 |  |
 |
My mother is the kind of person that easily could point to the monitor and say, "this is my computer
" and then point to the computer and say, "
and look what a small hard drive I’ve got". Her knowledge and skills have greatly improved though I must say. She now even knows the difference between MS Word and Windows, she easily copies files to floppies, works at home, surf the web. I certainly didn’t expect that just three years ago. Still, she lives in a graphical dream world where she really can’t understand what is happening just beneath the surface of the user interface. And every so often, she is upset by some unexpected behavior of her computer. I can’t really say that I’m always perfectly cool and happy in front of my screen. So far I have destroyed one keyboard and two mice, which is reasonably low over a period of fifteen years. With just some basic knowledge of how my computer works, I believe I can save my gear (read money), avoid aggression (read high blood pressure) and in its extension live longer and happier.
Battle of the Beasts
I believe all of us have one idea or two about what an Operating System (OS) is. We all know about the eternal struggle between the giants of home PC systems; Windows VS Mac is a battle that has been fought for soon over two decades, stretching from top management levels down to innumerous magazines and massive supporter groups (I believe we have a winner now though). New combatants are coming along though, just recently Linux became the buzzword of today and down the line we can see all kinds of potential competitors (set top-boxes running Java OS, new UNIX variants, game consoles close to PCs, etc). But just exactly what is the competition about? Why can Linux appear from nowhere (Finland to be more specific) and suddenly be a player that even Microsoft has to acknowledge? How can a future OS possibly replace the existing ones?
OS and Hardware
One thing that is confusing about computers and Operating Systems is the bundling of hardware and software. Most often when we say, "I use PC." We also tend to mean, "I use Windows." And perhaps even more extreme are the ones who say, "I use Mac" since that always implies "I use Macintosh OS". In the perfect world we sketch the hardware and software as:
Figure 1 - The perfect computer
- Applications The actual programs, the reason we own a computer. Operating system Is completely software. You hardly ever have the OS in the hardware. The OS is everything that is needed to let the applications interact with the hardware, the user, and each other. Hardware All that a computer consists of, motherboard, network card, sound card, video card, user interaction gadgets, peripheral controllers etc.
In this scenario, the OS would merely be the "glue"; the layer that enables the applications to talk to the hardware (and the user). But what we see happens all the time is that big OS vendors (no need to mention any), bundle in applications as part of the OS package. To a certain extent this is wanted, we do like to get apps that enables us to configure the OS and hardware in a user friendly way. We want to change the resolution of the screen, the look and feel of the widgets, the speaker volume of the modem, the acceleration of the mouse; All things that has something to do with the OS. Almost everything beyond that, like word processors, browsers etc must be considered redundant in this context, and should preferably not be confused or bundled with the OS.
Programming against the OS
From an application programmer’s point of view, the OS provides standardised ways of accessing and using the hardware in the computer. For example, in an application, such as Microsoft Internet Explorer, there is an obvious need to read mouse inputs. The mouse is used for almost everything such as clicking, scrolling etc. A mouse itself is a ball whose movements are read by small rollers. Another famous mouse-like input is the touch pad (or a track pad) where we have a grid of sensors rather than rollers. The impulses from these two ways of user input are likely to be quite different. Yet from the application point of view (from the programmer of IE’s point of view), it is expected to be the same; e.g. pointer movement and clicking. The OS does in this case interpret the different impulses to coordinates on the screen and from the programmer’s point of view a touch pad is equal to a mouse.
Mac on PC
So in fact what we have is a piece of software that interprets hardware language to a standardised application language. And in this sense, there is no real reason why you couldn’t run a Mac operating system on a PC. The only thing it would take is that the OS interprets the PC hardware way of talking into the Mac application way of talking. In fact, this has already been proven possible in 1992. That time Apple, Novell and Intel joined together in a hush-hush project, creating a version of the Mac OS existing then that ran on an Intel 80486 IBM machine. The result was quite spectacular, at a time when we all must agree that the Macintosh’s User Interface was far more sophisticated than the Windows 3.x one, it could have been possible to choose the superior one running on the cheaper hardware. For some reason, this never ended up in anything for the market (there are conspiracy theories about this one). And in 95 Microsoft released a piece of OS that could compete with the Mac. But the whole event thoroughly proved the fact that there is no real need to have hardware dedicated to one OS, even if the OS is Mac or Windows.
Next time
Next time I will discuss the structure of the OS itself. Head bending terms as device drivers and memory protection will be discussed as well as mind thrilling multitasking and window management.
Top Home |
|
 |
|
|