Introduction to Operating Systems
Topics:
Operating Systems Definitions, Types of operating system, Functionalities and Characteristics of OS,
Hardware Concepts related to OS, Operating system Services, System Calls, System structure.
Download os book
Introduction Course aims, course outlines,
computer system, introduction to os, abstract view of os, what happens when you run a program?,
what does os do?, OS manages cpu, memory, and io, goals of os, history of os
Take a test!!
Operating systems types and process introduction Recommended reading. Types of os,
batch system, multi-programming, real-time os, multi-process os, time-sharing os, distributed os,
monolithic os
Home assignment #1 (deadline:
Sept 12, 2023)
User and Operating System
Interface OS structure, user and os interface, command interpreter, system calls, some unix commands,
implementing cat command, gui, system calls
Process Management
Topics:
Process concepts. Process state & process control block, process scheduling, scheduling criteria, scheduling
algorithms, multiple-processor scheduling, real-time scheduling, threads, threads in linux
Introduction to process
management Introduction to Process Management, process states, what constitutes a process?, how does
OS creates a process, fork(), OS data structures, state transitions, process related system
calls, what happens during fork()?
Process scheduling Process Scheduling,
why switch between processes, scheduling criteria, os scheduler, what resources to be optimized, types of
process scheduling, FIFO, SJF, RR, static priority scheduling, dynamic priority scheduling, scheduling real systems.
Home assignment #2 (Submission deadline:
Oct 16, 2023)
Threads and Concurrency Thread definition,
threads and concurrency, Single threaded process, multithreaded process, process vs. threads, why threads?, threads and
concurrency, advantages of threads, multi-threads on single core and multi-core, thread creation.
Programming multi-core systems Multi-core
programming, programming challenges, types of parallelisms, multithreading models, pthreads, signal handling,
thread cancellation & kill.
Threads and Concurrency-2 Thread creation
in Unix, sharing global data in threads, multiple threads creation, compiling programs, and running
Class test#1 Question paper & Solution
Problems of multi-threading Thread with
shared data, race conditions and synchronization
Process Synchronization
Topics:
Critical section problem, semaphores, classical problem of synchronization, deadlock characterization. methods
for handling deadlocks, deadlock prevention, deadlock avoidance, deadlock detection, recovery from deadlock,
process scheduling in linux.
Critical section Interprocess communication,
Shared memory and message passing approaches, producer consumer problem, mutual exclusion, critical
section, critical section for kernel processes, mutex locks.
Home assignment #3 (Submission deadline:
Nov 27, 2023)
Semaphore wait(), signal(), semaphore uses and
implementation, in single processor and multiprocessor, dead lock, starvation, Q/A.