An interface that connects the user (brainware) with computer hardware
In the past, humans could only operate computers using signals
Operating system
Manages hardware components
Allocates memory and processing power
Handles input/output operations
Provides a user interface for interacting with the system
Computer system
A broader term that includes all the hardware and software that work together to perform a specific task
Computer system
Laptop
PC
Cell phone
Operating system
A specific type of software that acts as "core" software that manages computer system resources and provides a platform for other software to run
Operating systems
Windows
Linux
Mac OS
Android
Studying operating systems can help us to maximize and optimize OS usage, choose the most suitable OS for our purposes, modify existing operating systems to suit with our goals, and even create our own OS
Purpose of an OS
Convenience: makes using and operating a computer easier
Efficiency: so that resources in a computer system can be used as efficiently as possible
Evolvability: allows easier development, testing and deployment of new systems when developing operating systems
Evolution of Operating Systems
1. First Generation (1945 – 1955)
2. Second Generation (1955 – 1965)
3. Third Generation (1965 – 1980)
4. Fourth Generation (1980 – present)
In the First Generation (1945 – 1955), there was no operating system invented yet, so humans still gave every instruction directly and manually to the computer using assembly language
In the Second Generation (1955 – 1965), Batch Processing System was introduced and some computers started to be equipped with OS
In the Third Generation (1965 – 1980), the OS was developed to handle multipleusers simultaneously, where the users interact interactively with the computer via an online terminal
In the Fourth Generation (1980 – present), OS has been widely used in computer networks where users can recognize other computers or users who are also connected and connected to each other, and the era of distributed computing has just begun
Operating System Services
Program creation
Program execution
I/O device access
Controlled accessto files
System access
Accessfunctions
Error detection and response
Accounting
Computer structure
The way each component is related to each other
Components of computer structure
Computer operating system
I/O structure
Storage structure
When a computer is started for the first time (when booting), there will be an initial program that must be run which is called the bootstrap program
Interruptions are an important part of computer system architecture, and can occur when hardware or software requests to be "served" by the processor
Synchronous I/O
Control is returned to the user process once the I/O process is complete
Asynchronous I/O
Control is returned to the user process without waiting for the I/O process to complete so that the I/O process and the user process can run simultaneously
Direct Memory Access (DMA) structure
An I/O management method in which the device controller connects directly to memorywithoutCPU intervention
Computer programs must be loaded in main memory (usually RAM) in order to run
Main memory
A storage area that can be accessed directly by the processor, but is volatile and cannot be stored permanently
Registry
A storage area that can be accessed directly by the processor, and is the fastest storage medium compared to main memory
Cache
A storage buffer created to overcome the speed difference between the registry and main memory
Magnetic Disks
Act as secondary storage in modern computer systems, consisting of platters covered with magnetic material and divided into rotating tracks and sectors
Operating system development is significantly influenced by hardware developments, and as hardware develops and becomes more sophisticated, so do operating systems
Components in Modern OS
Process Management
Main Memory Management
Secondary Storage Management
I/O Device Management
I/O System Management
File Management
Protection System
Command Interpreter System
Process
The state when a program is being executed, requiring resources like CPU time, memory, files, and I/O devices
Process Management
Create and delete user processes and system processes
Suspend or resume the process
Provides a mechanism for process synchronization
Provides a mechanism for process communication
Provides a mechanism for handling deadlocks
Main memory
A large array of words or bytes, used as a temporary storage area by the CPU or I/O devices
Main Memory Management
Track memory in use and who is using it
Selects the program to be loaded into memory
Allocate and reallocate memory space as needed
Secondary storage
Permanent storage for data and computer programs, larger than main memory
I/O Device Management
Provides a common "device driver" so that I/O operations can be uniform
I/O System Management
Buffer: temporarily stores data from/to I/O devices
Spooling: scheduling the use of the I/O system to make it more efficient
Provides drivers to be able to perform "detailed" operations for specific I/O hardware
File
A collection of related information according to the purpose of the file creator, with a hierarchical structure
File Management
File creation and deletion
Directory creation and deletion
Supports file and directory manipulation
Map files to secondary storage
Back up files to permanent storage media
Protection
Mechanisms for controlling access by programs, processors, or users to system resources
Command Interpreter System
Programs that read instructions and interpret control statements, varying greatly between operating systems