Operating Systems
Module:1 :Fundamentals of Operating
System
Faculty Name :Dr. Yogita Mistry
Operating System TH Syllabus
2
Operating System TH Syllabus
3
Operating System TH Syllabus
4
Operating System TH Syllabus
5
Operating System PR Syllabus
6
Operating System PR Syllabus
7
Index
Lecture 1-Introduction to Operating System
Lecture 2- Operating System Structure and
Operations
Lecture 3- Operating system Functions
Lecture 4- System calls
8
Lecture 1
Introduction to Operating
System
What is an Operating System?
A program that acts as an intermediary between a user of a
computer and the computer 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
Lecture Introduction: Operating System Structure and
10 Operations
Computer System Structure
Computer system can be divided into four components:
Hardware – provides basic computing resources
CPU, memory, I/O devices
Operating system
Controls and coordinates use of hardware among various
applications and users
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
Users
People, machines, other computers
Lecture 1- Introduction: Operating System Structure
11 and
Operations
Four Components of a Computer
System
Lecture 1- Introduction: Operating System Structure and
12 Operations
Operating System Definition
OS is a resource allocator
Manages all resources
Decides between conflicting requests for efficient and fair
resource use
OS is a control program
Controls execution of programs to prevent errors and
improper use of the computer
Lecture 1- Introduction: Operating System Structure and
13 Operations
Operating System Definition (Cont.)
“The one program running at all times on the computer” is the
kernel. Everything else is either a system program (ships with
the operating system) or an application program.
Lecture 1- Introduction: Operating System Structure and
14 Operations
Types of OS
Operating System can also be classified as:
1. Batch processing os
2. Multiprogramming os
3. Time sharing os
4. Real time os
5. Distributed os
Lecture 1- Operating System
15
objectives and functions
1. Batch OS- user do not directly interact with computer. In this user
create offline program in terms of different jobs in punch card and
then operator send to system.
2. Multiprogramming OS- simultaneously more then one process will
execute
3. Time sharing OS -processors times which is shared among multiple
users simultaneously termed as time sharing.
4. Multiprocessor System – They have more than one processor in close
communication sharing computer bus,clock, memory and I/o devices
Lecture 1- Operating System
16
objectives and functions
Cont...
5. Real time OS-no buffering delay is possible, fixed time
constraint and well define ex- weapon ,robot, traffic control
etc.
Soft - banking application
Hard –misiles,traffic control
6. Distributed OS- different systems are connected with
common network ,so each system have it’s own common
memory,
7. Network OS- shared memory is not available, all work
through server, more security.
Lecture 1- Operating System
17
objectives and functions
Lecture 2
OS structure and
Operations
Operating Systems Structures
Monolithic (one unstructured program)
Layered
Microkernel
19 Lecture 2- OS Structure
Monolithic system
20 Lecture 2- OS Structure
Monolithic OS –Basic Structure
Application programs that invoke the requested system services.
A set of system services that carry out the operating system procedures/calls.
A set of utility procedures that help the system services.
21 Lecture 2- OS Structure
MS-DOS System Structure
MS-DOS –written to provide functionality in the least space:
Not divided into modules (monolithic).
Although MS-DOS has some structure, its interfaces and levels of functionality
are not well separated.
22 Lecture 6- OS Structure
Layered Operating System
23 Lecture 6- OS Structure
Operating System Layers
24 Lecture 2- OS Structure
Older Windows System Layers
25 Lecture 2- OS Structure
Microkernel System Structure
Move as much functionality as possible from the kernel into “user” space.
Only a few essential functions in the kernel:
primitive memory management (address space)
I/O and interrupt management
Inter-Process Communication (IPC)
basic scheduling
Other OS services are provided by processes running in user mode (vertical
servers):
device drivers, file system, virtual memory…
26 Lecture 2- OS Structure
27
Layered vs. Microkernel Architecture
28 Lecture 2- OS Structure
Microkernel System Structure
Communication takes place between user modules using message passing
Benefits:
Easier to extend a microkernel
Easier to port the operating system to new architectures
More reliable (less code is running in kernel mode)
More secure
Detriments:
Performance overhead of user space to kernel space communication
29 Lecture 2- OS Structure
Microkernel System Structure
30 Lecture 2- OS Structure
Lecture 4
Functions of Operating
System
Functions of Operating System
process Management
Memory Management
File Management
device Management
Lecture 4- Operating System
32
objectives and functions
Services Provided by Operating System
Program execution
I/O operation
File system manipulation
Communication
Error detection
Resource allocator
Accounting
Protection
Lecture 4- Operating System
33
objectives and functions
Lecture 5
System Calls & it’s type
System Calls
Question: What is a system call? Explain any four system calls.
System calls provide an interface between the process and the
operating system.
System calls allow user-level processes to request some services
from the operating system which process itself is not allowed to do.
In handling the trap, the operating system will enter in the kernel
mode, where it has access to privileged instructions, and can
perform the desired service on the behalf of user-level process.
4 Lecture 5- Basic Concepts
System Calls
System calls provide an interface to the services made available by an operating
system. These calls are generally available as routines written in C and C++, although
certain low-level tasks (for example, tasks where hardware must be accessed
directly), may need to be written using assembly-language instructions.
36
System Calls
For example, for I/O a process involves a system call telling the operating system to read or write particular area and this
request is satisfied by the operating system.
37 Lecture 5- System calls
38
System Calls
System call Parameters:
There are 3 general methods to pass parameters to the operating system:
Parameters can be passed in registers
Parameters are stored in blocks or tables in memory and address of the block is
passed as a parameter in register
Parameters can also be pushed on or popped off the stack by the operating system.
39 Lecture 5- System calls
Types of System calls
1. Process control
2. File management
[Link] maintenance
4. Device management
5. Communication
40 Lecture 5- Basic Concepts
1. Process control
A running program needs to be able to stop execution either
normally or abnormally.
Following are functions of process control:
1. End , abort
2. Wait for event
3. Load, execute
4. Create process, terminate process
41 Lecture 5- Basic Concepts
2. File managment
• We first need to be able to create and delete files. Either system call
requires the name of the file and perhaps some of the file's attributes.
•Once the file is created, we need to open it and to use it. We may also
read, write, or reposition. Finally, we need to close the file, indicating
that we are no longer using it.
Functions:
1. Create file, delete file
2. Open, close file
3. Read, write reposition
42 Lecture 5- Basic Concepts
3) Device Management:
• A process may need several resources to execute - main memory, disk
drives, access to files, and so on. If the resources are available, they can
be granted, and control can be returned to the user process. Otherwise,
the process will have to wait until sufficient resources are available.
•A set of system calls is used on files and devices. Sometimes, 1/0
devices are identified by special file names, directory placement, or file
attribute
Function
1. Request device, release device
2. Logically attaché and detach device
9 Lecture 5- Basic Concepts
44
4. Information Maintenance
•Many system calls may return information about the system, such as
the number of current users, the version number of the OS, the amount
of free memory or disk space, and so on.
• In addition, the OS keeps information about all its processes, and
system calls are used to access this information. Generally, calls are
also used to reset the process information.
Function:
1. get time or date, set time or date
2. get system data, set system data
45 Lecture 5- Basic Concepts
5. Communication
• There are two common models of interprocess communication:
the message-passing model and the shared-memory model. In the
message-passing model, the communicating processes exchange
messages with one another to transfer information.
•In the shared-memory model, processes use shared memory
creates and shared memory attaches system calls to create and
gain access to regions of memory owned by other processes.
46 Lecture 5- Basic Concepts
Examples of Windows and
Unix System Calls
47 Lecture 5- Basic Concepts
Lecture 6
System Programs, System Boot
System Programming
System programs (system utilities) provide a convenient environment for
program development and execution.
File management
Status information
File modification
Programming language support
Program loading and execution
Communications
Background services
Click icon to add picture
26 Lecture 7- OS Debugging and generation, system boot
Operating System Generation (SYSGEN)
Operating systems are designed to run on any of a class of machines; the system
must be configured for each specific computer site
SYSGEN program obtains information concerning the specific configuration of
the hardware system
Booting – starting a computer by loading the kernel
Bootstrap program – code stored in ROM that is able to locate the kernel, load it
into memory, and start its execution
Click icon to add picture
28 Lecture 7- OS Debugging and generation, system boot
System Boot
Operating system must be made available to hardware so hardware can start it
The procedure of starting a computer by loading the kernel is known as booting
the system.
Small piece of code – bootstrap loader, locates the kernel, loads it into
memory, and starts it
Sometimes two-step process where boot block at fixed location loads
bootstrap loader
When power initialized on system, execution starts at a fixed memory
location
Firmware used to hold initial boot code
Click icon to add picture
29 Lecture 7- OS Debugging and generation, system boot
System Boot
Click icon to add picture
Lecture 1- Operating System
52
objectives and functions
System Boot
• When power initialized on system, execution starts at a fixed
memory location
– Firmware ROM used to hold initial boot code
• Operating system must be made available to hardware so
hardware can start it
– Small piece of code – bootstrap loader, stored in ROM or
EEPROM locates the kernel, loads it into memory, and starts it
– Sometimes two-step process where boot block at fixed
location loaded by ROM code, which loads bootstrap loader
from disk
• Common bootstrap loader, GRUB, allows selection of kernel from
multiple disks, versions, kernel options
• Kernel loads and system is then running
30 Lecture 6- OS Debugging and generation, system boot
Thank You