Beruflich Dokumente
Kultur Dokumente
hardware
Operating system goals:
Execute user programs and make solving user problems easier Make the computer system convenient to use Use the computer hardware in an efficient manner
1.2
1.3
CPU, memory, I/O devices Controls and coordinates use of hardware among various applications and users
Operating system
Application programs define the ways in which the system resources are used to solve the computing problems of the users
Word processors, compilers, web browsers, database systems, video games People, machines, other computers
Users
1.4
1.5
Definition
An operating system is a program that manages the
computer hardware. It also provides a basis for application programs and act as intermediary between computer user and the computer hardware.
1.6
Manages all resources Decides between conflicting requests for efficient and fair resource use Controls execution of programs to prevent errors and improper use of the computer
OS is a control program
1.7
System Software
System Software Independent of applications, but common to all Examples
C library functions A window system A database management system Resource management functions
1.8
Wikipedia says
System software is computer software designed to operate the computer hardware and to
operate and control the hardware connected to or built into the computer.
The operating system (prominent examples being Microsoft Windows, Mac OS X and Linux),
which allows the parts of a computer to work together by performing tasks like transferring data between memory and disks or rendering output onto a display device. It also provides a platform to run high-level system software and application software.
Servers, in this context, are computer programs running to serve the requests of other
programs, the "clients". The server performs some computational task on behalf of clients which may run on either the same computer or on other computers connected through a network.
1.9
Utility software, which helps to analyze, configure, optimize and maintain the computer. Window systems are components of a graphical user interface (GUI), and more specifically
of a desktop environment, which supports the implementation of window managers, and provides basic support for graphics hardware, pointing devices such as mice, and keyboards. The mouse cursor is also generally drawn by the windowing system.
In some publications, the term system software is also used to designate software
1.10
Purpose of OS
Purpose of an OS
Memory Space on a disk The CPU An OS creates resource abstractions An OS manages resource sharing
1.11
An abstraction is software that hides lower level details and provides a set of higherlevel functions. An operating system transforms the physical world of devices, instructions, memory, and time into virtual world that is the result of abstractions built by the operating system. There are several reasons for abstraction.
First, the code needed to control peripheral devices is not standardized. Operating systems provide subroutines called device drivers that perform operations on behalf of programs for example, input/output operations. Second, the operating system introduces new functions as it abstracts the hardware. For instance, operating system introduces the file abstraction so that programs do not have to deal with disks.
1.12
Ctd
Third, the operating system transforms the computer hardware into multiple virtual computers, each belonging to a different program. Each program that is running is called a process. Each process views the hardware through the lens of abstraction. Fourth, the operating system can enforce security through abstraction.
1.13
Ctd
To allocate resources to processes (Manage resources)
An operating system controls how processes (the active agents) may access resources (passive entities).
Provide a pleasant and effective user interface
The user interacts with the operating systems through the user interface and usually interested in the look and feel of the operating system. The most important components of the user interface are the command interpreter, the file system, on-line help, and application integration. The recent trend has been toward increasingly integrated graphical user interfaces that encompass the activities of multiple processes on networks of computers
1.14
Computer Startup
bootstrap program is loaded at power-up or reboot
Typically stored in ROM or EPROM, generally known as firmware Initializes all aspects of system Loads operating system kernel and starts execution
1.15
Single user cannot keep CPU and I/O devices busy at all times Multiprogramming organizes jobs (code and data) so CPU always has one to execute A subset of total jobs in system is kept in memory One job selected and run via job scheduling When it has to wait (for I/O for example), OS switches to another job
Timesharing (multitasking) is logical extension in which CPU switches jobs so frequently that users can interact with each job while it is running, creating interactive computing
1.16
1.17
Batch Processing:
In Batch processing same type of jobs batch (BATCH- a set of jobs
1.18
punches.
Users did not interact directly with the computer systems, but he
prepared a job (comprising of the program, the data, & some control information).
OS
1.19
Multiprogramming:
Multiprogramming is a technique to execute number of programs
a time.
The OS picks and begins to executes one of the jobs in the main
memory.
If any I/O wait happened in a process, then CPU switches from that
1.20
Multiprogramming (Contd):
OS Job 1 Job 2 Job 3 Job 4 Job 5
Figure depicts the layout of multiprogramming system.
The main memory consists of 5 jobs at a time, the CPU executes one by one. Advantages: Efficient memory utilization Throughput increases CPU is never idle, so performance increases.
1.21
multiprogramming.
Multiple jobs are executed by switching the CPU between them. In this, the CPU time is shared by different processes, so it is called
processes.
Examples: Multics, Unix, etc.,
1.22
1.23
1.24
1.25
1.26
Process
the program to be executed, the data on which the program will execute, the resources required by the programsuch as memory and file(s)and the status of the execution.
1.27
End of Chapter 1