OS Tech Lecture 1
OS Tech Lecture 1
Technology
(August 2021)
2
Course Outline
Introduction
Introduction to Operating Systems, Computer System Structures,
Operating System Structures
● Process Management
• Processes and Threads, CPU Scheduling
• CPU Scheduling, Process Synchronization
• Process Synchronization
• Process Synchronization, Deadlocks
Introduction to Operating
Systems - Lecture 1 3
Course Outline
● Deadlocks
Storage Management
• Memory Management, Paging, Segmentation
• Virtual Memory
● File Systems
• Virtual Memory, File Systems Interface and Implementation
● I/O Subsystems
• File Systems, I/O, course revision and summary.
● Operating System
● Controls and coordinates the use of hardware among application programs.
● Application Programs
● Solve computing problems of users (compilers, database systems, video games,
business programs such as banking software).
● Users
● People, machines, other computers
User
User
11 User User User
User
2
2
User
3
3
... User
n
n
Operating
OperatingSystem
System
Computer
Computer
Hardware
Hardware
• Referee
• Resource allocation among users, applications
• Isolation of different users, applications from each other
• Communication between users, applications
• Illusionist
• Each application appears to have the entire machine to itself
• Infinite number of processors, (near) infinite amount of
memory, reliable storage, reliable network transport
• Glue
• Libraries, user interface widgets, …
• Reduces cost of developing software
15
Example: file systems
• Referee
• Prevent users from accessing each other’s files without
permission
• Illusionist
• Files can grow (nearly) arbitrarily large
• Files persist even when the machine crashes in the middle of
a save
• Glue
• Named directories, printf, …
16
History of
Operating
Systems
17
History of Operating Systems
18
MarketShare of Operating
Systems
19
Operating Systems Spectrum
● Monitors and Small Kernels
● special purpose and embedded systems, real-time systems
● Batch and multiprogramming
● Timesharing
● workstations, servers, minicomputers, timeframes
● Transaction systems
● Personal Computing Systems
● Mobile Platforms, devices (of all sizes)
20
Types of OS
Single-user Operating System
Run on stand-alone microcomputers or PCs.
Manage the resources of that PC
Control all activities
Examples: MS-DOS, PC-DOS, Windows 3.1 e.t.c
Multi-User Operating System
Run on minicomputer systems (multi-users systems where
more than one user can work simultaneously)
Examples: PC-MOS and UNIX.
Network Operating System
Communication among the various systems and peripherals
on the network
Flow of data across the network and sharing of resources
Examples: Microsoft Windows Server 2008, UNIX and Linux
21
Functions of Operating Systems
Three principal functions
i. Allocation and assignment of system resources
input/output devices, software, central processing unit, etc.
ii. Scheduling: coordinates resources and jobs and follows
certain given priority.
iii. Monitoring:
keeps track of the activities in the computer system
maintains logs of job operation
notifies end-users or computer operators of any abnormal
terminations or error conditions
22
Functions of Operating Systems
Other functions
i. Memory Management – allocation and de-allocation of
memory space to programs
ii. Processor Management – create and delete processes
iii. Device Management – keep track of I/O devices
iv. File Management – storage, retreival, sharing etc
v. Security – pritection against malware, unauthorized access
vi. Control over system performance
vii. Job accounting – keeps track of resources and users
viii. Coordination between other software and users or
conditions
23
Shell and Kernel
Kernel
Core of the OS
Provides most of the functionality that the rest of the
system needs in order to function
Manages the communication between the software and
the hardware
Shell
an interpreter that understands commands in something
resembling common English and translates those
commands into a language the kernel understands
24
Summary