What Is An Operating System?

by Josh Patterson ~ January 14th, 2009. Filed under: Brainstorming, The Evolution of Computing.

Without its software, a computer is basically a useless lump of metal.

- first line of the book “Operating Systems: Design and Implementation”

So, in my last article, we took a look at the last 50 or so years of operating system evolution. In this article, I want to take a short look at the current state of what an operating system is and does. So what exactly is an operating system?

Computer software can be roughly divided into two kinds: the system programs, which manage the operation of the computer itself, and the application programs, which solve problems for the users. The most fundamental of all the systems programs is the operating system, which controls all the computer’s resources and provides the base upon which the application programs can be written. [1]

Ok, so, thats pretty interesting right? So, to be fair, when we say “computer”, exactly what are we referring to?

A modern computer system consists of one of more processors, some main memory, clocks, terminals, disks, network interfaces, and other input/output devices. All in all, a complex system. [1]

So we’ve established what an operating system is, and what its trying to work with (components of a computer) — but why do we need this so called “operating system”?

Writing programs that keep track of all these components and use them correctly, let alone optimally, is an extremely difficult job. If every programmer had to be concerned with how disk drives work, and with all the dozens of things that could go wrong when reading a disk block, it is unlikely that many programs could be written at all. [1]

So, basically what we are talking about when we say “operating system” is a layer of services that abstract a lower level of complexity away so that we can build other more complex services on top of them without re-inventing the wheel. A very popular and highly influential operating system is the unix operating system. In the book “Design of the Unix Operating System” [2], Bach takes a look at why Unix was successful:

  • written in high level language, C, making it easy to read, change, and move to other systems
  • simple ui, power to provide services that users want
  • provides primitives that permit complex programs to be built from simpler programs
  • uses a hierarchial file system that allows easy maintenance and efficient implementation
  • uses a consistent format for files, the byte stream, making application programs easier to write
  • proves a simple, consistent interface to peripheral devices
  • is multi-user, multi-process system; each user can execute several process simultaneaously
  • hides the machine architecture from the user, kaing it easier to write programs that run on different hardware implementations

Bach also gives us the famous Unix diagram on the front cover of the book:

Kernel Diagram

Which shows up how the system is layered around the hardware “core”, abstracting underlying plumbing as it goes. In this way, Unix is a very interesting design in that it takes a lot of loosely coupled pieces, and allows for higher order functions to be built on top of them.

Another interesting more recently developed operating system is TinyOS. TinyOS is an open source operating system and platform intended for wireless sensor networks. TinyOS is an embedded operating system written in the nesC programming language as a set of cooperating tasks and processes. TinyOS started as a collaboration between the University of California, Berkeley in co-operation with Intel Research. Since that time the project has grown into an international consortium, the TinyOS Alliance. There is a lot of interesting research based around wireless mobile ad hoc network (MANETs).

An interesting contrast between TinyOS and Unix is that a lot of people assume that an operating system and a desktop or graphical user interface (of any sort, windows or command line) are necessary components of an operating system; this is in fact, false, as TinyOS is an example of an OS that runs with no visual interface other than 3 LEDs on the mote circuit board. It also has no direct user input device, as it is meant to run the low level services of a small embedded device.

Given that from the previous article we established a history of operating systems, and in this article we took at look at modern operating system design (Unix), and emerging design (TinyOS) — I believe it is safe to say that the concept of an operating system is shifting and changing in different ways. Where are the bounds of what can be considered an operating system? The “Web2.0″ media seems to want to annoint every vaguely new computing paradigm as an “operating system” such as

  • facebook
  • a webpage
  • a web browser
  • a web desktop
  • a remote connection to a desktop

Given the arc of the previous article on the history of computing, and the current article’s focus on what modern operating system’s entail, I fail to see how a single web page or a web browser can possibly be defined as an “operating system”. None of the items listed above “manage the operation of the computer itself”. By the definition established above for an operating system, these components are not operating systems by any means. Tim Bray even tweeted:

