This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: CSCI 120 Introduction to Computation Operating System (draft) Saad Mneimneh Visiting Professor Hunter College of CUNY 1 Introduction So far, we have studied computation from different perspectives, starting from its abstract nature and the design of algorithms all the way to the physical is- sues involving the electronic representation (bits) and the computer architecture required to carry out the computation. We identified essential components of such an architecture including the CPU, the control unit, the ALU, the regis- ters, the instruction set, main memory, cache memory, the bus, I/O controllers, I/O ports, input and output devices, and mass storage devices. We have also experienced how to write small programs that perform useful operations using the native instruction set, and we have seen some of the programming con- structs that a high level programming language would offer to simplify the task of programming, such as functions, loops, conditionals, recursion, etc... Now we ask, what makes everything work together? Who is responsible for coordinating the overall operation of a computer? The answer is the operating system . The operating system is a software program that is loaded into main memory when the computer first starts. This program provides means by which a user can store and retrieve files, provides the interface by which a user can request the execution of other programs, and provides the environment neces- sary to execute these programs. Examples of operating systems are Windows, MacOS, Unix, and Linux. 2 History of operating systems In the 1940s and 1950s, computers were not very flexible or efficient. The machines occupied entire rooms, and the program execution required significant preparation of equipments, including the following: • mounting and connecting magnetic tapes and mass storage devices • placing punched cards to input the program • setting switches depending on the program requirements For this reason, the execution of each program, also called a job, was handled as an isolated activity. Therefore, computers of that time performed only one job at a time. All the tapes, punched cards, and printed results are then retrieved. Because multiple users needed to share the machine, sign up sheets were provided so that users can reserve the machine for blocks of time. However, when allocated to a user, the machine was under the total control of that user (no one else can do anything during that time). In such a single user environment, the operating system started as an effort to simplify program set up and hence ease the transition between users. 2.1 Batch processing The first step was to separate the users from the equipments and to eliminate the physical transfer of people in and out of the computer room. This was achieved by hiring a computer operator to operate the machine. Users submit their jobs to the operator with the required data and some direction about the program requirements, then return for their results. The operator in turn loadsprogram requirements, then return for their results....
View Full Document
This note was uploaded on 03/27/2010 for the course CSCI 120 taught by Professor Saadmneimneh during the Spring '09 term at CUNY Hunter.
- Spring '09