Introduction to Operating System (Prelims) Flashcards
This utilizes hardware resources of one or more processors to provide a wide range of services to system users.
Operating System (OS)
Objectives of an Operating System
- Makes a computer convenient to use
- Allows computer resources to be utilized in an efficient manner
- Support the development, testing, and implementation of new software applications
The OS provides a variety of facilities and services in the form of utility programs, such as editors and debuggers, for program development, which is also referred to as application program development tools.
Program Development
The OS handles different processes, such as loading data into the memory and scheduling, which must be performed to execute programs.
Program Execution
Controls access to the whole system and to some specific system resources through access functions and authorizations.
System resource access
The OS provides a uniform interface that hides complex sets of instructions for I/o devices’ operation.
Access to I/O devices
Encompasses a detailed understanding of the structure of data contained in a file storage and can provide some protection mechanisms to control file access.
Control access to files
Can detect errors, such as device failure and software errors, and provide appropriate responses that would clear the error condition with the least impact on running applications.
Error detection and response
Must be able to collect usage statistics from various processes, such as response time, that can be used as a basis for system performance improvements.
Performance parameter monitoring
Defines the collection of machine language instructions that a computer can follow.
Instruction Set Architecture (ISA)
Defines a standard for binary portability across program. It defines the system call interface to the OS and the hardware resources and services available to in a system through the ISA.
Application Binary Interface (IBA)
Is composed of instructions executed by the processor. During the instruction execution, it decides how processor time is allocated, and which computer resources are available resource for use. It being as a resource manager, can be described as a computer software.
Operating System (OS)
Two main problems of serial processing:
- Scheduling
- Set-up time
Allows a program to the hardware resources and services available in a system through that ISA, supplemented with high-level language library calls. Enables easier porting of application software.
Application Program Interface (API)
From 1940s to 1950s, programmers interact directly with the with computer hardware since OS are not available yet. Computers are run from a console consisting of display lights, toggle switches, an input device, and a printer.
Serial Processing
Installations used a hardcopy sign-up sheet to reserve computer time. A user could sign up for an allocated block of time but is unable to maximize the allocation. Thus, resulting in wasted computer processing time.
Scheduling
Running a single program, called a “job,” required multiple steps like loading and unloading tapes and organizing card decks. If an error happened, the user had to start the whole setup process from the beginning. This meant a lot of time was spent preparing the program before it could actually run.
Set-up time
To improve processor utilization, this concept was developed in the mid-1950s by the General Motors Research Laboratories. It processed jobs in bulk, with predetermined input from the files or other data resources. The main idea behind this is the utilization of a piece of program known as the monitor or resident monitor.
Simple Batch Systems
A more sophisticated compared to single-programmed systems. Several ready-to-run jobs must be kept in the main memory, requiring some form of memory management.
Multi-programmed Batch Systems
Multiple users simultaneously access the system through terminals with the operating system interleaving the execution of each user program in a short burst time or quantum computation.
Time-sharing Systems
It was one of the first time-sharing operating systems that was developed. It was developed at the MIT by group Project MAC, for the IBM 709 computer system
Compatible Time-sharing System (CTSS)
The four (4) major theoretical advances in the development of operating systems:
- Processes
- Memory management
- Information protection and security
- Scheduling and resource management