0% found this document useful (0 votes)
12 views25 pages

OS Tech Lecture 1

The document outlines the course MIT 818 on Operating Systems Technology, detailing course logistics, goals, and an overview of operating systems. It describes the functions of operating systems, their importance, and various types, including single-user and multi-user systems. Additionally, it highlights the roles of the operating system, such as resource allocation and management, and provides examples of popular operating systems.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views25 pages

OS Tech Lecture 1

The document outlines the course MIT 818 on Operating Systems Technology, detailing course logistics, goals, and an overview of operating systems. It describes the functions of operating systems, their importance, and various types, including single-user and multi-user systems. Additionally, it highlights the roles of the operating system, such as resource allocation and management, and provides examples of popular operating systems.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

MIT 818 – Operating Systems

Technology
(August 2021)

Lecture 1 - Introduction and Overview

Operating Systems Technology -


Lecture 1 1
Course logistics and details
● Textbook
● Operating System Concepts – 9th Edition, Silberschatz, Galvin and Gagne, Addison-
Wesley Inc (Eighth, Seventh,Sixth and Fifth editions, and Java Versions are fine ).

● Other Suggested Books


● Modern Operating Systems, by Tanenbaum
● Lubomir Bic, online book -- zybooks
● https://www.zybooks.com/catalog/operating-systems/
● Operating Systems: Principles and Practice, by T. Anderson and M. Dahlin
(second edition)
● Online resource
● https://www.tutorialspoint.com/operating_system/os_overview.htm

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.

Introduction to Operating Systems


- Lecture 1 4
Goals of this Course
● Understand Operating System concepts
● How OS works, and more importantly, why?
● What are reasons motivated each design of OS?
● Why OS?
 Operating System training is important

 Must fulfill a requirement


 Software companies love OS students
 Most big software companies have system positions
 Academic research in OS is very influential

Introduction to Operating Systems


- Lecture 1 5
Introduction
● What is an operating system?
● Operating Systems History
● Simple Batch Systems
● Multiprogrammed Batch Systems
● Time-sharing Systems
● Personal Computer Systems
● Parallel and Distributed Systems
● Real-time Systems

Introduction to Operating Systems


- Lecture 1 6
What is an Operating System(OS)?
● An OS is a program that acts an intermediary
between the user of a computer and computer
hardware.
● An interface between users and hardware - an
environment "architecture”.
● Allows convenient usage; hides the tedious
stuff
● Allows efficient usage; parallel activity, avoids
wasted cycles
● Provides information protection
Introduction to Operating Systems
- Lecture 1 7
What is an Operating System(OS)?

Gives each user a slice of the resources(memory,
Input/Output devices, computation)

Acts as a control program.

Major cost of general purpose computing is software.

OS simplifies and manages the complexity of running
application programs efficiently.

The OS is “all the code that you didn’t have to write” to
implement your application

Or, OS is a piece of software that you shouldn’t notice
its existence, but you’ll feel the pain if it disappears or
goes wrong

Introduction to Operating Systems


- Lecture 1 8
Examples of OS

Some popular Operating Systems include

Linux Operating System

Windows Operating System

Others?

Introduction to Operating Systems


- Lecture 1 9
Computer System Components
● Hardware
● Provides basic computing resources (CPU, memory, I/O devices).

● 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

Introduction to Operating Systems


- Lecture 1 10
Abstract View of a Computer
System

User
User
11 User User User
User
2
2
User
3
3
... User
n
n

compiler assembler Text editor Database


system
System
Systemand
andApplication
ApplicationPrograms
Programs

Operating
OperatingSystem
System

Computer
Computer
Hardware
Hardware

Introduction to Operating Systems


- Lecture 1 11
Abstract View of a Computer
System

Introduction to Operating Systems


- Lecture 1 12
Why should I study Operating
Systems?
● Need to understand the interaction between the
hardware and applications
● New applications, new hardware..
● Inherent aspect of society today
● Need to understand basic principles in the design of
computer systems
● efficient resource management, security, flexibility
● Increasing need for specialized operating systems
● e.g. embedded operating systems for devices - cell phones,
sensors and controllers
● real-time operating systems - aircraft control, multimedia
services
Introduction to Operating Systems
- Lecture 1 13
Goals of an Operating System
● Simplify the execution of user programs and
make solving user problems easier.
● Use computer hardware efficiently.
● Allow sharing of hardware and software resources.
● Make application software portable and
versatile.
● Provide isolation, security and protection
among user programs.
● Improve overall system reliability
● error confinement, fault tolerance, reconfiguration.
Introduction to Operating Systems
- Lecture 1 14
Operating system roles

• 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

Operating System acts as a host for applications that are


run on the machine
Operating System comes with two interfaces - CLI and
GUI
Operating System is the software that controls the
allocation and usage of hardware resources such as:

memory

CPU time

disk space

input and output devices
25

You might also like