1. Basic instruction and 5 background knowledge (OS, env, file, Shell, permissions)
2. Development environment: (VIM, GCC, g++, GDB, Ctags, make, Makefile, Procbar)
3. Process 1:
Basic concepts of process (PCB, Address space, page table, MMU, file descriptor sheet, pending, block, handler, priority, status, contextual information)
4. Process 2:
Process Control (fork, Vfork, (FD, system call, library function, buffer, wait, waitpid, block, unblock, exec family, exit)
Thread exits (return, exit (), Threaddone, Signal))
5. Process 3:
interprocess communication-IPC (pipe, FIFO), Message Queuing, semaphores, shared memory)
6. Threads:
Thread basic concept, thread can be combined, separable, thread Ctrl (Create, wait, terminate), thread synchronization and mutex (producer consumer model, mutex, relock, SEM) POSIX
7.signal:
Concept, pending, block, handler,signal method, singnal write Time (Kernal<->uer signal cheak), can be rushed into thread safety, race condition, SIGCHLD
8. Inter-Process relations:
Process groups, jobs, sessions, thread procedures, terminal logins, daemons
linux-system Programming-Knowledge points overview