0% found this document useful (0 votes)
20 views34 pages

CSE 222: Operating System Course Overview

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)
20 views34 pages

CSE 222: Operating System Course Overview

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

Operating System

CSE 222

Course Instructor(s):
Poulami Dalapati
Preety Singh
Abhijit Adhikari
Dept. of CSE, LNMIIT Jaipur
Course related information
• Course CIF
• Theory
• Lab
• Evaluation scheme
• Google classroom: vpbj4ar
• Moodle
• Contact info of the course-coordinator
• [Link]@[Link]
• Office No. 12, New PEB building

OS/CSE222/Poulami D. 2
Prerequisites
• COA
• DSA
• Programming language: C

OS/CSE222/Poulami D. 3
Important announcement(s)
• Quiz 1 at the end of January 2024 (slot will be notified soon)
• NO make-up for any of the evaluation components.

OS/CSE222/Poulami D. 4
Roadmap
A brief introduction

Operating system structures

Processes and threads

Memory management

Storage and file system

Protection and security


OS/CSE222/Poulami D. 5
Goals of todays discussion
• What are we going to learn and why?
• What is an Operating System?
• Different logistics!

OS/CSE222/Poulami D. 6
Goal of this course
• Learn how “systems” work
• Challenges in building systems
• Principles of system design
• How to apply these principles to build a system?

OS/CSE222/Poulami D. 7
Example: Search Query!
Internet

Mobile Data center

• Complex interaction of multiple components in multiple domains.


OS/CSE222/Poulami D. 8
Computing devices are everywhere!

OS/CSE222/Poulami D. 9
What is an Operating System?
• Definition has changed over years
• Operating system (OS)
• Interface between the use and the architecture
• Hides architectural details
• Implements a virtual machine
• easier to program than raw hardware
• Provides services and coordinates machine activities
• Illusionist
• Bigger, faster, reliable

OS/CSE222/Poulami D. 10
OS: Traditional view

OS/CSE222/Poulami D. 11
New development in OS
• Operating systems: active field of research
• Demands on OS’s growing
• New application spaces (Web, Grid)
• Rapidly evolving hardware
• Advent of open-source operating systems –Linux
• You can contribute to and develop OS’s!
• Excellent research platform

OS/CSE222/Poulami D. 12
OS: Salient features
• Services: OS provides standard services (interfaces) which the
hardware implements.
• File systems, virtual memory, networking, CPU scheduling, time sharing

• Coordination: OS coordinates multiple applications and users to


achieve fairness and efficiency
• Concurrency, memory protection, networking, security

• Goal: Design an OS so that the machine is convenient to use (s/w


engineering problem) and efficient (system engineering problem)

OS/CSE222/Poulami D. 13
• Special layer of software that provides application software access to
hardware resources
• Convenient abstraction of complex hardware devices
• Protected access to shared resources
• Security and authentication
• Communication amongst logical entities

applnappln
appln
OS

Hardware

OS/CSE222/Poulami D. 14
A typical PC computer system

OS/CSE222/Poulami D. 15
Why study OS?
• Abstraction: giving users an illusion of infinite memory, CPUs,
resources, world wide computing etc.
• System Design: making tradeoffs between
• Performance and the convenience of OS abstractions
• Performance and the simplicity of OS design
• Giving functionality in h/w and s/w
• Basic Understanding: providing services that allow application
program to work
• System Intersection point: OS is where h/w and s/w meet

OS/CSE222/Poulami D. 16
Building Large Computer Systems
• OS as an example of large system design
• Goals: Fast, reliable, large scale
• To build these systems, you need to know
• Each computer:
• Architectural details that matter
• C and C++ (nitty gritty & more)
• Memory management & locality
• Concurrency & scheduling
• Disks, network, file systems
• Across cluster:
• Server architectures
• Distributed computing, file systems
OS/CSE222/Poulami D. 17
History of Operating systems
• From mainframes to web-based systems!

OS/CSE222/Poulami D. 18
Dark era (1940-60)

OS/CSE222/Poulami D. 19
Hardware: expensive; humans: cheap
• Evolution of functionality:
• One user
• Batch processing
• Overlap of I/O & computation
• Multiprogramming- Multitasking

OS/CSE222/Poulami D. 20
Single-User Computers
• One user at a time on console
• Computer executes one function at a time
• No overlap: computation & I/O
• User must be at console to debug

Multiple users = inefficient use of machine!

OS/CSE222/Poulami D. 21
Batch Processing
• Execute multiple “jobs” in batch:
• Users submit jobs (on cards or tape)
• Human schedules jobs
• Operating system loads & runs jobs

OS/CSE222/Poulami D. 22
Multiprogramming
• Allows multiple programs to load into
memory at the same time.
• Run one job until I/O
• Run another job, etc.

• OS manages interaction between programs:


• Which jobs to run
(schedule: priority based, resource availability)
• Protects program’s memory from others
• Decides which to resume when CPU available

OS/CSE222/Poulami D. 23
Multitasking
• Allows single CPU to execute multiple
tasks by switching b/w them rapidly.
• OS allocates CPU time to each task in a
way that is seems to be running
concurrently.
• E.g.: web browser, text editor, media
player running simultaneously.

OS/CSE222/Poulami D. 24
Multiprocessing

• Use of multiple CPUs or processor


cores
• Allows multiple tasks to run truly
concurrently
• Each CPU or core independently
execute instructions
• E.g.: Rendering a 3D animation can be
split into multiple threads, each
threads running on separate core

OS/CSE222/Poulami D. 25
OS Complexity
• Increased functionality & complexity
• Need to treat OS design scientifically
• Managing complexity becomes the key!

OS/CSE222/Poulami D. 26
The Renaissance (1970’s)

OS/CSE222/Poulami D. 27
• Hardware: cheap; humans: expensive
• Users share system via terminals
• The UNIX era
• “Shell”: commands

OS/CSE222/Poulami D. 28
The Industrial Revolution (1980’s)

OS/CSE222/Poulami D. 29
• Hardware very cheap; humans expensive
• Widespread use of PCs
• IBM PC: 1981
• Simple OS (DOS, MacOS)
• No multiprogramming, concurrency, memory protection, virtual memory
• Later: networking, file sharing, remote printing
• GUI added to OS

OS/CSE222/Poulami D. 30
The Modern Era (1990’s-now)

OS/CSE222/Poulami D. 31
• Hardware cheap; processing demands increasing
• “Real” operating systems on PC’s
• Windows NT (1991); Mac OS X; Linux
• Different modalities:
• Real-time: Strict or loose deadlines (time-critical systems)
• Sensor networks: Many small computers (smart appliances)
• Parallel: Multiple processors, one machine
• Distributed: Multiple networked processors (the Web, Google)

OS/CSE222/Poulami D. 32
Evolution summary
• The only constant: Change 9 order of magnitude!!

1983 1999

MIPS 0.5 500

Cost/MIPS $100,000 $500

Memory 1 MB 1 GB

Network 10 Mb/s 1 Gb/s

Disk 1 GB 1 Tb

OS/CSE222/Poulami D. 33
Order of magnitude

OS/CSE222/Poulami D. 34

You might also like