HelloWorld.log
로그인
HelloWorld.log
로그인
Operating System Concept 목차 정리(공룡책)
SeunghoChoe
·
2021년 2월 28일
팔로우
0
Operating System Concepts
0
큰 단위 목차
Introduction
What Operating Systems Do
Computer-System Organization
Computer-System Architecture
Operating-System Structure
Operating-System Operations
Process Management
Memory Management
Storage Management
Protection and Security
Kernel Data Structures
Computing Environments
Open-Source Operating Systems
Summary
System Structures
Operating-System Services
User and Operating-System Interface
System Calls
Types of System Calls
System Programs
Operating-System Design and Implementation
Operating-System Structure
Operating-System Debugging
Operating-System Generation
System Boot
Summary
Process Concept
Process Concept
Process Scheduling
Operation on Processes
Interprocess Communication
Examples of IPC Systems
Communication in Client-Server Systems
Summary
Multithreaded Programming
Overview
Multicore Programming
Multithreaded Models
Thread Libraries
Implicit Threading
Threading Issues
Operating-System Examples
Summary
Process Scheduling
Basic Concepts
Scheduling Criteria
Scheduling Algorithms
Thread Scheduling
Multiple-Processor-Scheduling
Real-Time CPU Scheduling
Operating-System Examples
Algorithm Evaluation
Summary
Synchronization
Background
The Critcal-Section Problem
Peterson's Solution
Synchronization Hardware
Mutex Locks
Semaphores
Classic Problems of Synchronization
Monitors
Synchronization Examples
Alternative Approaches
Summary
Deadlocks
System Model
Deadlock Characterization
Methods of Handling Deadlocks
Deadlock Prevention
Deadlock Avoidance
Deadlock Detection
Recovery from Deadlock
Summary
Memory-Management Strategies
Background
Swapping
Contiguous Memory Allocation
Segmentation
Paging
Structure of the Page Table
Example: Inter 32 and 64-bit Architectures
Example: Arm Architecture
Summary
Virtual-Memory Management
Background
Demand Paging
Copy-on-Write
Page Replacement
Allocation of Frames
Thrashing
Memory-Mapped Files
Allocating Kernel Memory
Other Considerations
Operating-System Examples
Summary
File System
File Concept
Access Methods
Directory and Disk Structure
File-System Mounting
File Sharing
Protection
Implementing File-Systems
File-System Structure
File-System Implementation
Directory Implementation
Allocation Methods
Free-Space Management
Efficiency and Performance
Recovery
NFS
Example: The WAFL File System
Summary
Mass-Storage Structure
Overview of Mass-Storage Structure
Disk Structure
Disk Attachment
Disk Scheduling
Disk Management
Swap-Space Management
RAID Structure
Stable-Storage Implementation
Summary
I/O Systems
Overview
I/O Hardware
Application I/O Interface
Kernel I/O Subsystem
Transforming I/O Requests to Hardware Operation
STREAMS
Perfromance
Summary
System Protection
Goals of Protection
Principles of Protection
Domain of Protection
Access Matrix
Implementation of the Access Matrix
Access Control
Revocation of Access Rights
Capability-Based Systems
Language-Based Protection
Summary
System Security
The Security Problem
Program Threats
System and Network Threats
Cryptography as a Security Tool
User Authentication
Implementing Security Defeenses
Firewalling to Protect Systems and Networks
Computer-Security Classifications
An Example: Windows 7
Summary
The Linux System
Linux History
Design Principles
Kernel Modules
Process Management
Scheduling
Memory Management
File Systems
Input and Output
Interprocess Communication
Network Structure
Security
Summary
Windows 7
History
Design Principles
System Components
Terminal Services and Fast User Switching
File System
Networking
Programmer Interface
Summary
Influential Operating Systems
Feature Migration
Early Systems
Atlas
XDS-940
THE
RC 4000
CTSS
MULTICS
IBM OS/360
TOPS-20
CP/M and MS/DOS
Macintosh Operating System and Windows
Mach
Other Systems
Appendix A: BSD UNIX
UNIX History
Design Principles
Programmer Interface
User Interface
Process Management
Memory Managemnet
File System
I/O System
Interprocess Communication
Summary
Appendix B: The Mach System
History of the Mach System
Design Principle
System Components
Process Management
Interprocess Communication
Memory Management
Programmer Interface
Summary
세부 목차
1. Introduction
1. What Operating Systems Do
User View
System View
Defining Operating Systems
2. Computer-System Organization
Computer-System Operation
Storage Structure
I/O Structure
3. Computer-System Architecture
Single-Processor Systems
Multiprocessor Systems
Clustered Systems
4. Operating-System Structure
5. Operating-System Operations
Dual-Mode and Multimode Operation
Timer
6. Process Management
7. Memory Management
8. Storage Management
File-System Management
Mass-Storage Management
Caching
I/O Systems
9. Protection and Security
10. Kernel Data Structures
Lists, Stacks, and Queues
Trees
Hash Functions and Maps
Bitmaps
11. Computing Environments
Traditional Computing
Mobile Computing
Distributed Systems
Client-Server Computing
Peer-to-Peer Computing
Virtualization
Cloud Computing
Real-Time Embedded Systems
12. Open-Source Operating Systems
History
Linux
BSD UNIX
Solaris
Open-Source Systems as Learning Tools
13. Summary
System Structures
1. Operating-System Services
2. User and Operating-System Interface
Command Interpreters
Graphical User Interface
Choice of Interface
3. System Calls
4. Types of System Calls
Process Control
File Management
Device Management
Information Maintenance
Communcation
Protection
5. System Programs
6. Operating-System Design and Implementation
Design Goals
Mechanisms and Policies
Implementaion
7. Operating-System Structure
Simple Structure
Layered Approach
Microkernels
Modules
Hybrid Systems
Mac OS X
iOS
Android
8. Operating-System Debugging
Failure Analysis
Performance Tuning
DTrace
9. Operating-System Generation
10. System Boot
11. Summary
Process Concept
1. Process Concept
The Process
Process State
Process Control Block
Threads
2. Process Scheduling
Scheduling Queues
Schedulers
Context Switch
3. Operation on Processes
Process Creation
Process Termination
4. Interprocess Communication
Shared-Memory Systems
Message-Passing Systems
Naming
Synchronization
Buffering
5. Examples of IPC Systems
An Example: POSIX Shared Memory
An Example: Mach
An Example: Windows
6. Communication in Client-Server Systems
Sockets
Remote Procedure Calls
Pipes
Ordinary Pipes
Named Pipes
7. Summary
Multithreaded Programming
1. Overview
Motivation
Benefits
2. Multicore Programming
Programming Challenges
Types of Parallelism
3. Multithreaded Models
Many-to-One Model
One-to-One Model
Many-to-Many Model
4. Thread Libraries
Pthreads
Windows Threads
Java Threads
5. Implicit Threading
Thread Pools
OpenMP
Grand Central Dispatch
Other Approaches
6. Threading Issues
The fork() and exec() System Calls
Signal Handling
Thread Cancellation
Thread-Local Storage
Scheduler Activations
7. Operating-System Examples
Windows Threads
Linux Threads
8. Summary
Process Scheduling
1. Basic Concepts
CPU-I/O Burst Cycle
CPI Scheduler
Preemptive Scheduling
Dispatcher
2. Scheduling Criteria
3. Scheduling Algorithms
First-Come, First-Served Scheduling
Shortest-Job-First Scheduling
Priority Scheduling
Round-Robin Scheduling
Multilevel Queue Scheduling
Multilevel Feedback Queue Scheduling
4. Thread Scheduling
Contention Scope
Pthread Scheduling
5. Multiple-Processor-Scheduling
Approaches to Multiple-Processor Scheduling
Processor Affinity
Load Balancing
Multicore Processor
6. Real-Time CPU Scheduling
Minimizing Latency
Priority-Based Scheduling
Rate-Monotonic Scheduling
Earlies-Deadline-First Scheduling
Proportional Share Scheduling
POSIX Real-Time Scheduling
7. Operating-System Examples
Example: Linux Scheduling
Example: Windows Scheduling
Example: Solaris Scheduling
8. Algorithm Evaluation
Deterministic Modeling
Queueing Models
Simulations
Implementation
9. Summary
Synchronization
1. Background
2. The Critcal-Section Problem
3. Peterson's Solution
4. Synchronization Hardware
5. Mutex Locks
6. Semaphores
Semaphore Usage
Semaphore Implementation
Deadlocks and Starvation
Priority Inversion
7. Classic Problems of Synchronization
The Bounded-Buffer Problem
The Readers-Writers Problem
The Dining-Philosophers Problem
8. Monitors
Monitor Usage
Dining-Philosophers Solution Using Monitors
Implementing a Monitor Using Semaphores
Resuming Processes withing a Monitor
9. Synchronization Examples
Synchronization in Windows
Synchronization in Linux
Synchronization in Solaris
Pthreads Synchronization
10. Alternative Approaches
Transactional Memory
OpenMP
Functional Programming Languages
11. Summary
Deadlocks
1. System Model
2. Deadlock Characterization
Necessary Conditions
Resource-Allocation Graph
3. Methods of Handling Deadlocks
4. Deadlock Prevention
Mutual Exclusion
Hold and Wati
No Preemption
Circular Wait
5. Deadlock Avoidance
Safe State
Resource-Allocation-Graph Algorithm
Banker's Algorithm
Safety Algorithm
Resource-Request Algorithm
An Illustrative Example
6. Deadlock Detection
Single Instance of Each Resource Type
Several Instances of a Resource Type
Detection-Algorithm Usage
7. Recovery from Deadlock
Process Termination
Resource Preemption
8. Summary
Memory-Management Strategies
1. Background
Basic Hardware
Address Binding
Logical Versus Physical Address Space
Dynamic Loading
Dynamic Linking and Share Libraries
2. Swapping
Standard Swapping
Swapping on Mobile Systems
3. Contiguous Memory Allocation
Memory Protection
Memory Allocation
Framentation
4. Segmentation
Basic Method
Segmentation Hardware
5. Paging
Basic Method
Hardware Support
Protection
Shared Pages
6. Structure of the Page Table
Hierarchical Paging
Hashed Page Tables
Inverted Page Tables
Oracle SPARC Solaris
7. Example: Inter 32 and 64-bit Architectures
IA-32 Architecture
IA-32 Segmentation
IA-32 Paging
x86-64
8. Example: Arm Architecture
9. Summary
Virtual-Memory Management
1. Background
2. Demand Paging
Basic Concepts
Performance of Demand Paging
3. Copy-on-Write
4. Page Replacement
Basic Page Replacement
FIFO Page Replacement
Optimal Page Replacement
LRU Page Replacement
LRU-Approximation Page Replacement
Additional-Reference-Bits Algorithm
Second-Chance Algorithm
Enhanced Second-Chance Alogrithm
Counting-Based Page Replacement
Page-Buffering Algorithm
Applications and Page Replacement
5. Allocation of Frames
Minimum Number of Frames
Allocation Algorithm
Global Versus Local Alloation
Non-Uniform Memory Access
6. Thrashing
Cause of Thrashing
Working-Set Model
Page-Fault Frequencey
Concluding Remarks
7. Memory-Mapped Files
Basic Mechanism
Shared Memory in the Windows API
Memory-Mapped I/O
8. Allocating Kernel Memory
Buddy System
Slab Allocation
9. Other Considerations
Prepaging
Page Size
TLB Reach
Inverted Page Tables
Program Structure
I/O Interlock and Page Locking
10. Operating-System Examples
Windows
Solaris
11. Summary
File System
1. File Concept
File Attributes
File Operations
File Types
File Structure
Internal File Sturcture
2. Access Methods
Sequential Access
Direct Access
Other Access Methods
3. Directory and Disk Structure
Storage Structure
Directory Overview
Single-Level Directory
Two-Level Directory
Tree-Structured Directories
Acyclic-Graph Directories
General Graph Directory
4. File-System Mounting
5. File Sharing
Multiple Users
Remote File Systems
The Client-Server Model
Distributed Information Systems
Failure Modes
Consistency Semantics
UNIX Semantics
Session Semantics
Immutable-Shared-Files Semantics
6. Protection
Types of Access
Access Control
Other Protection Approaches
Implementing File-Systems
1. File-System Structure
2. File-System Implementation
Overview
Partitions and Mounting
Virtual File Systems
3. Directory Implementation
Linear List
Hash Table
4. Allocation Methods
Contiguous Allocation
Linked Allocation
Indexed Allocation
Performance
5. Free-Space Management
Bit Vector
Linked List
Grouping
Counting
Space Maps
6. Efficiency and Performance
Efficiency
Performance
7. Recovery
Consistency Checking
Log-Structured File Systems
Other Solutions
Backup and Restore
8. NFS
Overview
The Mount Protocol
The NFS Protocol
Path-Name Translation
Remote Operation
9. Example: The WAFL File System
10. Summary
Mass-Storage Structure
1. Overview of Mass-Storage Structure
Magnetic Disks
Solid-State Disks
Magnetic Tapes
2. Disk Structure
3. Disk Attachment
Host-Attached Storage
Netwrok-Attached Storage
Storage-Area Network
4. Disk Scheduling
FCFS Scheduling
SSTF Scheduling
SCAN Scheduling
C-SCAN Scheduling
LOOK Scheduling
Selection of a Disk-Scheduling Algorithm
5. Disk Management
Disk Formatting
Boot Block
Bad Blocks
6. Swap-Space Management
Swap-Space Use
Swap-Space Location
Swap-Space Management: An Example
7. RAID Structure
Improvement of Reliability via Redundancy
Improvement in Performance via Parallelism
RAID Levels
Selecting a RAID Level
Extensions
Problems with RAID
8. Stable-Storage Implementation
9. Summary
I/O Systems
1. Overview
2. I/O Hardware
Polling
Interrupts
Direct Memory Access
I/O Hardware Summary
3. Application I/O Interface
Block And Character Devices
Network Devices
Clocks and Timers
Nonblocking and Aysnchronous I/O
Vectored I/O
4. Kernel I/O Subsystem
I/O Scheduling
Buffering
Caching
Spooling and Device Reservation
Error Handling
I/O Protection
Kernel Data Structures
Kernel I/O Subsystem Summary
5. Transforming I/O Requests to Hardware Operation
6. STREAMS
7. Perfromance
8. Summary
System Protection
1. Goals of Protection
2. Principles of Protection
3. Domain of Protection
Domain Structure
An Example: UNIX
An Example: MULTICS
4. Access Matrix
5. Implementation of the Access Matrix
Global Table
Access Lists for Objects
Capability Lists for Domains
A Lock-Key Mechanism
Comparison
6. Access Control
7. Revocation of Access Rights
8. Capability-Based Systems
An Example: Hydra
An Example: Cambridge CAP Systems
9. Language-Based Protection
Compiler-Based Enforcement
Protection in Java
10. Summary
System Security
1. The Security Problem
2. Program Threats
Trojan Horse
Trap Door
Logic Bomb
Stack and Buffer Overflow
Viruses
3. System and Network Threats
Worms
Port Scanning
Denial of Service
4. Cryptography as a Security Tool
Encryption
Symmetric Encryption
Asymmetric Encryption
Authentication
Key Distribution
Implementation of Cryptography
An Example: SSL
5. User Authentication
Passwords
Password Vulnerabilities
Securing Passwords
One-Time Passwords
Biometrics
6. Implementing Security Defeenses
Security Policy
Vulnerability Assessment
Intrusion Detection
Virus Protection
Auditing, Accounting, and Logging
7. Firewalling to Protect Systems and Networks
8. Computer-Security Classifications
9. An Example: Windows 7
10. Summary
The Linux System
1. Linux History
The Linux Kernel
The Linux System
Linux Distribution
Linux Licensing
2. Design Principles
Components of a Linux System
3. Kernel Modules
Module Management
Driver Registration
Conflict Resolution
4. Process Management
The fork() and exec() Process Model
Process Identity
Process Environment
Process Context
Processes and Threads
5. Scheduling
Process Scheduling
Real-Time Scheduling
Kernel Synchronization
Symmetric Multiprocessing
6. Memory Management
Management of Physical Memory
Virtual Memory
Virtual Memory Regions
Lifetime of a Virtual Address Space
Swapping and Paging
Kernel Virtual Memory
Execution and Loading of User Programs
Mapping of Programs into Memory
Static and Dynamic Linking
7. File Systems
The Virtual File System
The Linux ext3 File System
Journaling
The Linux Process File System
8. Input and Output
Block Devices
Character Devices
9. Interprocess Communication
Synchronization and Signals
Passing of Data among Processes
10. Network Structure
11. Security
Authentication
Access Control
12. Summary
Windows 7
1. History
2. Design Principles
Security
Reliability
Windows and POSIX Application Compatibility
High Performance
Extensibility
Portability
International Support
Energy Efficiency
Dynamic Device Support
3. System Components
Hardware-Abstraction Layer
Kernel
Kernel Dispatcher
Threads and Scheduling
Implementation of Synchronization Primitives
Software Interrupts: Asynchronous and Deffered Procedure Calls
Exceptions and Interrupts
Swtiching between User-Mode and Kernel-Mode Threads
Executive
Object Manager
Virtual Memory Manager
Process Manager
Facilities for Client-Server Computing
I/O Manager
Cache Manager
Secruity Reference Monitor
Plug-and-Play Manager
Power Manager
Registry
Booting
4. Terminal Services and Fast User Switching
5. File System
NTFS Internal Layout
NTFS B+ Tree
NTFS Metadata
Recovery
Security
Volume Management and Fault Tolerance
Volume Sets and RAID Sets
Sector Sparing and Cluster Remapping
Compression
Mount Points, Symbolic Links, and Hard Links
Change Journal
Volume Shadow Copies
6. Networking
Network Interfaces
Protocols
Server-Message Block
Transmission Control Protocol/Internet Protocl
Point-to-Point Tunneling Protocol
HTTP Protocol
Web-Distributed Authoring and Versioning Protocol
Named Pipes
Remote Procedure Calls
Component Object Model
Redirectors and Servers
Distributed File System
Folder Redirection and Client-Side Caching
Domains
Active Directory
7. Programmer Interface
Access to Kernel Objects
Sharing Objects between Processes
Process Management
Scheduling Rule
Thread Priorities
Thread Suspend and Resume
Thread Synchronization
Thread Pool
Fibers
User-Mode Scheduling (UMS) and ConcRT
Winsock
Interprocess Communication Using Windows Messaging
Memory Management
Virtual Memory
Memory-Mapping Files
Heaps
Thread-Local Storage
8. Summary
Influential Operating Systems
1. Feature Migration
2. Early Systems
Dedicated Computer Systems
Shared Computer Systems
Overlapped I/O
3. Atlas
4. XDS-940
5. THE
6. RC 4000
7. CTSS
8. MULTICS
9. IBM OS/360
10. TOPS-20
11. CP/M and MS/DOS
12. Macintosh Operating System and Windows
13. Mach
14. Other Systems
BSD UNIX
1. UNIX History
2. Design Principles
3. Programmer Interface
4. User Interface
5. Process Management
6. Memory Managemnet
7. File System
8. I/O System
9. Interprocess Communication
10. Summary
The Mach Systems
1. History of the Mach System
2. Design Principle
3. System Components
4. Process Management
5. Interprocess Communication
6. Memory Management
7. Programmer Interface
8. Summary
SeunghoChoe
I'm a software engineer
팔로우
이전 포스트
Python의 병렬 처리, 개념(만) 이해해보기
다음 포스트
Python, Multiprocessing 모듈 이해하기
0개의 댓글
댓글 작성