SlideShare a Scribd company logo
Operating Systems
CSE451
Spring 2000
Instructor: Gary Kimura
Slides courtesy of Hank Levy
1/24/2023 2
What is an Operating System?
• “all the code that you didn’t write”
• the code that manages physical (hardware) resources
• provides users with “logical” well-behaved environment
• O.S. defines a set of logical resources (objects) and a set
of well-defined operations on those objects (i.e., an
interface to use those objects)
• provides mechanisms and policies for the control of
objects/resources
• controls how different users and programs interact
• without an O.S. there would be a lot more work to write and run
programs
1/24/2023 3
What resources need to be managed?
• the CPU (computation)
• primary memory
• secondary memory devices (disks, tapes, etc)
• networks
• input devices (keyboard, mouse)
• various I/O devices (printers, display, cameras,
speakers)
1/24/2023 4
What’s in an OS?
Machine Dependent
Services
Interrupts, Cache, Physical Memory, TLB, Hardware Devices
Generic I/O
File System
Memory Management
Process Management
Virtual Memory
Networking
Naming Access Control
Windowing & graphics
Windowing & Gfx
Machine
Independent
Services
Application
Services
SYSTEM CALL API
MD API
Device Drivers
Shells
System Utils
Quake Sql Server
Logical OS Structure
1/24/2023 5
The OS is Everywhere
main(int argc, char **argv)
{ int fd = open(argv[1], O_RDONLY);
if (fd < 0) {
fprintf(stderr, “Failed to openn”);
exit(-1);
}
while (1) {
if (read(fd, &c, sizeof c) != 1)
exit(-1);
putc( c )
}
}
• Edit
• Compile
• Run/Create Process
• Invoke main
• Open file
– check access
– cache
– read character
• Write character
• Terminate process on EOF or Err
% cc main.c
% ./a.out /tmp/foo.bar
1/24/2023 6
Major issues in Operating Systems
• structure -- how is an operating system organized?
• sharing -- how are resources shared among users
• naming -- how are resources named (by users or programs)
• protection -- how is one user/program protected from
another
• security -- how to restrict the flow of information
• performance -- why is it so slow?
• reliability and fault tolerance -- when something goes wrong
• extensibility -- how do we add new features?
• communication -- how and with whom can we communicate
(exchange information)
1/24/2023 7
Major issues in OS (2)
• concurrency -- how are parallel activities created and
controlled?
• scale and growth -- what happens as demands or resources
increase?
• persistence -- how to make data last longer than programs
• compatibility -- can we ever do anything new?
• distribution -- accessing the world of information
• accounting -- who pays the bills, and how do we control
resource usage?
1/24/2023 8
A brief history of operating systems
• “in the beginning”, the OS was just code to which you
linked your program, loaded the whole thing into
memory, and ran your program; basically, just a
run-time library
• simple batch systems were first real operating systems:
• os was stored in part of primary memory
• it loaded a single job (from card reader) into memory
• ran that job (printed its output, etc.)
• loaded the next job...
• control cards in the input file told the os what to do
• Spooling and buffering allowed jobs to be read ahead of
time onto tape/disk or into memory.
1/24/2023 9
Multiprogramming
• Multiprogramming systems provided
increased utilization
• keeps multiple runnable jobs loaded in memory
• overlaps I/O processing of a job with computes of
another
• benefits from I/O devices that can operate
asynchronously
• requires the use of interrupts and DMA
• tries to optimize throughput at the cost of response
time
1/24/2023 10
Timesharing
• Timesharing supported interactive use of
• each user feels as if he/she has the entire machine (at
least late at night!)
• timesharing tries to optimize response time at the
cost of throughput
• based on time-slicing -- dividing CPU equally
among the users
• permitted active viewing, editing, debugging,
participation of users in the execution process
• MIT Multics system (mid-late 1960s) was first large
timesharing system
1/24/2023 11
Distributed Operating Systems
• distributed systems facilitate use of geographically
distributed resources
– machines connected by wires
• supports communication between parts of a job or
different jobs
– interprocess communication
• sharing of distributed resources, hardware and
software
– resource utilization and access
• permits some parallelism, but speedup is not the issue
1/24/2023 12
Parallel Operating Systems
• Support parallel applications wishing to get speedup of
computationally complex tasks
• Needs basic primitives for dividing one task into
multiple parallel activities
• Supports efficient communication between those
activities
• Supports synchronization of activities to coordinate
sharing of information
• It’s common now to use networks of high-performance
PCs/workstations as a parallel computer
1/24/2023 13
Embedded Operating Systems
• The decreased cost of processing makes computers
ubiquitous. Each “embedded” application needs its
own OS or control software:
– cell phones
– PDAs (Palm Pilot, etc.)
– “network terminals” (internet interfaces)
• In the future, your house will have 100s of these things
in it (if it doesn’t already)
1/24/2023 14
CSE 451
• In this class we will learn:
• what are the parts of an O.S.
• how is the o.s. and each sub-part structured
• what are the important interfaces
• what are the important policies
• what algorithms are typically used
• We will do this through reading, lectures, and a project.
• You will need to keep up with all three of these.

