Operating Systems : brief overview

Understanding Computers

Memory

  • Capacity
  • Speed
  • Cost

Secondary Storage Devices

Operating System

Kernel

Batch Multi-programming

Multi Programming

Processes

5 state process model

image source: https://medium.com/@sohailk1999/five-state-process-model-6e83d7428c8c

Suspension

image source: https://www.researchgate.net/figure/A-Seven-State-Process-Model_fig1_324379760

Process Control Block (P.C.B)

  • Memory — Uses a memory table — This is useful for paging and segmentation.
  • Input / Output — Uses an I/O table — To make sure that i/o devices are accessible when needed
  • File — Uses a file table — checks the file permissions and accessibility to the required files
  • Call Stack — Uses a primary table — All active functions are tracked using process image.
  1. Process ID — 16 bit tracking ID. (ex: process ID for __init__ == 1)
  2. Parent Process ID — These IDs are used to keep a track of the parent process, how old a process is and whom to call when the process is complete. These IDs are also freed and reused later.
  3. User ID — Keeps track of the resource permissions given to the process / user.
  4. Registers — Saving state during suspension of a process
  5. Stack Pointers
  6. Scheduling
  7. Linkage — information related to linked processes
  8. Inter Process Communication (I.P.C.)
  9. Resources
  10. Memory

Kernel Mode vs User Mode

This was part 1 of my 3 part series on Operating systems. Part 2 will cover topics like context switching, threads, mutual exclusion, semaphores and deadlocks.In part 3 will dive deep into Memory management and talk about partitioning strategies, buddy system, paging, virtual memory and replacement strategies.Other topics that you is look into:
Lookup problem, Replacement policies, get more resources here.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store