<< Chapter < Page Chapter >> Page >

In addition to the allow/disallow model of security, a system with a high level of security will also offer auditing options. These would allow tracking of requests for access to resources (such as, "who has been reading this file?").

Security of operating systems has long been a concern because of highly sensitive data held on computers, both of a commercial and military nature. The United States Government Department of Defense (DoD) created the Trusted Computer System Evaluation Criteria (TCSEC) which is a standard that sets basic requirements for assessing the effectiveness of security. This became of vital importance to operating system makers, because the TCSEC was used to evaluate, classify and select computer systems being considered for the processing, storage and retrieval of sensitive or classified information.

Operating systems market share 2007

Questions to ask about operating systems.

Why are operating systems important?

  • They consume more resources than any other program.

They may only use up a small percentage of the CPU time, but consider how many machines use the same program, all the time.

  • They are the most complex programs.

They perform more functions for more users than any other program.

  • They are necessary for any use of the computer.

When "the (operating) system" is down, the computer is down. Reliability and recovery from errors becomes critical.

  • They are used by many users.

More hours of user time is spent dealing with the operating system. Visible changes in the operating system cause many changes to the users.

[1] [link] (External Link)&qpmr=15&qpdt=1&qpct=3&qptimeframe=M&qpsp=101

Why are operating systems difficult to create, use, and maintain?

  • Size - too big for one person

Current systems have many millions lines of code. Involve 10-100 person years to build.

  • Lifetime - the systems remain around longer than the programmers who wrote them.

The code is written and rewritten. Original intent is forgotten (UNIX was designed to be cute, little system - now 2 volumes this thick). Bug curve should be decreasing; but actually periodic - draw.

  • Complexity - the system must do difficult things.

Deal with ugly I/O devices, multiplexing-juggling act, handle errors ( hard! ).

  • Asynchronous - must do several things at once.

Handles interrupts, and must change what it is doing thousands of times a second - and still get work done.

  • General purpose - must do many different things.

Run Doom, Java, Fortran, Lisp, Trek, Databases, Web Servers, etc. Everybody wants their stuff to run well.

History of operating systems

  1. Single user (no OS).
  2. Batch, uniprogrammed, run to completion.
    • The OS now must be protected from the user program so that it is capable of starting (and assisting) the next program in the batch.
  3. Multiprogrammed
    • The purpose was to overlap CPU and I/O
    • Multiple batches
      • IBM OS/MFT (Multiprogramming with a Fixed number of Tasks)
        • OS for IBM system 360.
        • The (real) memory is partitioned and a batch is assigned to a fixed partition.
        • The memory assigned to a partition does not change.
        • Jobs were spooled from cards into the memory by a separate processor (an IBM 1401). Similarly output was spooled from the memory to a printer (a 1403) by the 1401.
      • IBM OS/MVT (Multiprogramming with a Variable number of Tasks) (then other names)
        • Each job gets just the amount of memory it needs. That is, the partitioning of memory changes as jobs enter and leave
        • MVT is a more “efficient” user of resources, but is more difficult.
        • When we study memory management, we will see that, with varying size partitions, questions like compaction and “holes” arise.
    • Time sharing
      • This is multiprogramming with rapid switching between jobs (processes). Deciding when to switch and which process to switch to is called scheduling.
      • We will study scheduling when we do processor management
  4. Personal Computers
    • Serious PC Operating systems such as linux, Windows NT/2000/XP and (the newest) MacOS are multiprogrammed OSes.
    • GUIs have become important. Debate as to whether it should be part of the kernel.
    • Early PC operating systems were uniprogrammed and their direct descendants in some sense still are (e.g. Windows ME).

Operating systems are an unsolved problem.

Most of OS do not work very well, it crash too often, too slow, awkward to use, etc. Usually they do not do everything they were designed to do. They do not adapt to changes very well, e.g new devices, processors, applications. There are no perfect models to emulate.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Operating systems. OpenStax CNX. Aug 13, 2009 Download for free at http://cnx.org/content/col10785/1.2
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Operating systems' conversation and receive update notifications?

Ask