The Boot Process-BIOS Level
- Master Boot Record (MBR)
- Boot Loader-Run Level, and run level program
- Setup, startup_32 functions
- The start_kernel() function
Development Tools
- Programming development tools: Make, scope, ldd,pmap, ps, gcc,nm, top, cvsroot, ftp, strace
- Debugging tools: gdb
- Optimization tools: splint, gprof, strace, ltrace
- Memory detector tools: valgrind: memcheck, massif, callgrind, kcachegrind
Shell scripting
- Invoking shell
- Bash programming overview
- Variable
- Expression
- Iteration
- Conditions
Advance File and Libraries
- File locking , unlocking
- File linking and unlinking
- System calls and std.library for file
- Static library
- Dynamic Library
- Dynamic Loaded Library
Implementing System Calls
- System Calls Defined
- System Calls and APIs
- System Call Table
- Unistd.h ,signal.c and Syscall_table.S files
- Implementing a new system call
|
Process, threads and Signal
- Background and foreground process
- Parent and child process
- Process Creation , System calls related to process
- Process Descriptor Structures in the kernel
- Threads and signal
Inter Process Communication
- Pipes, FIFO’s, signals
- System-V IPC’s
- Message queues
- Shared memory
- Semaphores
- Memory Mapping
- Socket
Socket Programming/Network Programming
- Introduction-Server/Client model
- OSI, TCP Models
- TCP, IP, UDP Protocols
- IP (Classes, Datagram formats, IP routing, v4 v5 v6)
- Network Program over process model / Thread model
Locking Mechanism
- Mutex
- File locking
- Semaphore
Memory Management
- Address types
- Virtual address space
- Address translation
- Paging and segmentation
- Memory allocation and de-allocation
- Process organization in memory
|