Operating Systems

Reference: textbook Chapter 1  

An operating system (abbreviated as "OS") is the program that, after being initially loaded into the computer, manages all the other programs in a computer. The OS gets loaded from disk when the computer is powered up by the boot prom (programmable read only memory). The boot prom contains the microprocessor instructions to start loading the OS into main storage. The boot prom then gives control to the OS that then completes the boot process.

 The other programs on the computer are called applications. The applications make use of the operating system by making requests for services through a defined application program interface. In addition, users can interact directly with the operating system through an interface such as a command language. An example is issuing the Unix ls command to display files.

 An operating system performs these services for applications:

·         It handles input and output to and from attached hardware devices, such as hard disks, printers, and dial-up ports.

·         In multitasking operating systems where multiple programs can be running at  the same time, the operating system determines which applications should run in what order and how much time should be allowed for each application before giving another application a turn.

·         It manages the sharing of internal memory among multiple applications.

·         It sends messages to the applications or interactive user (or to a system operator) about the status of operation and any errors that may have occurred.

·         It can offload the management of what are called batch jobs (for example, printing) so that the initiating application is freed from this work.

·         On computers that can provide parallel processing, an operating system can manage how to divide the program so that it runs on more than one microprocessor at a time.

 All computer platforms require an operating system. Linux, UNIX, Windows xx,  Sun Solaris,  and OS/390 are all examples of operating systems.

 

Platforms

A platform is an underlying computer system (hardware and software) on which application programs can run. On personal computers, Windows  and the Macintosh are examples of two different platforms. On mainframes, IBM's

 System/390 is an example of a platform.

 

 A platform consists of an operating system, and the hardware. The hardware consists of the microprocessor, main storage, data bus and attached I/O devices (disks, display, keyboard, etc.). The operating system must be designed to work with the particular microprocessor's set of instructions. As an example, Microsoft's Windows  is built to work with a series of microprocessors from the Intel Corporation that share the same or similar sets of instructions.

 

 Most application programs have had to be written to run on a particular platform. Each platform provided a different application program interface for different system services. Thus, a PC program would have to be written to run on the Windows platform and then again to run on the Macintosh platform.

 

There are three categories of platforms:

  1. Mainframe
  2. Midrange (or server)
  3. Workstation

 

 Mainframe is an industry term for a large computer, typically manufactured by a large company such as IBM for the commercial applications of Fortune 1000 businesses and other large-scale computing purposes. Mainframes are also used for scientific or business problems that require immense computational power, such as weather forecasting. Historically, a mainframe is associated with centralized rather than distributed computing. Today, IBM refers to its larger processors as large server and emphasizes that they can be used to serve distributed users and smaller servers in a computing network. The operating system is now called Z/OS (previously called OS/390 or MVS).

 

Midrange platforms have less computational power than mainframes, but usually come  with excellent communications facilities so that they can act as servers. A server is a computer that provides a service for workstations. Typical services are remote files, databases, and web pages. Sun, Hewlett Packard, and IBM are the dominant manufacturers for servers. The dominant operating system is Unix.

 

 A workstation is a computer intended for individual use that can also be connected to servers. Among the most successful makers of workstations are Sun, Dell, and Hewlett-Packard. Windows is the dominant operating system.

 

This is a chart of platforms. For unique operating systems for that hardware, the manufacturer name is followed by the operating systems in parentheses. Note that there are versions of Linux and Unix that work on almost all hardware available. 

 

Mainframe          IBM(OS/390) 

 

Midrange            Sun(Solaris)    IBM(AS/400)     Hewlett Packard

(server)

 

Workstation       Intel(Windows)  Apple(Macintosh) Intel(Linux)

 

Note that there is overlapping capabilities between platform types: a Windows NT workstation can perform as a server; an IBM mainframe can perform as a server; high end mid-range computers can have the processing capabilities of low end mainframes, and the same is true of workstations and mid-range computers. There are versions of the Linux operating system for all platforms.