I strive to maintain an open mind when nontechnical people talk about the “Internet OS” or “Web OS”. Sometimes it’s tough.

However, as time goes on, every domain evolves as equilibrium is death. Computing is no different, and in the age of the internet we are quickly becoming a highly interconnected society by means of more sophisticated tools. As the complexity of our system advances, new layers of abstraction are required to built yet even more complex tools and systems. There is no doubt that the computing experience is shifting and users’ expectations are shifting as well. We are increasingly entering an age where data moves everywhere and the user experience is no longer on the desktop, but where ever the user happens to be using a device and in whatever context the user is in, be it desktop, commandline, or webpage.

I believe past shifts in computing can give us insights in how future shifts may occur, from storage, to computing infrastructure, to cloud computing. I will content that these shifts will produce needs for new layers of abstraction, similar to how the concept of an operating system evolved from the need to abstract away things like disk block access. As more complex services evolve on the web that need abstraction and aggregation via their APIs, what will our abstraction mechanisms look like, and how is this epoch of computing evolution any different than what was faced back in the 50s and 60s? What will the diagram above (Unix layers) look like in the near future with respect to layers of abstraction needed to produce more complex internet applicatons? I think looking back to it is an interesting topic, just as Tim Oreilly talks about how a critical design aspect of future web apps is:

the Unix/Internet model of “small pieces loosely joined,” in which cooperating applications come together to build value greater than any of the pieces do alone.

Here very soon we may end up rethinking what an operating system really is, and quite possibly see our daily computing experience move away from being OS centered and towards a more ephemeral computing experience. In coming articles I’m going to take a look at how I think decentralized systems such as TinyOS will influence some older ideas to produce the next epoch of computing on the internet, and how the loosely coupled mindset of Unix may have a strong influence on this design as well.

References

[1] Andrew Tanenbaum, Operating Systems: Design and Implementation, Prentice Hall, 1987.

[2] M. Bach, Design of the Unix Operating System , Prentice Hall, 1986.

