Professional Documents
Culture Documents
Basic Linux Architecture
Basic Linux Architecture
Overview
Initialization
Uboot hardware init, loads kernel Kernel remaining initialization, calls init Init 1st process, executes startup script
/etc/init.d/rcS
Run_flphone.sh startup script Nano-X the X-Windows server Nanowm sets bg image
System Structure
MicroKernel minimal functionality
Interprocess communication (IPC) Memory management
Non-kernel
System Structure
System Structure-2
System Calls get us to these functionalities
Sockets Process Control
Process memory
VFS
Vmem
Proc, sysfs
NFS
File syss
mmap IPC
MM
cache Device Module Net Mgmt Char devs Block Devices Scheduler
swap
Structural Problems
Erroneous co-routines can block system Formal interfaces slow down system
Directory structure
/ home user bin usr sbin etc lib bin sbin
System directories
/bin Essential user command binaries that need to be available also in single user mode. /sbin Essential system binaries (e.g. init, insmod, ifup) /lib Libraries for the binaries in /bin and /sbin /usr/bin Non-essential user command binaries that are not needed in single user mode /usr/sbin Non-essential system binaries (e.g. daemons for networkservices) /usr/lib Libraries for the binaries in /usr/bin and /usr/sbin /etc Host-specific system-wide configuration files /dev Device files /home User home directories (optional) /proc Virtual file system documenting kernel and process status as text files
8
Basic Transitions
New
Interrupt/Signal
# ready queues may be >1
Ready
Dispatched by system
Waiting
Running
Exit request
Terminated
2004, D. J. Foreman
New
Ready
Terminated
Uninterruptible Interruptible
waiting
Signal
Stopped*
* Requires action from another process
2004, D. J. Foreman
10
Ready
preempted
Running
Block released
Block requested
Page/stack wait
Waiting
Terminated
Not runnable
2004, D. J. Foreman 11