Et operativsystem (OS) er software, der styrer og håndterer hardware- og softwareressourcerne i et computersystem. Det giver interaktion mellem brugere af computere og computerhardware. Et operativsystem er ansvarligt for at styre og kontrollere alle aktiviteter og deling af computerressourcer. Et operativsystem er en software på lavt niveau, der inkluderer alle de grundlæggende funktioner som processorstyring, hukommelsesstyring, fejlregistrering osv.
Denne vejledning i operativsystemet vil dække alt det grundlæggende for at fremme operativsystemkoncepter som systemstruktur, CPU-planlægning, dødvande, fil- og diskhåndtering og mange flere.
Seneste artikler om operativsystemer
- Grundlæggende
- Systemstruktur
- CPU-planlægning
- Processynkronisering
- dødvande
- Processer & tråde
- Hukommelseshåndtering
- Fil- og diskhåndtering
- Diverse
Grundlæggende:
- Introduktion af operativsystem
- Typer af operativsystemer
- Operativsystemets funktioner
- Realtidssystemer
- Opgaver i realtidssystemer
- Forskellen mellem multitasking, multithreading og multiprocessing
- Typer af computerhukommelse (RAM og ROM)
- Forskellen mellem 32-bit og 64-bit operativsystemer
- Hvad sker der, når vi tænder for computeren?
- Boot Block
- UEFI (Unified Extensible Firmware Interface) og hvordan adskiller det sig fra BIOS
Systemstruktur:
- Mikrokerne
- Kernel I/O Subsystem (I/O System)
- Monolitisk kerne og vigtige forskelle fra mikrokerne
- Introduktion af systemopkald
- Hent/indstil procesressourcegrænser i C
- Dual Mode-operationer i OS
- Privilegerede og ikke-privilegerede instruktioner
CPU-planlægning:
- Proces | (Introduktion og forskellige tilstande)
- tilstande i en proces
- Procestabel og proceskontrolblok (PCB)
- Procesplanlægger
- CPU-planlægning
- Forebyggende og ikke-forebyggende planlægning
- Måle tiden brugt i kontekstskifte?
- Forskellen mellem dispatcher og planlægger
- FCFS-planlægning | Sæt 1
- FCFS-planlægning | Sæt 2
- Konvojeffekt i operativsystemer
- Beladys anomali
- Shortest Job First (eller SJF) planlægning | Sæt 1 (Ikke-forebyggende)
- Program for Shortest Job First (SJF) planlægning | Sæt 2 (forebyggende)
- Korteste job Første planlægning med forudsagt bursttid
- Længste resterende tid først (LRTF)-program
- Længste resterende tid først (LRTF) algoritme
- Round Robin planlægning
- Egoistisk Round Robin-planlægning
- Round Robin-planlægning med forskellige ankomsttider
- Prioritetsplanlægning
- Program til forebyggende prioritet CPU-planlægning
- Prioritetsplanlægning med forskellig ankomsttid – sæt 2
- Sult og aldring i operativsystemer
- Planlægning af højeste responsforhold næste (HRRN).
- Køplanlægning på flere niveauer
- Planlægning af feedbackkø på flere niveauer
- Lotteriprocesplanlægning
- Planlægning af flere processorer
>> Quiz om CPU-planlægning
objekt til jsonobject java
Processynkronisering:
- Processynkronisering | Introduktion
- Processynkronisering | Sæt 2
- Kritisk sektion
- Interproces kommunikation
- Interproceskommunikation: Metoder
- IPC via delt hukommelse
- IPC ved hjælp af beskedkøer
- Beskedbaseret kommunikation i IPC (interproceskommunikation)
- Kommunikation mellem to processer ved hjælp af signaler i C
- Semaforer i operativsystemet
- Mutex vs. Semafor
- Processynkronisering | Monitorer
- Petersons algoritme for gensidig udelukkelse | Sæt 1 (Grundlæggende C-implementering)
- Petersons algoritme for gensidig udelukkelse | Sæt 2 (CPU-cyklusser og hukommelseshegn)
- Petersons algoritme (brug af processer og delt hukommelse)
- Dekkers algoritme
- Bageri algoritme
- Producer Forbrugerproblem ved hjælp af semaforer | Sæt 1
- Spisefilosof problem med at bruge semaforer
- Dining-philosophers løsning ved hjælp af skærme
- Læser-skribent-problem | Sæt 1 (Introduktion og læserepræferenceløsning)
- Reader-Writers løsning ved hjælp af skærme
- Sovende Barber problem
- Lås variabel synkroniseringsmekanisme
- Mutex-lås til Linux-trådsynkronisering
- Prioritetsinversion: Hvad pokker!
- Hvad er forskellen mellem Priority Inversion og Priority Inversion?
- Processynkronisering
- Interproceskommunikation: Metoder
>> Quiz om processtyring i OS
dødvande:
- Deadlock Introduktion
- Deadlock detektion og gendannelse
- Deadlock, Starvation og Livelock
- Forebyggelse og undgåelse af dødvande
- Bankers algoritme
- Ressourceallokeringsgraf (RAG)
- Metoder til ressourceallokering til processer efter operativsystem
- Program for Bankers algoritme
- Bankers algoritme: Udskriv alle sikre tilstande (eller sikre sekvenser)
- Deadlock detektionsalgoritme
- Program til deadlock-fri tilstand i operativsystemet
- Deadlock-detektering i distribuerede systemer
- Teknikker, der bruges til centraliseret tilgang til detektering af dødvande i distribuerede systemer
>> Quiz om dødvande
Processer og tråde:
- Operativsystem | Tråd
- Tråde og dens typer
- Operativsystem | Tråd på brugerniveau vs. kerneniveau-tråd
- Procesbaseret og trådbaseret multitasking
- Multigevind modeller
- Fordele ved Multithreading
- Zombieprocesser og deres forebyggelse
- Maksimalt antal zombieprocesser et system kan håndtere
- Operativsystem | Remote Procedure Call (RPC)
Hukommelseshåndtering:
- Hukommelseshierarkidesign og dets egenskaber
- Introduktion til hukommelse og hukommelsesenheder
- Forskellige typer RAM (Random Access Memory)
- Buddy System: Hukommelsestildelingsteknik
- Hukommelseshåndtering | Partitionsallokeringsmetode
- Fast (eller statisk) partitionering i operativsystemet
- Variabel (eller dynamisk) partitionering i operativsystemet
- Ikke-sammenhængende allokering i operativsystem
- Logisk vs fysisk adresse i operativsystemet
- Personsøgning
- Krav til hukommelsesstyringssystem
- Hukommelsesstyring – kortlægning af virtuel adresse til fysiske adresser
- Sidetabelposter
- Virtuel hukommelse
- Hukommelse interleaving
- Spørgsmål om virtuel hukommelse
- Operativsystem baseret virtualisering
- Inverteret sidetabel
- Byt plads
- Håndtering af sidefejl
- Fast (eller statisk) partitionering i operativsystemet
- Segmentering
- Hukommelsessegmentering i 8086 mikroprocessor
- Program til Next Fit-algoritme i Memory Management
- Overlejringer i hukommelsesstyring
- Algoritmer til sideerstatning
- Program til sideerstatningsalgoritmer | Sæt 1 (LRU)
- Program for optimal sideerstatningsalgoritme
- LFU (mindst hyppigt brugt) Cache-implementering
- En anden chance (eller ur) sideudskiftningspolitik
- Teknikker til at håndtere thrashing
- Tildeling af kernehukommelse (kammeratsystem og pladesystem)
- Program til buddy memory allokeringsskema i operativsystemer | Sæt 1 (tildeling)
- Program til buddy memory allokeringsskema i operativsystemer | Sæt 2 (deallokering)
- Statiske og dynamiske biblioteker | Sæt 1
- Arbejde med delte biblioteker | Sæt 1
- Arbejde med delte biblioteker | Sæt 2
- Navnet Pipe eller FIFO med eksempel C-program
- Sporing af hukommelsesbrug i Linux
>> Quiz om hukommelseshåndtering
Diskhåndtering:
- Filsystemer
- Unix filsystem
- Implementering af Directory Management ved hjælp af Shell Script
- Filkatalog | Sti navn
- Directorys strukturer
- Filallokeringsmetoder
- Filadgangsmetoder
- Sekundær hukommelse
- Sekundær hukommelse – Harddisk
- Diskplanlægningsalgoritmer
- Program til SSTF disk planlægningsalgoritme
- Hvad er spooling helt præcist?
- Forskellen mellem spooling og buffering
- Ledelse af fri plads
>> Quiz om input-outputsystemer
Diverse
- Introduktion til UNIX-systemet
- Vigtige Linux-kommandoer (leave, diff, cal, ncal, locate og ln)
- Procestilstande og overgange i en UNIX-proces
- Introduktion til Linux Shell og Shell Scripting
- 'crontab' i Linux med eksempler
- indepth og maxdepth i Linux find()-kommandoen til at begrænse søgningen til en bestemt mappe.
Typer af operativsystemer
- Batch OS (f.eks. Transaktionsproces, Lønsystem osv.)
- Multiprogrammeret OS (f.eks. Windows, UNIX, macOS osv.)
- Timesharing OS (f.eks. Multics, Linux osv.)
- Realtids OS (f.eks. PSOS, VRTX osv.)
- Distribueret OS (f.eks. LOCUS, Solaris osv.)
Operativsystems funktioner
- Hukommelse og processorstyring
- Netværksstyring
- Sikkerhedsstyring
- Filhåndtering
- Fejlregistrering
- Jobregnskab
Ofte stillede spørgsmål om operativsystem
Q.1 Hvorfor lære operativsystemer?
Svar :
OS er den vigtigste del af en computer. Via OS kan brugere interagere med computersoftware. Det giver en grænseflade mellem hardware og CPU. Det giver også en platform for programmet til at køre på det og tjenester til brugerne. Den udfører alle de grundlæggende opgaver, der kræves i en applikation.
Q.2 Skriv de 10 bedste eksempler på operativsystemer?
Svar :
alfa beta beskæring
Nogle af de mest populære OS-eksempler er givet nedenfor:
- Windows
- Linux
- MacOS
- Ios
- Android
- Ubuntu
- CentOS
- Solaris
- Chrome OS
- Fedora
Q.3 Hvad er fordelene ved et multiprocessorsystem?
Svar :
Et multiprocessorsystem involverer behandling af to eller flere computerprogrammer samtidigt, der deler det samme hukommelsesområde. Det øger pålideligheden.
Q.4 Hvad er en tråd i OS?
Svar :
alfabet til tal
En tråd er en letvægtsproces eller et underprogram, som er en del af processen eller et program. En tråd har sin egen tæller for registre, stak, tilstand og program.
Hurtige links :
- Last Minute Notes (LMN'er) | Operativsystemer
- Ofte stillede operativsystemer interviewspørgsmål
- 'Øvningsproblemer' på operativsystemer!