Multi Threaded Application : a user program that is well designed in terms of many independent execution flows that share a large portion of the application, data structures, and share a common address space.
User Mode vs Kernel Mode
- User Mode : in linux, an unprivledged userland program.
- Kernel Mode : in linux, a priviledged kernel process that has access to hardware and memory
Process : an instance of a program in execution.
File Descriptor : represents an ineraction between a process and an opened file.
Pipes & Sockets : special files primarily related to inter process communication.
Scheduler : the kernel component that determines the next process that can progress.
- Processes execute in time slices called Quantom and if the process does not complete in time, a process or context switch takes place.
- Epoch : the linux scheduling algorithm divides CPU time into epochs. (Old 2.4 scheduler)
Signals and InterProcess Communication : signals provide a mechanism for notifying processes of system events.
[weblogic@phap0113 ipv4]$ kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD
18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN
22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO
30) SIGPWR 31) SIGSYS 33) SIGRTMIN 34) SIGRTMIN+1
35) SIGRTMIN+2 36) SIGRTMIN+3 37) SIGRTMIN+4 38) SIGRTMIN+5
39) SIGRTMIN+6 40) SIGRTMIN+7 41) SIGRTMIN+8 42) SIGRTMIN+9
43) SIGRTMIN+10 44) SIGRTMIN+11 45) SIGRTMIN+12 46) SIGRTMIN+13
47) SIGRTMIN+14 48) SIGRTMIN+15 49) SIGRTMAX-15 50) SIGRTMAX-14
51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10
55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6
59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX
Process & Memory Management
Virtual Memory : it is possible to run applications who's memory needs are larger than physical memory.
Device Drivers : interact with devices such as hard disks, monitors, nics, scsi bus etc
Virtual Filesystem : a kernel software layer that handles all calls related to a standard Unix filesystem.
Fork : spawn a new child process which is an identical process to the parent except it has a new PID.
Exec : initiiate a new program in the same execution environment (shell)