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)