Ch01_Introduction
Operating Systems
Class Operation
Lecturer: Professor Edward Youngil Kim
Class Operation:
- Time & Room : 13:00~16:00(3 Hrs.) Tue, S2-103
- Operation(Plan) : Lecture(50%), Student Presentation(20%), Practice/Project(30%)
- Student: AI. Big Data Department (3rd Grade)
- 2025. 3/4 ~ 6/17 (15 Weeks), 5/6(Tue., Holiday) ➔ 6/17(Wed.)
Evaluation
- Attendance: 20%
- Homework:10%
- Attitude:10%
- Mid-term Test: 30%
- Final Test(=Project): 30%
Project Proposal Presentation (10%) – per team
Project Completion Presentation (10%) – per team
Peer Evaluation (5%) – per student
Journal(=Diary)(Individual 1~2 Pages) (5%) – per student
Contact : ed.kim@wsu.ac.kr, 010-9530-5720
S2 6th Fl.
2/25
Class Schedule
Week Date Contents
Week 1 3/4 1. Introduction to Operating Systems
Week 2 3/11 2. Hardware and Software Concepts
Week 3 3/18 3. Process Concepts
Week 4 3/25 4. Thread Concepts
Theoretical Class
Week 5 4/1 5. Asynchronous Concurrent Execution
6. Concurrent Programming
Week 6 4/8
7. Deadlock and Indefinite Postponement
8. Processor Scheduling
Week 7 4/15
9. Real Memory Organization and Management
10. Virtual Memory Organization
Week 8 4/22
11. Virtual Memory Management
Mid-Term Exam
Week 9 4/29
PBL Class Introduction
Week 10 5/13 Make Project Proposal
Week 11 5/20 Present Project Proposal PBL Class
Week 12 5/27 Project Development
Week 13 6/3 Present Project Progress & Status
Week 14 6/10 Project Development
Week 15 6/17 Project Completion Presentation
3/25
Textbook
- English : - Korean
Operating Systems, 3rd Ed., 운영체제론,
Harvey M. Deitel(HMD), Paul J. Deitel, Harvey M. Deitel and Others 저,
David R. Choffnes 송경희역,
Pearson Education/2004 한빛아카데미/2020
4/25
Contents
✓ 01_Introduction
✓ 02_What is an Operating System?
✓ 03_Early History: The 1940s and 1950s
✓ 04_The 1960s
✓ 05_The 1970s
✓ 06_The 1980s
✓ 07_History of the Internet and World Wide Web
✓ 08_The 1990s
✓ 09_2000 and Beyond
✓ 10_Application Bases
✓ 11_Operating System Environments
✓ 12_Operating System Components and Goals
✓ 13_Operating System Architectures
5/25
01_Introduction
Computing power - Evolving as an unprecedented pace
= record-breaking
Current processing speed (Year 2022)
▪ Desktop workstation - BIPS(Billions of Instructions per second)
▪ Supercomputer - TIPS(Trillions of Instructions per second)
▪ Fugaku-7.3 million cores(2020) Frontier-a speed of 1.1 exaFLOPS (2022.5)
exa(1018) FLOPS: FLoating point Operations Per Second
Use computers in almost every aspect of our lives
• Reshaping the roles and responsibilities of OS
• Desktop PC - Documentation, Game, Music, Video, Finance Management
• Portable Devices - Notebook, Smartphone, MP3
• Wired&Wireless N/W, Internet&WWW, N/W Computer
What does this book review and discuss?
• Principles of OS
• Structure and responsibility of OS
• Design consideration of OS
• Performance, Fault Tolerance, Security, Modularity and Cost
• Recent OS design issues in distributed computing, Internet and WWW
6/25
02_What is an Operating System?
In the 1960s – the Software that controls the hardware
A S/W that enables applications to interact with a computer's H/W
• Manages the software and hardware to produce the desired result
Resource Manager
• Hardware
• Processors
• Memory (Main & Secondary)
• Input/Output Devices
• Communication Devices
• Software
• Applications
• Other software abstractions such as an virtual machines
7/25
03_Early History: The 1940s and 1950s
OS has evolved over the last 80 years through several distinct
phases
▪ The 1940s
• No OS in electronic digital computer
• Mechanical switch - entered machine-language program one bit at a time
• Punched card – punched machine-language program
• Assembly language – English-like abbreviations
▪ The 1950s
• Implemented the first OS (IBM 701)
• Executed one job(the set of program instructions) at a time
• It is a single-stream batch-processing system
• Programs and data were submitted in groups or batches by loading them
consecutively onto tape or disk
• Programmers directly control system resources(memory, I/O device)
8/25
04_The 1960s
Batch-Processing Systems
▪ Running several jobs at a time
Multi-Programming
▪ Resource Sharing
• Share the processor among a set of process(job)
• Switches the processor from job to job
IBM announced System/360(1964) → 370 → 390…
Interactive users using “Dumb Terminal”
Timesharing System (sharing computing resources)
▪ Support interactive computing, Sharing program and data
• MIT CTSS(Compatible Time-Sharing System)
• IBM TSS(Time Sharing System)
• CTSS → Multics(MIT/GE/Bell-Lab) : Used terminology “process” first
• CP/CMS(Control Program/Conversational Monitor System) → Virtual
Machine(IBM)
9/25
05_The 1970s
OS is multimode multiprogramming system
▪ Support batch processing, timesharing, real-time application
Revolution of Personal Computing (the late 1970s, Apple II)
TCP/IP Communication Standard (DoD)
LAN – Ethernet (Xerox, Palo Alto Research Center)
Introduced Security Problem
• Attention of Data Encryption/Decryption Technology
O/S includes networking and security features
O/S improves in performance to meet commercial demand
10/25
06_The 1980s
Decade of the personal computer and the workstation
▪ Evolved microprocessor technology to the level of 1970s mainframe
▪ IBM PC(1981), Apple Macintosh(1984)
▪ New Application Software
• Spreadsheet, Word Processor, Database, Graphic Package
▪ Introduced GUI(graphical user interface)
• Easy to learn and use
• Window, Icon, Menu, Mouse
Developing Computer Network
▪ Transferring information between computers became more economical
and practical
• Electronic Mail, File Transfer, Remote Database Access
▪ Widespread client/server computing model
• Provide distributed computing environment
Evolved software engineering
11/25
07_History of the Internet and WWW
ARPA(Advanced Research Project Agency)
▪ ARPAnet → Internet
• The grandparent of today’s Internet
• Quick and easy communication
• Operate without centralized control
✓ Route data packets from senders to receivers over alternative paths even if a
portion of network fails
• TCP/IP Protocol
✓ Communication Protocols over the ARPAnet
✓ Error-proof message(data) delivery
• Open to Commercial Purpose
✓ Concerned the saturation but the opposite
✓ Increased Bandwidth
✓ Decreased H/W and Communication Cost
World Wide Web(WWW) HyperText Markup Language
European Center for Nuclear Research HyperText Transfer Protocol
▪ In 1989, Tim Berners-Lee of CERN developed a technology for sharing
information via hyperlinked text documents (HTML, HTTP)
▪ User can view multimedia-based documents on almost any subject
12/25
08_The 1990s
The 1990s Distinct Characteristic
▪ Exponential improvement of H/W performance
• Dramatically increase of processing power(MIPS~TIPS) and storage(Gbytes)
▪ WWW led to an explosion in the popularity of distributed computing
• Distributed computing became commonplace among personal computers
• Use distributed computing to scale resource use and increase efficiency
▪ A growth of Microsoft
• DOS OS(1981), Windows OS(the mid-1980s), Windows 3.0(1990) ~ Windows 98
• Windows provides user-friendly interface borrowed from Machintosh
• Dominated desktop OS market
• Announced Window NT for corporate OS market(1993)
▪ Object Technology (Language – C++, Java, .Net)
• The OO Program makes programmers reuse components and reduce coding time
• The object-oriented concept makes the OOOS easier to maintain and extend than
previous OS
▪ Open Source Movement
• The movement toward open-source software
✓ Linux, Apache, FreeBSD and etc.-free under GPL(General Public License)
13/25
09_2000s and Beyond
Middleware
▪ A software that links two separate applications over a network
• Web Server-Apache HTTP Server, Network S/W, Messaging S/W and etc.
Web Service
▪ Enable any two applications to communicate and exchange data via the Internet
▪ Drive the shift toward distributed computing
Multiprocessor and Network Architectures
▪ Creating numerous opportunities for research and development of new H/W and
S/W design techniques
Massive Parallelism
▪ Many independent parts of computations can be performed in parallel using large
number of processors
OS are standardizing UI and API
▪ Makes easier to use and support a great number of programs
• Windows XP merged the consumer and professional lines
• Linux employs standard API such as POSIX(Portable OS Interface)
14/25
10_Application Bases
IBM PC spawned a huge S/W industry
▪ ISVs(independent software vendors) were able to make and sell S/W
packages for the IBM PC to run under the MS-DOS
OS became Bases of Applications
▪ OS free application S/W developers from manipulating computer H/W
• Provides API calls which a user program instructs the OS to do the work
▪ Application developer simply calls a specific routine(system calls)
15/25
11_OS Environments (1/3)
General-purpose Computers
▪ has high-capacity main memory and disk, high-speed processor, various
peripheral devices and etc.
▪ Personal Computers and Workstations
▪ High-end Web Server and Database Server containing high-performance HW
Embedded Systems
▪ Manage a small set of specialized resources that provide functionality to devices
such as Home appliances, N/W equipment and Cell Phones
▪ Efficient resource management is the key
▪ Must provide services using a minimal amount of code
▪ Consider Power management
▪ Consider User-friendly interface
Real-time Systems
▪ Must perform a task within a particular(often short) time frame
• Soft Real-time system – high priority but the best effort
• Hard Real-time system – guarantee on time
• Mission-critical system – air traffic control
• Business-critical system – e-business
16/25
11_OS Environments (2/3)
Virtual Machine(VM)
▪ A S/W abstraction of a computer – execute OS as a user application
on top of the native OS
▪ Virtual Machine OS
• Manage the resources provided by the virtual machine
▪ Application of Virtual Machine
• Allow multiple instances of OS to execute concurrently
• Emulation
✓ Mimics the functionality of HW or S/W not present in the system
▪ Multiple users share H/W
• Promote portability – the ability for S/W to run on multiple platforms
▪ Java Virtual Machine(JVM)
• JVM allows Java applications to execute on any JVM regardless of the
platform
• VMware – provides VMs, particularly for the Intel architecture
17/25
11_OS Environments (3/3)
Virtual Machine(VM)
18/25
12_OS Components
Core OS Components (Kernel)
▪ Process Scheduler
• When and for how long a process execute on a processor
▪ Memory Manager
• When and how memory is allocated to processes and what to do when
main memory becomes full
▪ I/O Manager
• Services input and output requests from and to hardware devices,
respectively
▪ Intercrosses Communication(IPC) Manager
• Allows processes to communicate with one another
▪ File System Manager
• Organizes named collections of data on storage devices and provides
an interface for accessing data on those devices
19/25
12_OS Goals
OS Goals
▪ Efficiency
• High throughput and low average turn-around time
▪ Robustness
• Fault tolerant and reliable
▪ Scalability
• Use resources as they are added
▪ Extensibility
• Adapt well to new technologies and provide capabilities to extend the OS to
perform tasks beyond its original design
▪ Portability
• Operate on many HW configurations (OS and applications)
▪ Security
• Prevents users and software from accessing services and resources without
authorization
▪ Interactivity
• Allows applications to respond quickly to user actions, or events
▪ Usability
• Has the potential to serve a significant user base and generally provide an easy-
to-use user interface (Linux, Windows, MacOS)
20/25
13_OS Architecture (1/5)
Today’s OSs tend to be complex because
▪ Provide many services
▪ Support a variety of HW and SW resources
OS Architectures
▪ Monolithic Architecture
▪ Layered Architecture
▪ Microkernel Architecture
21/25
13_OS Architecture (2/5)
Monolithic Architecture
▪ Every components of the OS is contained in the kernel
▪ Communicate with any other components using function calls
▪ Unrestricted access to the computer system
▪ Achieve high efficiency
▪ Susceptible to damage from errant and malicious code
22/25
13_OS Architecture (3/5)
Layered Architecture
▪ Grouping components that perform similar functions into layers
▪ Each layer communicates with layer immediately above and below it
▪ Lower level layers provide services to higher-level ones using an
interface that hides their implementation
▪ Modularity imposes structure and consistency on the OS
• Simplifying SW validation, debugging and modification
▪ Performance degrades compared to that of a monolithic kernel
23/25
13_OS Architecture (4/5)
Microkernel Architecture
▪ Provides only a small set of services in kernel
• To keep the kernel small and scalable
▪ Includes only low-level memory management, IPC and basic process
synchronization for cooperation
▪ Some components(Fig. 1.5) execute outside the kernel with a lower
privilege level
▪ Exhibit a high degree of modularity, making them extensible, portable
and scalable
▪ Heavy inter-module communication can degrade system performance
24/25
13_OS Architecture (5/5)
Networked and Distributed OS
▪ Network OS
• Enables its processes to access resources that reside on other independent
computers on a network
• Network file system (ex, SUN’s NFS)
▪ Distributed OS
• A single OS that manages resources on more than one computer system
• Difficult to implement
• Require complicated algorithms to enable processes to communicate and
share data
25/25
Thank You !
Operating Systems