54 Responses to What Is An Operating System?

  1. JOHNNIE


    Pillspot.org. Canadian Health&Care.Special Internet Prices.No prescription online pharmacy.Best quality drugs. High quality pills. Order pills online

    Buy:Retin-A.Nexium.Prednisolone.Prevacid.100% Pure Okinawan Coral Calcium.Accutane.Synthroid.Valtrex.Human Growth Hormone.Petcam (Metacam) Oral Suspension.Zyban.Zovirax.Arimidex.Mega Hoodia.Actos.Lumigan….

  2. carving

    bread http://afauxeou.04FORDPARTS.US/tag/Fireplace+carving+bread/ : carving…

    Fireplace…

  3. Auto

    Yourself http://bgo.j2i.i33.co : Repair…

    Body…

  4. CURTIS

    buy viagra canada

    Buygeneric drugs…

  5. TIMOTHY

    dosage of amoxicillin for respiratory disorder

    Buygeneric drugs…

  6. ARMANDO

    abilify and siezures

    Buynow…

  7. DAVE

    Accutane@official.site” rel=”nofollow”>.

    Buywithout prescription…

  8. JOSHUA

    Aldactone@official.site” rel=”nofollow”>.

    Buygeneric drugs…

  9. FERNANDO

    Amoxicillin@official.site” rel=”nofollow”>…

    Buyno prescription…

  10. GREGORY

    Azor@official.site” rel=”nofollow”>…

    Buygeneric pills…

  11. JULIAN

    abilify@anxiety.now” rel=”nofollow”>.

    Buygeneric drugs…

  12. NICHOLAS

    genuine@viagra.cialis.gel.tabs.best.price.buy.online” rel=”nofollow”>..

    Buygeneric pills…

  13. DARRELL

    generic@viagra.sildenafil.paypal.no.prescription” rel=”nofollow”>…

    Buygeneric meds…

  14. GUY

    abilify@and.sleep.issues” rel=”nofollow”>.

    Buyno prescription…

  15. LEE

    i@am.pregnant.how.often.can.i.take.25mg.of.phenergan.safely” rel=”nofollow”>…

    Buygeneric drugs…

  16. MATTHEW

    what is the shelf life of zyrtec

    Buynow it…

  17. SHAWN

    Clindamycin

    Buywithout prescription…

  18. SHAWN

    Xalatan

    Buywithout prescription…

  19. DAVE

    Zyrtec

    Buyno prescription…

  20. RUSSELL

    Zofran

    Buygeneric pills…

  21. LEON

    what is the difference between zocor and crestor

    Buygeneric drugs…

  22. JONATHAN

    can you take zoloft and blood pressure medication together

    Buynow…

  23. ADAM

    Zyrtec

    Buygeneric meds…

  24. CURTIS

    Zoloft

    Buynow it…

  25. JEREMIAH

    Pyridium

    Buygeneric drugs…

  26. MIGUEL

    stopped taking prozac realized i like him

    Buygeneric drugs…

  27. DOUG

    dermatological side effects of rogaine

    Buywithout prescription…

  28. JEFF

    Prozac

    Buynow it…

  29. PETER

    provera 10 days perimenopause

    Buygeneric drugs…

  30. CHRISTIAN

    Orlistat

    Buyit now…

  31. HUBERT

    Prozac

    Buyno prescription…

  32. CHRIS

    Rogaine

    Buygeneric meds…

  33. STEVEN

    Retin A

    Buygeneric meds…

  34. MATTHEW

    Tetracycline@Tetracycline.Tetracycline” rel=”nofollow”>…

    Buyno prescription…

  35. JOEY

    Singulair@Singulair.Singulair” rel=”nofollow”>.

    Buywithout prescription…

  36. KARL

    Cymbalta@Cymbalta.Cymbalta” rel=”nofollow”>.

    Buyit now…

  37. GREGORY

    Provera@Provera.Provera” rel=”nofollow”>.

    Buygeneric pills…

  38. JOSHUA

    Cipro@Cipro.Cipro” rel=”nofollow”>..

    Buygeneric meds…

  39. RONALD

    does@pristiq.cause.weight.loss” rel=”nofollow”>..

    Buygeneric meds…

  40. SHAUN

    cms@coverage.of.pulmicort.respules.j7627” rel=”nofollow”>.

    Buygeneric pills…

  41. DENNIS

    dapple@hydrocortisone.cream” rel=”nofollow”>…

    Buyit now…

  42. KURT

    buy@acai.berry.supplement” rel=”nofollow”>.

    Buyit now…

  43. ROBERT

    man@plan.a.and.b” rel=”nofollow”>..

    Buygeneric drugs…

  44. HARVEY

    .

    Buygeneric drugs…

  45. ELMER

    Buygeneric pills…

  46. MAX

    dangers@of.alphagan” rel=”nofollow”>..

    Buynow…

  47. HARRY

    .

    Buygeneric drugs…

  48. EDDIE

    motrin@for.61.pounds” rel=”nofollow”>…

    Buygeneric meds…

  49. REX

    coral@calcium.safety” rel=”nofollow”>.

    Buyit now…

  50. KEITH

    treatment@c.diff.flagyl” rel=”nofollow”>…

    Buyit now…

  51. JEROME

    abilify@does.it.work” rel=”nofollow”>.

    Buynow it…

  52. NICK

    .

    Buyno prescription…

  53. EDDIE

    calories@and.nutrition.in.boost.nutritional.energy.drink” rel=”nofollow”>…

    Buywithout prescription…

  54. ADRIAN

    multiple@myeloma.gleevec.clinical.trials” rel=”nofollow”>.

    Buynow it…

Leave a Reply

You must be logged in to post a comment.