Chapter_1_Introduction
Course ID: U10M12007.01
Instructor: Tianhai Zhao
Email: zhaoth@nwpu.edu.cn
Office Location: 305 Chengzi building, YouYi campus
Classroom: East building 311
Class Schedule: Monday and Wednesday, 10:30-12:10
Credit Hours: 3.5
Class Weeks: 2-15
Overview of Operating Systems
Process Management
Memory Management
Storage Management
Protection and Security
Operating System Concepts (10th Edition)
Authors: Avi Silberschatz, Peter Baer Galvin, Greg Gagne
Publisher: John Wiley & Sons, Inc.
ISBN: 978-1-118-06333-0
Reference Books:
Operating Systems: Three Easy Pieces - Remzi H. Arpaci-Dusseau, Andrea C. Arpaci-Dusseau
Operating Systems: Internal and Design Principles - William Stallings
Operating Systems: Principles and Practice - Anderson and Dahlin
CS 162: Operating Systems and System Programming - Course Link
Online Videos Available at Bilibili or YouTube
Principles of Computer Organization
Program Design & Development
Data Structures
Compilers
Final Exam: 65-75%
Projects: 5-10%
Homework: 10-15%
Participation: 10%
Designing and building operating systems or components is becoming more common.
Essential for developing systems utilizing core concepts of operating systems.
Understanding design and implementation enhances application development.
Quote by Xunzi on the importance of practical learning:
"Not hearing is not as good as hearing... true learning continues until it is put into action."
Students encouraged to practice timely after learning.
Define what an operating system is and isn't.
Encourage active participation and questions.
Various operating systems examples: Linux, Microsoft Windows, Android, etc.
Serves as an intermediary between users and computer hardware.
Execute user programs efficiently.
Enhance convenience of system use.
Utilize hardware effectively.
Components:
Hardware: CPU, memory, I/O devices
Operating System: Manages and coordinates hardware use
Application Programs: Define usage of system resources
Users: Individuals, machines, or other computers
User perspective prioritizes convenience.
System perspective emphasizes efficient resource allocation and error control.
Resources allocation and control program roles are critical.
A universal definition is lacking; typically, an OS is viewed as managing hardware and providing services to programs.
CPUs and device controllers interact through a shared bus for memory access.
CPUs and devices compete for memory access cycles.
A bootstrap program is loaded upon power-up, initializing all system aspects and loading the OS kernel.
Improve processor utilization by allowing execution of other instructions while an I/O operation is in progress.
Interrupts lead to control transitions through interrupt handlers (ISRs) for specific conditions.
Different classes include hardware interrupts and software-generated interrupts (traps).
Main memory is volatile, while secondary storage provides non-volatile storage capacity.
Disk management is central to performance:
Magnetic disks divided into tracks and sectors.
SSDs gain popularity due to speed.
Utilizes principles of spatial and temporal locality to enhance data retrieval efficiency.
Cache memory is smaller than main storage, thus cache management is critical.
Definition: A process is a program in execution, needing resources to accomplish tasks.
Single-threaded vs multi-threaded processes, resource handling, and concurrency.
Creation and deletion of processes, synchronization, communication, and deadlock management responsibilities.
Memory management involves tracking memory usage, moving data in and out of memory, and resource allocation.
OS provides a uniform logical view of storage, maintains access control, and manages file operations.
Disk scheduling and free-space management are vital components.
Abstract hardware complexity and manage I/O operations efficiently through drivers and buffering techniques.
Protection systems control users' access to resources; security aims to defend systems from attacks.
User IDs and security IDs enable access control.
Traditional systems blur the lines with interconnectivity.
Mobile systems like smartphones incorporate specialized OS features.
Distributed environments integrate various systems for improved efficiency.
Cloud computing offers scalable services based on virtualization principles.
Real-time embedded systems necessitate strict operation constraints.
Operating systems manage resources and provide essential services, enhancing application development and user experience.
Course ID: U10M12007.01
Instructor: Tianhai Zhao
Email: zhaoth@nwpu.edu.cn
Office Location: 305 Chengzi building, YouYi campus
Classroom: East building 311
Class Schedule: Monday and Wednesday, 10:30-12:10
Credit Hours: 3.5
Class Weeks: 2-15
Overview of Operating Systems
Process Management
Memory Management
Storage Management
Protection and Security
Operating System Concepts (10th Edition)
Authors: Avi Silberschatz, Peter Baer Galvin, Greg Gagne
Publisher: John Wiley & Sons, Inc.
ISBN: 978-1-118-06333-0
Reference Books:
Operating Systems: Three Easy Pieces - Remzi H. Arpaci-Dusseau, Andrea C. Arpaci-Dusseau
Operating Systems: Internal and Design Principles - William Stallings
Operating Systems: Principles and Practice - Anderson and Dahlin
CS 162: Operating Systems and System Programming - Course Link
Online Videos Available at Bilibili or YouTube
Principles of Computer Organization
Program Design & Development
Data Structures
Compilers
Final Exam: 65-75%
Projects: 5-10%
Homework: 10-15%
Participation: 10%
Designing and building operating systems or components is becoming more common.
Essential for developing systems utilizing core concepts of operating systems.
Understanding design and implementation enhances application development.
Quote by Xunzi on the importance of practical learning:
"Not hearing is not as good as hearing... true learning continues until it is put into action."
Students encouraged to practice timely after learning.
Define what an operating system is and isn't.
Encourage active participation and questions.
Various operating systems examples: Linux, Microsoft Windows, Android, etc.
Serves as an intermediary between users and computer hardware.
Execute user programs efficiently.
Enhance convenience of system use.
Utilize hardware effectively.
Components:
Hardware: CPU, memory, I/O devices
Operating System: Manages and coordinates hardware use
Application Programs: Define usage of system resources
Users: Individuals, machines, or other computers
User perspective prioritizes convenience.
System perspective emphasizes efficient resource allocation and error control.
Resources allocation and control program roles are critical.
A universal definition is lacking; typically, an OS is viewed as managing hardware and providing services to programs.
CPUs and device controllers interact through a shared bus for memory access.
CPUs and devices compete for memory access cycles.
A bootstrap program is loaded upon power-up, initializing all system aspects and loading the OS kernel.
Improve processor utilization by allowing execution of other instructions while an I/O operation is in progress.
Interrupts lead to control transitions through interrupt handlers (ISRs) for specific conditions.
Different classes include hardware interrupts and software-generated interrupts (traps).
Main memory is volatile, while secondary storage provides non-volatile storage capacity.
Disk management is central to performance:
Magnetic disks divided into tracks and sectors.
SSDs gain popularity due to speed.
Utilizes principles of spatial and temporal locality to enhance data retrieval efficiency.
Cache memory is smaller than main storage, thus cache management is critical.
Definition: A process is a program in execution, needing resources to accomplish tasks.
Single-threaded vs multi-threaded processes, resource handling, and concurrency.
Creation and deletion of processes, synchronization, communication, and deadlock management responsibilities.
Memory management involves tracking memory usage, moving data in and out of memory, and resource allocation.
OS provides a uniform logical view of storage, maintains access control, and manages file operations.
Disk scheduling and free-space management are vital components.
Abstract hardware complexity and manage I/O operations efficiently through drivers and buffering techniques.
Protection systems control users' access to resources; security aims to defend systems from attacks.
User IDs and security IDs enable access control.
Traditional systems blur the lines with interconnectivity.
Mobile systems like smartphones incorporate specialized OS features.
Distributed environments integrate various systems for improved efficiency.
Cloud computing offers scalable services based on virtualization principles.
Real-time embedded systems necessitate strict operation constraints.
Operating systems manage resources and provide essential services, enhancing application development and user experience.