You are on page 1of 11

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

Autonomous processes & co-routines


VFS Network stack Process manager Device drivers windowing system compiler shells Editors utilities
3

Non-kernel

System Structure

User mode space


Kernel mode space
System Call Interface
Device drivers

Kernel + h/w related code


4

System Structure-2
System Calls get us to these functionalities
Sockets Process Control
Process memory

VFS

Vmem

Proc, sysfs

TCP, IP, etc

NFS

File syss

mmap IPC

MM
cache Device Module Net Mgmt Char devs Block Devices Scheduler

Bus drivers Bus controller

Net drivers Net adapter

Char Drivers Monitor, keybd

Block Drivers Disk controller

swap

Memory access MMU, RAM

Interrupts CPU circuits


5

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

Blocking I/O or Wait requested

Exit request
Terminated

2004, D. J. Foreman

New

Linux Process/Thread States


Running
H/W

Ready

Terminated

Any signal or event

Uninterruptible Interruptible
waiting

Signal

Stopped*
* Requires action from another process

2004, D. J. Foreman

10

Windows Thread States Runnable


New CPU scheduled

Ready

preempted

Running

Block released

Block requested

Page/stack wait

Waiting

Terminated

Not runnable
2004, D. J. Foreman 11

You might also like