More Related Content

Similar to 1-intro - Copy (2).ppt

Operating System
Operating SystemOperating System
Operating System
Hitesh Mohapatra
 
1 Introduction to OS.ppt
1 Introduction to OS.ppt1 Introduction to OS.ppt
1 Introduction to OS.ppt
KumarVaibhav100
 
Introduction of os and types
Introduction of os and typesIntroduction of os and types
Introduction of os and types
Prakash Sir
 
Introduction to Operating system CBSE
Introduction to Operating system CBSE Introduction to Operating system CBSE
Introduction to Operating system CBSE
PrashantChahal3
 
Nt introduction(os)
Nt introduction(os)Nt introduction(os)
Nt introduction(os)
NehaTadam
 
os_1.pdf
os_1.pdfos_1.pdf
os_1.pdf
HemantBorse6
 
Apos week 1 4
Apos week 1   4Apos week 1   4
Apos week 1 4
alixafar
 
Unit 2.pptx
Unit 2.pptxUnit 2.pptx
Unit 2.pptx
HarshitKoshta2
 
Unit 2.pptx
Unit 2.pptxUnit 2.pptx
Unit 2.pptx
KrishRaj48
 
4 Module - Operating Systems Configuration and Use by Mark John Lado
4 Module - Operating Systems Configuration and Use by Mark John Lado4 Module - Operating Systems Configuration and Use by Mark John Lado
4 Module - Operating Systems Configuration and Use by Mark John Lado
Mark John Lado, MIT
 
1. Introduction to OS.ppt
1. Introduction to OS.ppt1. Introduction to OS.ppt
1. Introduction to OS.ppt
SATHYABAMAMADHANKUMA
 
OVERVIEW OF OPERATING SYSTEM -Basic concepts of operating system like functio...
OVERVIEW OF OPERATING SYSTEM -Basic concepts of operating system like functio...OVERVIEW OF OPERATING SYSTEM -Basic concepts of operating system like functio...
OVERVIEW OF OPERATING SYSTEM -Basic concepts of operating system like functio...
ApurvaLaddha
 
Operating system lecture1
Operating system lecture1Operating system lecture1
Operating system lecture1
AhalyaSri
 
Unit I OS.pdf
Unit I OS.pdfUnit I OS.pdf
Unit I OS.pdf
UmaYadav45
 
UNIT 1 - UNDERSTANDINGTHE PRINCIPLES OF OPERATING SYSTEM.pptx
UNIT 1 - UNDERSTANDINGTHE PRINCIPLES OF OPERATING SYSTEM.pptxUNIT 1 - UNDERSTANDINGTHE PRINCIPLES OF OPERATING SYSTEM.pptx
UNIT 1 - UNDERSTANDINGTHE PRINCIPLES OF OPERATING SYSTEM.pptx
LeahRachael
 
Operating System Overview.pdf
Operating System Overview.pdfOperating System Overview.pdf
Operating System Overview.pdf
PrashantKhobragade3
 
cs-intro-os.ppt
cs-intro-os.pptcs-intro-os.ppt
cs-intro-os.ppt
infomerlin
 
CS403: Operating System : Lec 4 OS services.pptx
CS403: Operating System : Lec 4 OS services.pptxCS403: Operating System : Lec 4 OS services.pptx
CS403: Operating System : Lec 4 OS services.pptx
Asst.prof M.Gokilavani
 
