Operating system
OS classification by purpose 🚩
Multiprocessor operating systems
Operating systems of personal computers
Operating systems of mobile devices, PDAs, etc.
Built-in operating systems
Smart card operating systems
Server operating systems
Mainframe operating systems
Real-time operating systems
Operating systems of sensor nodes
Data input and output ✏
Device drivers
Universal input/output interface
Network support 👥
Network systems
Distributed systems
Provide local resources
Access the resources of other computers over the network
Allows you to combine
resources of several computers
Security 🔒
Shell 💥
command prompt (shell)
graphical user interface (GUI)
System calls ⚠
System calls for process control
System calls for file management
System calls for managing directories
System calls for protection
System calls for time management, etc.
Ensuring system reliability
Protection of data from unauthorized access
Authentication
Authorization
Protecting the system from unwanted intrusions,
File protection
Operating system functions ✅
As a resource manager
As an extended machine
Execution of on-demand programs
Loading programs into RAM and executing them
Standardized access to peripherals
Managing RAM
Manage access to data on
non-volatile media
Providing the user interface
Saving information about system errors
Multitasking
Efficient allocation of computer system resources between processes.
Separate access to resources for different processes.
Organizing reliable computing
Interaction between processes: data exchange, mutual synchronization.
Protection of the system itself, as well as user data and programs from user actions
Multi-user mode of operation and
differentiation of access rights
Types of operating systems ⭐
By the number of tasks
Single-tasking
Multitasking
By number of users
Single-user
Multi-user
By access type
Universal
(for general use);
Special
(for solving special tasks)
Batch processing systems
Systems of dialog or
interactive access systems
Real-time systems
Structuring the OS ♻
Core (basic OS functions)
Modules (auxiliary functions of the OS)
Classification of kernel architecture types
Utilities
Set of functions
System processing programs
Programs for providing additional services to users
System libraries
Manage information input and output
Interrupt handling
Managing RAM
Process management
Support for multitasking
Monolithic core
Modular core
Multilevel core
Micronucleus
Exo-nucleus
Nanonucleus
Hybrid core
Processes
Process states
Generation
Creating a process
User request to create a new process
Initiate a batch job
Execution by a running process of a system call intended to create a process
System initialization
Completion
Completing the process
Exit when an error occurs (the system asks whether to terminate the process)
A fatal error occurs (it is not possible to influence the completion process)
Destruction by another process (via the kill system call on Linux and Terminate Process on Windows)
Normal exit (voluntary termination of the process)
Active or "running" state
Waiting or blocking
Readiness
Flows
Application of flows
Ways to implement the flow model
User flow
Kernel flow
Types of parallelism
parallelism of input-output operations
parallelism of interaction with the user
parallelism of distributed systems
parallelism of multiprocessor systems
The main problems of flow interaction
The problem of competition
Critical sections and interlocks
Blocking
Hardware support for locks
OS synchronization mechanisms
Basic mechanisms for synchronizing streams
Synchronization mechanisms
universal, low-level
simple, low-level
high-level universal
high-level
Semaphores
Semaphore reduction
Semaphore increase
Mutexes
Occupy mutex
Release the mutex
Conditional variables and the monitor concept
Expectations
Signaling
Broadcast alarms
Ways to implement multitasking
create a single process that has several threads of execution
create multiple processes, each with one or more threads of execution
Types of interprocess interaction
message transmission
distributed memory
of the displayed memory.
Process and flow planning
Types of planning
Long-term planning
Medium-term planning
Short-term planning
Planning algorithms
Planning based on the FIFO principle
Circular planning
Planning based on performance characteristics
Multilevel queues with feedback
Lottery planning
(2 diagram)