Professional Documents
Culture Documents
INTRODUCTION TO
OPERATING SYSTEMS
- ANIKET KORE
TOPICS TO BE COVERED
• Operating systems are those programs that interface the machine with the
applications programs.
• The main function of these systems is to dynamically allocate the shared system
resources to the executing programs.
• As such, research in this area is clearly concerned with the management and
scheduling of memory, processes, and other devices.
• Computer system can be divided into four components
1. Hardware – provides basic computing resources
• CPU, memory, I/O devices
2. Operating system
• Controls and coordinates use of hardware among various applications and users
3. 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
• OS controls and coordinates use of h/w among various application programs.
4. Users
• People, machines, other computers
COMPUTER HARDWARE AND SOFTWARE
INFRASTRUCTURE
a set of
system
programs
implement
frequently
used functions
that assist in
program
creation, the
management
of files, and
the control of
I/O devices
FEATURES OF OPERATING SYSTEM
Operating system has the following features:
1. Convenience: An OS makes a computer more convenient to use.
2. Efficiency: An OS allows the computer system resources to be used efficiently.
3. Ability to Evolve: An OS should be constructed in such a way as to permit the
effective development, testing, and introduction of new system functions at the
same time without interfering with service.
4. Throughput: An OS should be constructed so that It can give
maximum throughput (i.e. Number of tasks per unit time).
MAJOR FUNCTIONALITIES OF OPERATING
SYSTEM
1. Resource Management: When parallel accessing happens in the OS, means when
multiple users are accessing the system, the OS works as Resource Manager. Its
responsibility is to provide hardware to the user and decrease the load in the
system.
2. Process Management: It includes various tasks like scheduling and termination of
the process. It is done with the help of CPU Scheduling algorithms.
3. Program development: The OS provides a variety of facilities and services, such
as editors and debuggers, to assist the programmer in creating programs.
Typically, these services are in the form of utility programs that, while not strictly
part of the core of the OS, are supplied with the OS and are referred to as
application program development tools.
4. Program execution: A number of steps need to be performed to execute a
program. Instructions and data must be loaded into main memory, I/O devices and
files must be initialized, and other resources must be prepared. The OS handles
these scheduling duties for the user.
5. Access to I/O devices: Each I/O device requires its own peculiar set of instructions
or control signals for operation. The OS provides a uniform interface that hides
these details so that programmers can access such devices using simple reads and
writes.
6. Controlled access to files: For file access, the OS must reflect a detailed
understanding of not only the nature of the I/O device (disk drive, tape drive) but
also the structure of the data contained in the files on the storage medium. In the
case of a system with multiple users, the OS may provide protection mechanisms to
control access to the files.
7. System access: For shared or public systems, the OS controls access to the system
as a whole and to specific system resources. The access function must provide
protection of resources and data from unauthorized users and must resolve conflicts
for resource contention.
8. Error detection and response: A variety of errors can occur while a computer
system is running. These include internal and external hardware errors, such as a
memory error, or a device failure or malfunction; and various software errors, such
as division by zero, attempt to access forbidden memory location, and inability of
the OS to grant the request of an application. In each case, the OS must provide a
response that clears the error condition with the least impact on running
applications. The response may range from ending the program that caused the
error, to retrying the operation or simply reporting the error to the application.
EVOLUTION OF OPERATING SYSTEM
A major OS will evolve over time for a number of reasons
such as:
Hardware upgrades
New services
Fixes
EVOLUTION OF OPERATING SYSTEM
Time Sharing
Systems
Multiprogrammed
Batch Systems
Simple Batch
Systems
Serial
Processing
1. SERIAL PROCESSING
three levels:
potential for multiprogramming and
multithreaded execution within each
processor
• This structure designs the operating system by removing all non-essential components
from the kernel and implementing them as system and user programs.
• This result in a smaller kernel called the micro-kernel.
• Advantages of this structure are that all new services need to be added to user
space and does not require the kernel to be modified.
• Thus it is more secure and reliable as if a service fails then rest of the operating
system remains untouched. Mac OS is an example of this type of OS.
Advantages of Micro-kernel structure:
• It makes the operating system portable to various platforms.
• As microkernels are small so these can be tested effectively.
CreateProcess() Fork()
Process Control ExitProcess() Exit()
WaitForSingleObject() Wait()
CreateFile() Open()
ReadFile() Read()
File Manipulation WriteFile() Write()
CloseHandle() Close()
SetConsoleMode() Ioctl()
Device Management ReadConsole() Read()
WriteConsole() Write()
GetCurrentProcessID() Getpid()
Information Maintenance SetTimer() Alarm()
Sleep() Sleep()
CreatePipe() Pipe()
Communication CreateFileMapping() Shmget()
MapViewOfFile() Mmap()