introduction to Operating system for computer science Program
introduction to Operating system for computer science Programintroduction to Operating system for computer science Program
introduction to Operating system for computer science Program
KemalHussen
 
Chapter one_oS.ppt
Chapter one_oS.pptChapter one_oS.ppt
Chapter one_oS.ppt
miki304759
 

Similar to 1-intro - Copy (2).ppt (20)

Operating System
Operating SystemOperating System
Operating System
 
1 Introduction to OS.ppt
1 Introduction to OS.ppt1 Introduction to OS.ppt
1 Introduction to OS.ppt
 
Introduction of os and types
Introduction of os and typesIntroduction of os and types
Introduction of os and types
 
Introduction to Operating system CBSE
Introduction to Operating system CBSE Introduction to Operating system CBSE
Introduction to Operating system CBSE
 
Nt introduction(os)
Nt introduction(os)Nt introduction(os)
Nt introduction(os)
 
os_1.pdf
os_1.pdfos_1.pdf
os_1.pdf
 
Apos week 1 4
Apos week 1   4Apos week 1   4
Apos week 1 4
 
Unit 2.pptx
Unit 2.pptxUnit 2.pptx
Unit 2.pptx
 
Unit 2.pptx
Unit 2.pptxUnit 2.pptx
Unit 2.pptx
 
4 Module - Operating Systems Configuration and Use by Mark John Lado
4 Module - Operating Systems Configuration and Use by Mark John Lado4 Module - Operating Systems Configuration and Use by Mark John Lado
4 Module - Operating Systems Configuration and Use by Mark John Lado
 
1. Introduction to OS.ppt
1. Introduction to OS.ppt1. Introduction to OS.ppt
1. Introduction to OS.ppt
 
OVERVIEW OF OPERATING SYSTEM -Basic concepts of operating system like functio...
OVERVIEW OF OPERATING SYSTEM -Basic concepts of operating system like functio...OVERVIEW OF OPERATING SYSTEM -Basic concepts of operating system like functio...
OVERVIEW OF OPERATING SYSTEM -Basic concepts of operating system like functio...
 
Operating system lecture1
Operating system lecture1Operating system lecture1
Operating system lecture1
 
Unit I OS.pdf
Unit I OS.pdfUnit I OS.pdf
Unit I OS.pdf
 
UNIT 1 - UNDERSTANDINGTHE PRINCIPLES OF OPERATING SYSTEM.pptx
UNIT 1 - UNDERSTANDINGTHE PRINCIPLES OF OPERATING SYSTEM.pptxUNIT 1 - UNDERSTANDINGTHE PRINCIPLES OF OPERATING SYSTEM.pptx
UNIT 1 - UNDERSTANDINGTHE PRINCIPLES OF OPERATING SYSTEM.pptx
 
Operating System Overview.pdf
Operating System Overview.pdfOperating System Overview.pdf
Operating System Overview.pdf
 
cs-intro-os.ppt
cs-intro-os.pptcs-intro-os.ppt
cs-intro-os.ppt
 
CS403: Operating System : Lec 4 OS services.pptx
CS403: Operating System : Lec 4 OS services.pptxCS403: Operating System : Lec 4 OS services.pptx
CS403: Operating System : Lec 4 OS services.pptx
 
introduction to Operating system for computer science Program
introduction to Operating system for computer science Programintroduction to Operating system for computer science Program
introduction to Operating system for computer science Program
 
Chapter one_oS.ppt
Chapter one_oS.pptChapter one_oS.ppt
Chapter one_oS.ppt
 

Recently uploaded

SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative AnalysisOdoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Envertis Software Solutions
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
VALiNTRY360
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 

Recently uploaded (20)

SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative AnalysisOdoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 

