0% found this document useful (0 votes)
25 views

Week 1 Lec 1

This document outlines the topics to be covered in an operating systems course, including: 1. An introduction to operating system concepts, computer system organization, and the purpose of operating systems. 2. A discussion of operating system structures, processes, threads, CPU scheduling, process synchronization, deadlocks, and memory management techniques like paging and segmentation. 3. Details on virtual memory, file systems, I/O management, and secondary storage management. 4. Definitions of what an operating system is and its main goals of executing programs, managing resources efficiently, and providing a convenient interface for users.

Uploaded by

mujtabaahmed390
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views

Week 1 Lec 1

This document outlines the topics to be covered in an operating systems course, including: 1. An introduction to operating system concepts, computer system organization, and the purpose of operating systems. 2. A discussion of operating system structures, processes, threads, CPU scheduling, process synchronization, deadlocks, and memory management techniques like paging and segmentation. 3. Details on virtual memory, file systems, I/O management, and secondary storage management. 4. Definitions of what an operating system is and its main goals of executing programs, managing resources efficiently, and providing a convenient interface for users.

Uploaded by

mujtabaahmed390
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 24

OPERATING SYSTEMS

(CSC 2205)

Department of Computer Science


SZABIST, Islamabad 1
WEEK 1 LEC 1

2
OUTLINES

• Introduction and purpose of the course


• Organization of a computer system
• Purpose of a computer system—setting the stage for OS concepts and
principles
• Outline of topics to be discussed in the course
• What is an operating system?
• Recap of the lecture

3
COMPUTER SYSTEM

1. Hardware
2. Operating system
3. Applications programs
4. Users

4
LAYERED VIEW OF A COMPUTER SYSTEM

5
PURPOSE OF A COMPUTER SYSTEM

• Computer systems consist of software


and hardware that are combined to
provide a tool to solve specific
problems in an efficient manner
• Execute programs

6
COMPUTER SYSTEM HARDWARE

Integer Control Keyboard Mouse


Unit Unit
CD
Floating Point
Unit
Cache

Processor
System Bus
HD
Mem
Bus

RAM/ROM Printer Monitor


7
COURSE OUTLINE

• Operating system concepts


• Operating system structures
• Introduction to UNIX/Linux user interface ( lab)
• Processes and threads—scheduling, concurrency, synchronization, etc.
• Deadlocks
• Memory management
• Virtual memory
• File system
• Secondary storage management

8
OPERATING SYSTEM CONCEPTS

• Single-user systems
• Batch systems
• Multiprogrammed systems
• Time-sharing systems
• Real-time systems
• Interrupts, traps, and software interrupts (UNIX signals)
• Hardware protection

9
OPERATING SYSTEM STRUCTURES

• Operating system services


• System calls
• Semantics of system call execution
• Operating system structures (monolithic, microkernel-based, layered,
virtual machines, DOS-Windows, UNIX)
• System design and implementation

10
PROCESSES

• Process concept (process, states, attributes, etc.)


• Process scheduling (scheduler)
• Context switching (dispatcher)
• Operations on processes (creation, termination, signaling, suspend,
foreground, background, etc.)
• Process management in UNIX (fork, wait, exec, exit, etc.)
• Sample code for UNIX/Linux process management
• Cooperating processes
• Interprocess communication (IPC)
• IPC in UNIX/Linux (pipe, FIFO, socket, message queue, etc.)

11
PROCESSES (CONTINUED)

• Communication between UNIX/Linux processes (pipe, mkfifo, read,


write, close, etc.)
• Sample code
• UNIX/Linux processes (process images, control structures, etc.
explained with sample code)
• Managing UNIX/Linux processes (ps, top, fg, bg, <Ctrl-Z>, <Ctrl-C>,
etc.)

12
THREADS

• Thread concept (thread, states, attributes, etc.)


• User- and kernel-level threads
• POSIX threads (the pthread library)
• Sample code

13
CPU SCHEDULING

• Basic concepts
• Scheduling criteria
• Scheduling triggers
• Scheduling algorithms
• UNIX System V scheduling algorithm
• Optimal scheduling
• Algorithm evaluation

14
PROCESS SYNCHRONIZATION

• Basic concept
• The Critical Section Problem
• Solutions for the Critical Section Problem
• Software-based solutions—the Bakery Algorithm
• Hardware-based solutions
• Semaphores
• Binary and counting semaphores

15
PROCESS SYNCHRONIZATION …

• Classic problems of synchronization


• Deadlocks and starvation
• Critical regions
• Monitors
• Synchronization tools used in Solaris, Linux, and Windows
• Deadlocks and starvation
• Pthread library functions

16
DEADLOCKS

• Basic concept
• Deadlock characterization
• Deadlock handling (prevention, avoidance, detection and recovery)
• Banker’s algorithm

17
MEMORY MANAGEMENT

• Basic concepts
• Various techniques for memory management
• Logical to physical address translation
• Swapping
• Contiguous memory allocation: MFT, MVT
• External fragmentation
• Paging
• Hardware support for paging
• Internal fragmentation

18
MEMORY MANAGEMENT

• Performance of paging
• Protection and sharing
• Page table issues: Multi-level paging, Hashed page tables, Inverted
page tables
• Segmentation
• Protection and sharing
• Segmentation with paging
• Intel P4 example

19
VIRTUAL MEMORY

• Basic concept
• Demand paging
• Page fault
• Performance of demand paging
• Page replacement
• Allocation of frames
• Thrashing
• Operating-system examples
• Other considerations (I/O locking, page size, …)

20
FILE SYSTEM INTERFACE

• Basic concepts (file attributes, operations, types, structure, etc.)


• Access methods (sequential, random, etc.)
• Directory structure
• UNIX/Linux directory structure (links in UNIX)
• File system mounting, sharing, and protection
• UNIX/Linux examples for sharing and protection, and relevant
commands (chmod, ln, ln –s, etc.)

21
WHAT IS AN OPERATING SYSTEM?

• A program that acts as an intermediary between a user of a computer and the


computer hardware—provides the user a simpler (virtual) machine to work
with
• A program that allocates and deallocates computer system resources in an
efficient, fair, and secure manner—a resource manager

22
OPERATING SYSTEM GOALS

• Execute user programs and make solving user problems easier.


• Make the computer system convenient to use.
• Use the computer hardware in an efficient manner.

23
ANY QUESTIONS ?

24

You might also like