[go: up one dir, main page]

0% found this document useful (0 votes)
43 views26 pages

01 - Introduction To Operating System

The document outlines the course structure for an Operating Systems class taught by Professor Edward Youngil Kim, including class operation details, evaluation criteria, and a 15-week schedule of topics. It covers the evolution of operating systems from the 1940s to the present, discussing key concepts, architectures, and components of operating systems. The course also includes practical project work and presentations, with a focus on both theoretical and applied aspects of operating systems.

Uploaded by

d84v5r9hvc
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)
43 views26 pages

01 - Introduction To Operating System

The document outlines the course structure for an Operating Systems class taught by Professor Edward Youngil Kim, including class operation details, evaluation criteria, and a 15-week schedule of topics. It covers the evolution of operating systems from the 1940s to the present, discussing key concepts, architectures, and components of operating systems. The course also includes practical project work and presentations, with a focus on both theoretical and applied aspects of operating systems.

Uploaded by

d84v5r9hvc
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/ 26

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

You might also like