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. |
||
| 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 |