Вы находитесь на странице: 1из 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, nonpre-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.

Вам также может понравиться