You are on page 1of 2

Operating Systems (Web Course)

Faculty Coordinator
Prof. P. C. P. Bhatt

Department of Computer Science and Engineering


Indian Institute of Science Bangalore
Bangalore, 560012, Karnataka, India
Email :
Telephone : (91-80) (Office)

Aim: On completing this course the students should have acquired the following
capabilities:
1. An appreciation of the role of an operating system.
2. Become aware of the issues in the management of resources like processor,
memory and input-output.
3. Should be able to select appropriate productivity enhancing tools or utilities for
specific needs like filters or version control.
4. Obtain some insight into the design of an operating system.

Module 1: Introduction to OS (3)


Operating systems: Application scenarios, kind of resource support needed by applications,
what is an “Operating System” and what support is provided to run an
application, hardware and software layers, organization of a computer system, operational
view of a computing system with resources like processor, memory, input and output, issues
in resource management, a bare-bone operating system, introduction to the issues in
communication with devices, kernel and shell of an operating system, processes and file

Module 2: File Systems and Management (4.5)


File systems: What is a file, user view of files, file types and file operations, file types in Unix
and Microsoft, file operation commands, file access rights, file storage management, Inode or
FAT structure, file control blocks, root file system, directory and file paths, blocks, impact of
block size selection, contiguous allocation, chained and indexed allocations, Impact of
allocation policy on fragmentation, mapping file blocks on the disk platter, cylinder, disk
access control and scheduling

Module 3: Process Management (6)


Processor resource management: Explanation of processor as a resource, definition of a
process, processor utilization, multi-processing and time sharing, response time, process
state, process state transitions, process scheduling, short-term and long term schedules, non-
pre-emptive and pre-emptive scheduling policies, time slice, policies like FCFS, SJF etc. Gantt
charts and parameters to compare policy performance, context switching of process state
information. Kernel architecture: User and kernel mode of operation, System calls, process
states, kernel operations, design of a scheduler.

Module 4: Memory Management (6)


Motivation for memory management, when and where primary and secondary memory
management is needed, compiled code and memory relocation, linking and loading, processes
and primary memory management, memory allocation policies, critique of various policies like
first fit, best fit, internal and external fragmentation, secondary memory management, fixed
and variable partitions, virtual memory concept, paging and page replacement policies, page
faults, thrashing, hardware support for paging, segmentation, segmentation with paging

Module 5: Input Output Management (4.5)


Issues in human centric, device centric and computer centric IO management, input
output modes, programmed IO, polling, interrupt mode of IO, various types of interrupts,
interrupt servicing, priority interrupts, interrupt vectors, direct memory access (DMA) mode of
transfer, setting up DMAs, device drivers, interrupt handling using device drivers, buffer
management, device scheduling, disk scheduling algorithms and policies.
Module 6: Resource Sharing and Management (3)
Shared resources, resource allocation and scheduling, resource graph models, deadlocks,
deadlock detection, deadlock avoidance, deadlock prevention algorithms, mutual exclusion,
semaphores, wait and signal procedures.

Module 7: Interprocess communication (3)


Spawning a new process, parent and child processes, assigning a task to child processes, need
for communication between processes, modes of communication, pipes, shared files, shared
memory, message based IPC, signals as IPC, the distribute computing environment.

Module 8: Real time Systems and Microkernels (3)


Characteristics of real-time operating systems, classification of real-time systems,
architectures of real-time systems, micro-kernels, scheduling in RTOS, rate monotonic
scheduling, priority inversion, RTOS for hand-held devices.

Module 9: OS and Security (3)


Security breaches, types of attacks, attack prevention methods, security policy and access
control, OS design considerations for security, access, policy and access control, OS design
considerations for security, access control lists and OS support, internet and general network
security.

Module 10: OS primer (1.5)


Basic file creation, editing and storage, accessing and organizing files, editor tools and file
management operations.

Module 11: Search, sort tools (1.5)


Basic string search commands, find commands, commands to sort with their options.

Module 12: AWK tool (1.5)


AWK tool, AWK syntax, AWK grammar, examples for processing.

Module 13: Shell scripts (1.5)


Productivity tools, different shells, shell scripts

Module 15: Make tool (1.5)


When to use Make, how to use Make, macros abstractions and shortcuts.

Module 16: Other useful tool (1.5)


Tar and other utilities, file compression tools, image and multi-media file formats, profiling
tools.

Module 17: Version control tool (1.5)


Need for version control, sccs, cvs and other version control tools.

Module 18: Window metaphor and GUI (1.5)


Need for a desktop metaphor, window systems and associated controls, graphical interface
(GUI),

Module 19: System administration (1.5)


Administration tasks, user account management, start and shutdown procedures, setting up
operational environment for a new user.

You might also like