Een besturingssysteem (OS) is software die de hardware- en softwarebronnen van een computersysteem beheert en verwerkt. Het biedt interactie tussen gebruikers van computers en computerhardware. Een besturingssysteem is verantwoordelijk voor het beheren en controleren van alle activiteiten en het delen van computerbronnen. Een besturingssysteem is software op een laag niveau die alle basisfuncties omvat, zoals processorbeheer, geheugenbeheer, foutdetectie, enz.
Deze zelfstudie over het besturingssysteem behandelt alle basisconcepten van het besturingssysteem, zoals systeemstructuur, CPU-planning, deadlock, bestands- en schijfbeheer en nog veel meer.
Recente artikelen over besturingssystemen
- Basisprincipes
- Systeemstructuur
- CPU-planning
- Processynchronisatie
- Impasse
- Processen en discussies
- Geheugen management
- Bestands- en schijfbeheer
- Diversen
Basisprincipes:
- Introductie van het besturingssysteem
- Soorten besturingssystemen
- Functies van het besturingssysteem
- Realtime systemen
- Taken in realtime systemen
- Verschil tussen multitasking, multithreading en multiprocessing
- Soorten computergeheugen (RAM en ROM)
- Verschil tussen 32-bits en 64-bits besturingssystemen
- Wat gebeurt er als we de computer aanzetten?
- Opstartblok
- UEFI (Unified Extensible Firmware Interface) en hoe verschilt dit van BIOS
Systeemstructuur:
- Microkernel
- Kernel I/O-subsysteem (I/O-systeem)
- Monolithische Kernel en belangrijkste verschillen met Microkernel
- Introductie van systeemoproep
- Limieten voor procesbronnen ophalen/instellen in C
- Dual Mode-bewerkingen in besturingssysteem
- Bevoorrechte en niet-bevoorrechte instructies
CPU-planning:
- Proces | (Inleiding en verschillende staten)
- Staten van een proces
- Procestabel en procesbesturingsblok (PCB)
- Procesplanner
- CPU-planning
- Preventieve en niet-preventieve planning
- De tijd meten die wordt besteed aan contextwisseling?
- Verschil tussen coördinator en planner
- FCFS-planning | Set 1
- FCFS-planning | Stel 2 in
- Konvooi-effect in besturingssystemen
- Belady's anomalie
- Kortste Job First (of SJF) planning | Set 1 (niet-preventief)
- Programma voor de Shortest Job First (SJF)-planning | Set 2 (preventief)
- Kortste taak-eerste planning met voorspelde burst-tijd
- Langste resterende tijd eerst (LRTF)-programma
- Langste resterende tijd eerst (LRTF)-algoritme
- Round Robin-planning
- Egoïstische Round Robin-planning
- Round Robin-planning met verschillende aankomsttijden
- Prioriteitsplanning
- Programma voor preventieve prioriteit CPU-planning
- Prioriteitsplanning met verschillende aankomsttijden – Set 2
- Honger en veroudering in besturingssystemen
- Hoogste responsratio volgende (HRRN) planning
- Wachtrijplanning op meerdere niveaus
- Planning van feedbackwachtrijen op meerdere niveaus
- Planning van loterijprocessen
- Planning voor meerdere processors
>> Quiz over CPU-planning
wumpus wereld
Processynchronisatie:
- Processynchronisatie | Invoering
- Processynchronisatie | Stel 2 in
- Kritieke sectie
- Interprocescommunicatie
- Communicatie tussen processen: methoden
- IPC via gedeeld geheugen
- IPC met behulp van berichtenwachtrijen
- Op berichten gebaseerde communicatie in IPC (communicatie tussen processen)
- Communicatie tussen twee processen met behulp van signalen in C
- Semaforen in het besturingssysteem
- Mutex versus semafoor
- Processynchronisatie | Monitoren
- Peterson's algoritme voor wederzijdse uitsluiting | Set 1 (Basis C-implementatie)
- Peterson's algoritme voor wederzijdse uitsluiting | Set 2 (CPU-cycli en geheugenomheining)
- Peterson's algoritme (processen en gedeeld geheugen gebruiken)
- Het algoritme van Dekker
- Bakkerij algoritme
- Producent Consumenten Probleem met behulp van seinpalen | Set 1
- Eetfilosoof Probleem met behulp van seinpalen
- Oplossing voor eetfilosofen met behulp van monitoren
- Lezers-Schrijvers Probleem | Set 1 (Introductie en lezersvoorkeuroplossing)
- Reader-Writers-oplossing met behulp van monitoren
- Probleem met slapende kapper
- Variabel synchronisatiemechanisme vergrendelen
- Mutex-vergrendeling voor Linux Thread-synchronisatie
- Prioriteitsomkering: wat maakt het uit!
- Wat is het verschil tussen prioriteitsinversie en prioriteitsovererving?
- Processynchronisatie
- Communicatie tussen processen: methoden
>> Quiz over procesbeheer in OS
Impasse:
- Impasse Inleiding
- Detectie en herstel van impasses
- Impasse, honger en Livelock
- Preventie en vermijding van impasses
- Het algoritme van de bankier
- Grafiek voor toewijzing van middelen (RAG)
- Methoden voor toewijzing van middelen aan processen per besturingssysteem
- Programma voor het bankiersalgoritme
- Bankiersalgoritme: druk alle veilige statussen (of veilige reeksen) af
- Algoritme voor deadlock-detectie
- Programma voor deadlock-vrije toestand in besturingssysteem
- Deadlock-detectie in gedistribueerde systemen
- Technieken die worden gebruikt bij de gecentraliseerde aanpak van deadlock-detectie in gedistribueerde systemen
>> Quiz over impasse
Processen en discussies:
- Besturingssysteem | Draad
- Draden en zijn typen
- Besturingssysteem | Thread op gebruikersniveau versus thread op kernelniveau
- Procesgebaseerd en threadgebaseerd multitasken
- Multi-threading modellen
- Voordelen van multithreading
- Zombieprocessen en hun preventie
- Maximaal aantal zombieprocessen dat een systeem aankan
- Besturingssysteem | Remote Procedure-aanroep (RPC)
Geheugen management :
- Geheugenhiërarchieontwerp en zijn kenmerken
- Inleiding tot geheugen en geheugeneenheden
- Verschillende soorten RAM (Random Access Memory)
- Buddy-systeem: techniek voor geheugentoewijzing
- Geheugenbeheer | Partitietoewijzingsmethode
- Vaste (of statische) partities in het besturingssysteem
- Variabele (of dynamische) partities in het besturingssysteem
- Niet-aaneengesloten toewijzing in besturingssysteem
- Logisch versus fysiek adres in besturingssysteem
- Paging
- Vereisten van het geheugenbeheersysteem
- Geheugenbeheer – het toewijzen van virtueel adres aan fysieke adressen
- Paginatabelgegevens
- Virtueel geheugen
- Geheugeninterleaving
- Vragen over virtueel geheugen
- Op besturingssysteem gebaseerde virtualisatie
- Omgekeerde paginatabel
- Wissel ruimte
- Afhandeling van paginafouten
- Vaste (of statische) partities in het besturingssysteem
- Segmentatie
- Geheugensegmentatie in 8086-microprocessor
- Programma voor Next Fit-algoritme in Geheugenbeheer
- Overlays in geheugenbeheer
- Algoritmen voor paginavervanging
- Programma voor algoritmen voor paginavervanging | Set 1 (LRU)
- Programma voor optimaal paginavervangingsalgoritme
- LFU-cache-implementatie (minst vaak gebruikt).
- Vervangingsbeleid voor tweedekans- (of klok)pagina's
- Technieken om met Thrashing om te gaan
- Kernelgeheugen toewijzen (buddy-systeem en slab-systeem)
- Programma voor buddy-geheugentoewijzingsschema in besturingssystemen | Set 1 (toewijzing)
- Programma voor buddy-geheugentoewijzingsschema in besturingssystemen | Set 2 (Deallocatie)
- Statische en dynamische bibliotheken | Set 1
- Werken met gedeelde bibliotheken | Set 1
- Werken met gedeelde bibliotheken | Stel 2 in
- Genoemd Pipe of FIFO met voorbeeld C-programma
- Geheugengebruik in Linux traceren
>> Quiz over geheugenbeheer
Schijfbeheer:
- Bestandssystemen
- Unix-bestandssysteem
- Directorybeheer implementeren met behulp van Shell Script
- Bestandsmap | Padnaam
- Structuren van directory
- Methoden voor bestandstoewijzing
- Methoden voor bestandstoegang
- Tweede geheugen
- Secundair geheugen – Harde schijf
- Algoritmen voor schijfplanning
- Programma voor SSTF-schijfplanningsalgoritme
- Wat houdt Spoolen precies in?
- Verschil tussen spoolen en bufferen
- Beheer van vrije ruimte
>> Quiz over invoer-uitvoersystemen
willekeurige waardegenerator in Java
Diversen
- Inleiding tot het UNIX-systeem
- Belangrijke Linux-commando's (leave, diff, cal, ncal, location en ln)
- Procestoestanden en overgangen in een UNIX-proces
- Inleiding tot Linux Shell en Shell Scripting
- ‘crontab’ in Linux met voorbeelden
- deepth en max depth in Linux find()-opdracht voor het beperken van de zoekopdracht tot een specifieke map.
Soorten besturingssysteem
- Batch-besturingssysteem (bijv. transactieproces, salarissysteem, etc.)
- Multi-geprogrammeerd besturingssysteem (bijv. Windows, UNIX, macOS, enz.)
- Timesharing-besturingssysteem (bijv. Multics, Linux, enz.)
- Realtime besturingssysteem (bijv. PSOS, VRTX, enz.)
- Gedistribueerd besturingssysteem (bijv. LOCUS, Solaris, enz.)
Besturingssysteemfuncties
- Geheugen- en processorbeheer
- Netwerkbeheer
- Veiligheidsmanagement
- Bestandsbeheer
- Fout detectie
- Boekhoudkundige werkzaamheden
Veelgestelde vragen over het besturingssysteem
V.1 Waarom besturingssystemen leren?
Antwoord :
Het besturingssysteem is het belangrijkste onderdeel van een computer. Via het besturingssysteem kunnen gebruikers communiceren met computersoftware. Het biedt een interface tussen hardware en CPU. Het biedt ook een platform waarop het programma kan worden uitgevoerd en diensten voor gebruikers. Het voert alle basistaken uit die nodig zijn in een applicatie.
Vraag 2 Schrijf de top 10 voorbeelden van besturingssystemen?
Antwoord :
Enkele van de meest populaire OS-voorbeelden worden hieronder gegeven:
- ramen
- Linux
- MacOS
- Ios
- Android
- Ubuntu
- CentOS
- Solaris
- Chrome OS
- Fedora
V.3 Wat zijn de voordelen van een multiprocessorsysteem?
Antwoord :
Een multiprocessorsysteem omvat de verwerking van twee of meer computerprogramma's die hetzelfde geheugengebied delen. Het verhoogt de betrouwbaarheid.
Vraag 4 Wat is een thread in OS?
Antwoord :
Een thread is een lichtgewicht proces of subprogramma dat deel uitmaakt van het proces of een programma. Een thread heeft zijn eigen register-, stapel-, status- en programmateller.
tekenreeks subtekenreeks java
Snelle links:
- Last Minute Notes (LMN's) | Besturingssystemen
- Veelgestelde vragen over besturingssystemen
- ‘Oefenproblemen’ op besturingssystemen!