Course : Linux Operating System Introduction and Programming - Download PDF
Duration : 3 days (5-7hrs/day)
Dates : As
per mutual agreementasdadsa
Time
: 5 Hr/Day (Minimum)Eligibility : BE/BTech/ME/MTech (CSE / E&TC / Electronics) students
Key Objectives :
1. Learn key principles of Linux OS
2. Learn Linux OS programming
Results
: At the end of training session student will be able to install, use
and do Linux programming.2. Learn Linux OS programming
Skills developed :
1. Linux OS understanding
2. Open Source Software and tool-chain understanding
3. Programming in Linux
2. Open Source Software and tool-chain understanding
3. Programming in Linux
DAY-1 1. Role Of Operating system • What is Operating system? • Objective Of OS • Types of Operating systems 2. Introduction To Linux Operating System • What is Linux OS? • History • Open source Linux • Linux Place in Market • Linux Distributions 3. Linux installation with LAB • Pre-requisite for Linux installation • How to install Linux LAB1: Install Linux on native machine. 4. Linux OS Architecture • Linux Features • Linux Kernel Source Directory Structure • Linux Kernel Components • User Mode Vs Kernel Mode • System Initialization –Booting Process 5. Linux important commands and utilities • Study file handling Commands • Basic user commands • System management commands • Network Management Commands • Command redirections and pipelines LAB2: Exercise important commands LAB3: Mounting and unmounting FS LAB4: How to create Symbolic Links? 6. Introduction to Linux tools, compilers and utilities • GCC Compilation process • Study VI editor • Introduction To Makefile LAB5: Compile and run C language programs on Linux LAB6: How to write Makefile to compile programs on Linux |
7. Shell scripting in Linux • Why scripting languages. • Available scripting languages • Bash Shell Programming • Variables • Control Constructs • Functions LAB7: How to write and execute shell scripts? LAB8: Shell Script Examples DAY-2 Detail study of Linux OS components 8. Process Management • What is Process? • Process Control Block (PCB) • Types Of Processes • States Of Process • How to Create Process? • Process Scheduling LAB9: How To create and terminate processes? 9. Thread Management • What is Thread? • Thread Control Block (TCB) • User level Vs Kernel level Threads • How to create and cancel threads? • Thread Scheduling • Process Vs Threads LAB10: How to create and cancel threads? LAB11: How to control Multithreading? 10. Interrupt Management • What are interrupts? • Types Of Interrupt • Interrupt Handling • Interrupt Service Routine (ISR) • Interrupt Latency 11. Signal handling • What are signals in Linux OS? • Signal Implementation • Signal Handling LAB12: How to send and catch signals? LAB13: How to handle signals? |
12. System call interface • Introduction To System Call Mechanism • Significance Of System Calls 13. Memory Management • Memory Management in Linux • Swapping • Paging • Virtual Memory Management (VM) • Demand Paging • Static and Dynamic Linking 14. File System • Need Of File System (FS) • Internal Representation Of Files • Virtual File System • Linux File System- ext2fs and proc DAY-3 15. Inter-Process communication (IPCs) • Introduction To Inter-process communication mechanism • Pipes, Message Queue and Shared Memory • Semaphores and Mutex • Socket Programming on Linux LAB14: How to send and receive data using pipes and message queues LAB15: How to share data using shared memory mechanism? LAB16: How to use Semaphores to share resources? LAB17: Socket Implementation 16. Device deriver • Devices and Device Driver (DD) • Types Of DD • Registration Of DD • Linux Kernel Modules • Linux Kernel Compilation LAB18: How to write kernel module? LAB19: How to add device driver in kernel? LAB20: Linux kernel compilation |
Copyrights @ iMCT