Section 1: Operating System Basics - bmitch26/Operating-Systems GitHub Wiki
Section 1. Operating System Basics
Kernel
A kernel is the core part of an operating system that acts as a bridge between the hardware of a computer
and the software applications that are being run. It also helps to manage system resources and handles various tasks
like running programs, accessing files, and connecting to IO devices.
Source
System Calls
A system call is the mechanism by which a program interacts with the underlying system to request services using the kernel.
Source
User Mode vs. Kernel Mode
User Mode and Kernel Mode refers to the way in which programs can be run. When a program is run in User Mode, it is booted up
on an operating system level. These programs are run with limited privileges and are not allowed direct access to the system
resources. On the contrary, Kernel Mode is when the program switches to the kernel level for the most privileged access to be
able to interact with the hardware directly. Soruce
Bootstrapping/Boot Process
Bootstrapping refers to the process by which the hardware sequences the operations needed to load up and execute the
operating system. The process can be seen simply as referred to in the image below.
Source
Batch systems don't interact with the computer directly, but rather is designed to manage and execute a large number of jobs
processed by groups. This system depends on the operator sorting the jobs with similar needs and requirements.
Time-Sharing Systems
Also known as Multitasking Systems, these systems assign a set of time (quantum) to each task before moving on to the next.
The time assigned is irregardless of the tasks being from the same user.
Real-Time Operating Systems
These systems are meant to serve real-time systems with minimal response times and are utilized for extremely time-sensitive
systems requiring almost immediate deployment (e.g. missile systems, air traffic control, airbags, etc.)
Distributed Operating Systems
Utilizes multiple interconnected computers over a shared network, also known as distributed systems.
Embedded Systems
Systems built to be embedded into a particular application (e.g. appliances, vehicles, etc.) with specific hardware and tasks
for that purpose. Often have limited user interface and are optimized for reliability.