Porównanie Linux vs. FreeBSD

Linux
FreeBSD

Szeregowanie procesów
podstawowa jednostka tusk_struct thread
reprezentacja procesu/wątku tusk_struct
proc struct
thread struct
ksegrp struct
priorytety 0-139
im niższy priorytet tym lepiej
2 klasy szeregowania: użytkownika i systemowa
0-255
im niższy priorytet tym lepiej
5 klas: Idle user, Time-share user, Real-time user, Top-half Kernel, Interrupt
Idle Idle - brak uruchomienie procesu Idle, kiedy nie ma procesów gotowych do wykonania
Rola zmiennej nice do wyliczenia kolejności wykonania do wstrzymania pewnych procesów od wykonania (przy różnicy 20)
Podobieństwa:
- uprzywilejowanie porcesów interaktywnych przy przydziale priorytetów, za to zmniejszenie kwantów czasu
- użycie dwóch kolejek procesów gotowych: active i expires
- zamiana tych kolejek kiedy active jest pusty
- arytmetyczne przeliczanie priorytetów zależne od czasu działania i czasu oczekiwania

Zarządzanie pamięcią
Jednostki memory areas regions
zależność sprzętowa niezależność sprzętowa, co daje spadek szybkości stronnicowania spowodowany zwiększeniem abstrakcji danych
Listy stron 3 zones: hot, cold, free 4 tracks: active, inactive, cached, free
Podobieństwa:
- posiadanie procesu zwalniającego pamięc
- przepływ obszarów pamięci po kolejkach, najczęściej używane, wolne

System plików
Reprezentacja plików Inode Vnode
Podział dysku oparty na partycjach dyskowych dodatkowy podział w postaci slice'ów dający również możliwość scalania partycji
Podobieństwa:
- wykorzystanie VFS'a
- dostępność funkcji: open, close, read, write, stat itp.


Popularne systemy plików:
FreeBSD ufs Default local file system (ufs2, based on BSD Fast Filesystem)
defvs Keeps track of /dev files
ext2 Linux ext2 file system (GNU-based)
nfs Remote files
ntfs Windows NT file system
smbfs Samba file system
portalfs Mount a process onto a directory
kernfs Files containing various system information
Linux ext3 Journaling, extent-based file system from ext2
ext2 Extent-based file system
afs AFS client support for remote file sharing
nfs Remote files
coda Another networked file system
procfs Processes, processors, buses, platform specifics
reiserfs Journaling file system