Operating System Terminology

 

Multitasking: the ability of an OS to support multiple programs simultaneously. For example, in Windows, you can have multiple Windows open, executing a spreadsheet, printing a document, sending e-mail all at the same time.

 

Time slicing: There is really only one microprocessor running the work station. Therefore multitasking is simulated by time slicing. Each task (called a process or thread) is given a time slice of the microprocessor cycles. When its time slice is up, the task is suspended and the microprocessor executes the next task in line. Because microprocessors are so fast (the typical work station has a microprocessor with a speed of over 2 Ghz), program execution of multiple programs appears to be simultaneous to the user.

 

Single user system: A personal computer or workstation intended to serve one person at a time. Most PCs used as a single user system run a version of Windows for the operating system.

 

Multiuser system: A system that has multiple workstations connected to it (or can be accessed via a local area network or internet by many users). CSLAB is an example of a multiuser system. Most multiuser systems run Unix (or Linux) as the operating system.

 

Client/Server: The server provides a resource (printer, database, communications etc.) to clients. Servers centralize resources providing better security, access, fault tolerance.

 

Processes/Threads: (reference: textbook Chapter 8) Every program is a process to the operating system. A process is a task that competes for execution time on the microprocessor, and has resources (memory, disk files etc.). Each process is a separately executable unit of code that executes independently and competes for system resources with other processes. Unix (and Linux, Windows) allow a program to execute multiple threads of execution. One program can create independent threads (via the fork command in Unix). Threads share the resources of the parent process, but execute independently of each other, and the parent process. You may want to do this to share data structures, files, or other resources owned by a program. An example may be a program that has separate threads for receiving requests from the Internet, accessing different databases or files, and processing the requests. 

 

Virtual memory: Virtual memory is a computer design feature that permits software to use more main memory (the memory which the CPU can read and write to directly) than the computer actually physically possesses. Memory is divided into fixed-size pages (typically 4000 bytes). When memory is completely full and a program needs more memory, the OS does a page swap: it swaps a page of memory with a page on disk, typically selecting the least recently used memory page to swap to disk. Virtual memory allows programs to be written with memory requirements that exceed the physical memory available, and it allows programs to run simultaneously even when their combined memory requirements exceed the physical memory.

Operating System Examples

OS/390 (MVS)

 

 OS/390 is the IBM operating system most commonly installed on its S/390 line of mainframes. It is an evolved and renamed version of MVS (Multiple Virtual Storage), IBM's long-time, robust mainframe operating system. By whatever name, MVS

 has been said to be the operating system that keeps the world going. The payroll, accounts receivable, transaction processing, database management, and other programs critical to the world's largest businesses are usually run on an MVS system. Although

 MVS tends to be associated with a monolithic, centrally-controlled information system, IBM has in recent years repositioned it as a "large server" in a network-oriented distributed environment.

 

 Since MVS represents a certain epoch and culture in the history of computing and since many older MVS systems still operate, the term "MVS" will probably continue to be used for some time. Since OS/390 also comes with Unix and programming interfaces

 built in, it can be used as both an MVS system and a UNIX system at the same time. OS/390 (and earlier MVS) systems run older applications developed using COBOL, PL/I, and Fortran. DB2 is IBM's  database application for mainframes. The latest release of OS/390 is called Z/OS.

UNIX

Reference: textbook Chapter 1

UNIX is an operating system that originated at Bell Labs in 1969. Unix became the first operating system written in the C language. UNIX has evolved as a kind of large freeware product, with many extensions and new ideas provided in a variety of versions of UNIX by different companies, universities, and individuals. Partly because it was not a proprietary operating system owned by any one of the leading computer companies and partly because it is written in a standard language and embraced many popular ideas, UNIX became the first open or standard operating system that could be improved or enhanced by anyone.

 

 UNIX operating systems are used in workstation products from Sun Microsystems, Silicon Graphics, IBM, and a number of other companies. The UNIX environment and the client/server program model were important elements in the development of the Internet and the reshaping of computing as centered in networks rather than in individual computers. Linux, a UNIX derivative available in both "free software" and commercial versions, is increasing in popularity.

 