1-intro - Copy (2).ppt

  • 1. Operating Systems CSE451 Spring 2000 Instructor: Gary Kimura Slides courtesy of Hank Levy
  • 2. 1/24/2023 2 What is an Operating System? • “all the code that you didn’t write” • the code that manages physical (hardware) resources • provides users with “logical” well-behaved environment • O.S. defines a set of logical resources (objects) and a set of well-defined operations on those objects (i.e., an interface to use those objects) • provides mechanisms and policies for the control of objects/resources • controls how different users and programs interact • without an O.S. there would be a lot more work to write and run programs
  • 3. 1/24/2023 3 What resources need to be managed? • the CPU (computation) • primary memory • secondary memory devices (disks, tapes, etc) • networks • input devices (keyboard, mouse) • various I/O devices (printers, display, cameras, speakers)
  • 4. 1/24/2023 4 What’s in an OS? Machine Dependent Services Interrupts, Cache, Physical Memory, TLB, Hardware Devices Generic I/O File System Memory Management Process Management Virtual Memory Networking Naming Access Control Windowing & graphics Windowing & Gfx Machine Independent Services Application Services SYSTEM CALL API MD API Device Drivers Shells System Utils Quake Sql Server Logical OS Structure
  • 5. 1/24/2023 5 The OS is Everywhere main(int argc, char **argv) { int fd = open(argv[1], O_RDONLY); if (fd < 0) { fprintf(stderr, “Failed to openn”); exit(-1); } while (1) { if (read(fd, &c, sizeof c) != 1) exit(-1); putc( c ) } } • Edit • Compile • Run/Create Process • Invoke main • Open file – check access – cache – read character • Write character • Terminate process on EOF or Err % cc main.c % ./a.out /tmp/foo.bar
  • 6. 1/24/2023 6 Major issues in Operating Systems • structure -- how is an operating system organized? • sharing -- how are resources shared among users • naming -- how are resources named (by users or programs) • protection -- how is one user/program protected from another • security -- how to restrict the flow of information • performance -- why is it so slow? • reliability and fault tolerance -- when something goes wrong • extensibility -- how do we add new features? • communication -- how and with whom can we communicate (exchange information)
  • 7. 1/24/2023 7 Major issues in OS (2) • concurrency -- how are parallel activities created and controlled? • scale and growth -- what happens as demands or resources increase? • persistence -- how to make data last longer than programs • compatibility -- can we ever do anything new? • distribution -- accessing the world of information • accounting -- who pays the bills, and how do we control resource usage?
  • 8. 1/24/2023 8 A brief history of operating systems • “in the beginning”, the OS was just code to which you linked your program, loaded the whole thing into memory, and ran your program; basically, just a run-time library • simple batch systems were first real operating systems: • os was stored in part of primary memory • it loaded a single job (from card reader) into memory • ran that job (printed its output, etc.) • loaded the next job... • control cards in the input file told the os what to do • Spooling and buffering allowed jobs to be read ahead of time onto tape/disk or into memory.
  • 9. 1/24/2023 9 Multiprogramming • Multiprogramming systems provided increased utilization • keeps multiple runnable jobs loaded in memory • overlaps I/O processing of a job with computes of another • benefits from I/O devices that can operate asynchronously • requires the use of interrupts and DMA • tries to optimize throughput at the cost of response time
  • 10. 1/24/2023 10 Timesharing • Timesharing supported interactive use of • each user feels as if he/she has the entire machine (at least late at night!) • timesharing tries to optimize response time at the cost of throughput • based on time-slicing -- dividing CPU equally among the users • permitted active viewing, editing, debugging, participation of users in the execution process • MIT Multics system (mid-late 1960s) was first large timesharing system
  • 11. 1/24/2023 11 Distributed Operating Systems • distributed systems facilitate use of geographically distributed resources – machines connected by wires • supports communication between parts of a job or different jobs – interprocess communication • sharing of distributed resources, hardware and software – resource utilization and access • permits some parallelism, but speedup is not the issue
  • 12. 1/24/2023 12 Parallel Operating Systems • Support parallel applications wishing to get speedup of computationally complex tasks • Needs basic primitives for dividing one task into multiple parallel activities • Supports efficient communication between those activities • Supports synchronization of activities to coordinate sharing of information • It’s common now to use networks of high-performance PCs/workstations as a parallel computer
  • 13. 1/24/2023 13 Embedded Operating Systems • The decreased cost of processing makes computers ubiquitous. Each “embedded” application needs its own OS or control software: – cell phones – PDAs (Palm Pilot, etc.) – “network terminals” (internet interfaces) • In the future, your house will have 100s of these things in it (if it doesn’t already)
  • 14. 1/24/2023 14 CSE 451 • In this class we will learn: • what are the parts of an O.S. • how is the o.s. and each sub-part structured • what are the important interfaces • what are the important policies • what algorithms are typically used • We will do this through reading, lectures, and a project. • You will need to keep up with all three of these.