courses > Modular Syllabus
OS Fundmentals using Linux
Learn operating system ( using Linux Programming )which is the software component of a computer system and is responsible for the management of a wide variety of computer operations as also the sharing of computer resources. In this course, individuals will learn Linux programming and will understand how user and application programs access the operating system services through system calls and application programming interfaces. In short, an operating system acts as an interface between the application programs and the computer hardware. The most common electronic equipments like Desktop computers, PDAs, laptop computers, notebook computers and even many of the mobile phones of today are equipped with some kind of operating system. The Linux programming tutorial is apt for the audience working on any of the above mentioned platforms.
- A ) OS fundamentals and programming
-
- This course on OS covers fundamentals of OS . Hands on sessions along with theory are the key in achieving the objective of making developers confidant about the issues involved in designing systems using
- Linux
also an insight in to the internals helps in understanding the fundamentals concepts
- B ) Prerequisite
-
- * Knowledge of C language programming
- C ) Course contents
-
- 1 ) Operating System Fundamentals (using Linux)
- Details
- what is operating System, importance of operating system,
- feature of operating ,system,
- Basic of process management (different state of process, five state model of process,
- process image (PCB),
- context switch, mode switch
- Assignments
- 1)simple program on process using fork().
-
- 2 ) Process and Process control
- Details
- fork( ),vfork( ),exec( ),wait( ),sleep( ),
- nice(),kill (),zombie( ),getpid( ),
- getppid(),setuid ( )
- Assignments
- Assignments on all system calls
-
- 3 ) Signals& pipes
- Details
- Type of signals ,use of signal,
- What is pipe, types of pipes,
- system call related to pipes such as pipe(),
- popen(), pclose().
- Assignments
- WAP for different signal (ex. KILL)
- WAP which create parent and child process and communicate with pipe.
-
- 4 ) Shared Memory & Message Queues
- Details
- what is shared memory,
- How to use shared memory for process communication introduction of shmget(),shmat()shmdt(),shmctl(),
- What is Message Queue ,msgget(),msgsnd()msgrcv(),msgctl() system calls
- Assignments
- WAP to create two process which share memory for communicating each other.
- WAP to create two process which communication each other through Message Queue
-
- 5 ) Synchronization of process (Semaphores)
- Details
- what is semaphores, types of semaphores, critical section,
- Semget(),semop(),semctl(),system calls,
- mutual exclusion, dead lock and avoidance technique
- Assignments
- Write a program and run it two times as two different processes,with different parameter and shared one character as critical section using semaphore
-
- 6 ) Socket programming
- Details
- Definition of socket, socket connection, all socket system call such as socket(),
- bind(),listen(),accept(),connect(),close().
- Assignments
- Write a program for socket programming.
-
- 7 ) Thread Management
- Details
- what is thread, need of thread,
- system call of thread such thread_create()pthread_exit(),pthread_join(),
- Assignments
- WAP to which demonstrate the thread concept.
-
- 8 ) Memory management
- Details
- Address binding, swapping,
- segmentation &paging, fixed partitioning,
- Dynamic partitioning, simple paging,
- Simple segmentation, virtual memory paging,
- Virtual memory segmentation,
- TLB ,Operating system policies for virtual memory.
- Assignments
- WAP for threads
-
- 9 ) Schedulers
- Details
- Basic concept, scheduling criteria, type of scheduler
- Assignments
- WAP to which demonstrate the thread concept.
- Revision remaining portion
|