Created by Sreeja Jijith at 01 Jun 2010 10:13 and updated at 10 Jul 2010 16:33

This webpage will be useful for the candidates who are going to appear for UGC-NET Computer science Examination. It is based on the latest syllabus[2010]. I will try my level best to go through all the topics within the subject.Some useful links will be also given for more details.


Syllabus for paper III A

Introduction,MemoryManagement,Support for concurrent process,Scheduling,System deadlock,Multiprogramming System,I/O Management,Distributed Operating Systems,Study of UNIX and Windows NT.

Paper II

Main functions of Operating Systems,Multiprogramming,Multiprocessing,Multitasking
Memory management : Virtual Memory,Paging,Fragmentation
Concurrent Processing:Mutual Exclusion,Critical Regions,Lock and Unlock
Scheduling:CPU Scheduling,I/O Scheduling,Resource Scheduling,Deadlock and Scheduling Algorithms,Banker's algorithm for deadlock handling


The Unix System:File System,Process Management,bourne Shell,Shell Variables,Command Line Programming
Filters and Commands:Pr,head,tail,cut,paste,sort,uniq,tr,join,etc.,grep,egrep,fgrep,etc.,sed,awk,etc.

System Calls(Like):Create,open,close,read,write,iseek,link,unlink,stat,fstat,umask,chmod,exec,fork,wait,system

Paper III(B)
Unix: Operating System,Structure of UNIX Operating System,UNIX Commands,Interfacing with UNIX,Editors and Compilers for UNIX,LEX and YACC,File System,System Calls,Filters,Shell Programming

WindowsWindows Environment,Unicode,Documents and views,Drawing in a Window,Message Handling,Scrolling and Splitting views,Docking Toolbars and Status bars,Common dialogs and controls,MDI,Multithreading,OLE,ActiveX Controls,ATL,Database Access,Network Programming


In simple terms, Operating System can be defined as an interface between hardware and user.Examples are DOS,Windows NT,Windows 2000,UNIX,Apple Macintosh,Windows XP………
Main functions of Operating Systems are

  • Memory Management
  • Process Management
  • Device Management

Memory Management

The concept of multiprogramming is inspired by the fact that while the CPU is idle for one program waiting for the some resource to be available, the CPU can execute instructions for other programs.Multiprogramming is the allocation of computer resources to more than one application.This technique is used to utilize maximum CPU time.In multiprogramming several programs are run at the same time on uniprocessor.Since there is only one processor , there can be no true simultaneous execution of different programs. Instead, the operating system executes part of one program, then part of another, and so on. To the user it appears that all programs are executing at the same time.In other words, multiprogramming is the rapid switching of the CPU between multiple processes in memory. It is done only when the currently running process requests I/O, or terminates. It was commonly used to keep the CPU busy while one or more processes are doing I/O.In multiprogramming, concurrent running (sharing of the processor) is achieved when the operating system identifies opportunities to interrupt the handling of one program between tasks (e.g., when it is waiting for input/output) and to transfer process control to another program (application, job or user). To a great extent, the ability of a system to share its resources equitably—or according to certain priorities—is dependent upon the design of the programs being handled and how frequently they may be interrupted. If there is no DMA, the CPU is fully occupied doing I/O, so there is nothing to be gained (at least in terms of CPU utilization) by multiprogramming.

Requirements for Multiprogramming
Hardware support:
I/O interrupts and (possibly) DMA
in order to execute instructions while I/O device is busy
Memory management:
several ready-to-run jobs must be kept in memory
Memory protection (data and programs)
Software support from the OS:
Scheduling (which program is to be run next)
To manage resource contention

Useful Links:-

  1. http://www.wisegeek.com/what-is-multiprogramming.htm
  2. http://www.allinterview.com/showanswers/7614.html


Multitasking is a method by which multiple tasks, also known as processes, share common processing resources such as a CPU. In the case of a computer with a single CPU, only one task is said to be running at any point in time, meaning that the CPU is actively executing instructions for that task. Multitasking solves the problem by scheduling which task may be the one running at any given time, and when another waiting task gets a turn. The act of reassigning a CPU from one task to another one is called a context switch.
Useful Links:-

  1. http://www.allinterview.com/showanswers/7614.html

Multiprocessing means running a system with more than one processor.With the advent of parallel processing, multiprocessing is divided into symmetric multiprocessing (SMP) and massively parallel processing (MPP).

In symmetric (or "tightly coupled") multiprocessing, the processors share memory and the I/O bus or data path. A single copy of the operating system is in charge of all the processors. SMP, also known as a "shared everything" system, does not usually exceed 16 processors.

In massively parallel (or "loosely coupled") processing, up to 200 or more processors can work on the same application. Each processor has its own operating system and memory, but an "interconnect" arrangement of data paths allows messages to be sent between processors. Typically, the setup for MPP is more complicated, requiring thought about how to partition a common database among processors and how to assign work among the processors. An MPP system is also known as a "shared nothing" system.

In multiprocessing, the processors can be used to execute a single sequence of instructions in multiple contexts (single-instruction, multiple-data or SIMD, often used in vector processing), multiple sequences of instructions in a single context (multiple-instruction, single-data or MISD, used for redundancy in fail-safe systems and sometimes applied to describe pipelined processors or hyper-threading), or multiple sequences of instructions in multiple contexts (multiple-instruction, multiple-data or MIMD).

UNIX is the one of the most widely used multiprocessing OS.Multiprocessing systems are much more complicated than single processed systems because the operating system must allocate resources to competing processes in a reasonable manner.


The ability of an operating system to execute different parts of a program, called threads, simultaneously. The programmer must carefully design the program in such a way that all the threads can run at the same time without interfering with each other.Thread is a single sequence stream within a process.Threads are sometimes called lightweight processes.

Useful Links:-

  1. http://en.wikipedia.org/wiki/Multiprocessing
  2. http://www.pcguide.com/ref/cpu/arch/extSMP-c.html

Good Links

  1. http://www.ittestpapers.com/operating-system-concepts---covers-fundamental-questions-in-os.html
  2. http://www.viralpatel.net/taj/tutorial/segmentation.php
  3. http://tldp.org/LDP/tlk/mm/memory.html Memory management

Share:- Facebook

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License