The major components of UNIX (and Linux):

  • Kernel
  • Shell
  • File System
  • Utilities (commands)

 

The master control program that is the interface to the hardware is called the kernel. It manages the system resources.

 

The shell interprets user and program commands and passes them to the kernel. There are a number of different shells. You can switch shells by executing the shell program. The default shell used on CSLAB is called TCSH (a version of the C shell). Other shells that can be used are the Bourne shell, Korn shell and C shell. You can switch shells at the command prompt (if the shell is available on your system). The shell has a built-in programming language that can be used for some programming tasks (explained later).

 

The file system manages Unix files (discussed later).

 

Utilities are useful software tools included with Unix. Utilities are also called commands. 

Linux

 

 Linux (pronounced LIH-nuhks with a short "i") is a UNIX-like operating system that was designed to provide personal computer users a free or very low-cost operating system comparable to traditional and usually more expensive UNIX systems. Linux has a reputation as a very efficient and fast-performing system. Linux's kernel (the central part of the operating system) was developed by Linus Torvalds at the University of Helsinki in Finland.

 

 Linux is a remarkably complete operating system, including a graphical user interface, an X Window System, TCP/IP, the Emacs editor, and other components usually found in a comprehensive UNIX system.

 Unlike Windows and other proprietary systems, Linux is publicly open and extendible by contributors. Linux comes in versions for all the major microprocessor platforms including Intel and Apple. It's also available on IBM's S/390.

 

 Linux is sometimes suggested as a possible publicly-developed alternative to the desktop predominance of Microsoft Windows. Although Linux is popular among users already familiar with UNIX, it remains far behind Windows in numbers of users.

Macintosh

 

 The Macintosh (often called "the Mac"), introduced in 1984 by Apple Computer, was the first widely-sold personal computer with a graphical user interface (GUI). The Mac was designed to provide users with a natural, intuitively understandable, and, in general,

 "user-friendly" computer interface. Macintosh was the first operating system to effectively use the mouse, the use of icons or small visual images to represent objects or actions, the point-and-click and click-and-drag actions, and a number of window operation ideas. Microsoft was successful in adapting user interface concepts first made popular by the Mac in its first Windows operating system.

 

 The Macintosh has its own operating system, Mac OS. The Mac is actually a line of personal computers, configured for individual users and businesses with different needs.

 While Mac users represent only about 5% of the total numbers of personal computer users, Macs are highly popular and almost a cultural necessity among graphic designers and online visual artists and the companies they work for. In general, Mac users tend

 to be enthusiasts.

 

Windows

 

Windows is the generic name for Microsoft’s family of operating systems that dominate the workstation and PC markets. It has the now familiar multiple windows format. All Windows versions have the same familiar desktop user interface. The latest release from Microsoft is Windows XP.

History of Workstation Operating Systems

In 1981, IBM announced the IBM PC based on the Intel microprocessor, with two operating systems available:

Ÿ         CPM

Ÿ         DOS

CPM was the superior operating system at that time, and IBM charged for it. DOS was an entry level OS provided for free. IBM contracted with Microsoft to supply DOS. Because of the price differential, DOS became dominant on the PC, as the IBM PC became the standard for business workstations.

 

In 1984, Apple introduced the Macintosh OS. This was a revolutionary graphical OS that had a mouse, and the concept of the desktop and windows. IBM gave the rights to DOS to Microsoft, and in conjunction with Microsoft, developed a multitasking OS called OS/2, released in 1987. Microsoft copied the superior user interface of Macintosh as a layer on top of DOS, and called it Windows.

 

Despite the technical superiority of OS/2, the friendlier user interface of Windows led users to prefer it, and software developers to supply programs for it. This produced a “snowball effect” that led to the dominance of Windows in the marketplace. With Windows 95, it finally caught up to the technical features of OS/2.