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. Bootstrap Source
  • Operating System Types: Source
    • Batch Systems
      • 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. Batch
    • 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. Time-Sharing
    • 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.) RTOS
    • Distributed Operating Systems
      • Utilizes multiple interconnected computers over a shared network, also known as distributed systems. Distributed
    • 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.