Portfoolio

Programmerimise alused

1. Operatsioonisüsteemide ajalugu

Esimesed operatsioonisüsteemid olid loodud arvutite riistvara juhtimiseks ja kasutaja suhtlemise vahendamiseks (OS)

  • UNIX (1969) – monoliitne kernel, esimene laialt kasutatud mitmekasutaja OS.
  • MS-DOS (1981) – varajane Microsofti OS personaalarvutitele, kasutas pakktöötlust.
  • Mac OS (1984) – graafilise kasutajaliidesega süsteem Apple Macintoshile.
  • Linux (1991) – avatud lähtekoodiga OS, mille kernel on monoliitne.
  • Windows 95 (1995) – hübriidkernel, tõi Start-menüü ja ajajaotusliku multitaskingu.
  • Mac OS X (2001) – hübriidne XNU kernel (UNIX-baasil).
  • Windows XP (2001) – hübriidkernel NT-põhine, väga populaarne.
  • iOS (2007) ja Android (2008) – mobiilseid OS-id, kernel vastavalt XNU ja Linux.
  • Windows 10 (2015) – hübriidkernel, ühendas seadmete platvorme.

2. Kernelite eripärad

Kernel (tuuum) on OS põhi, mis haldab protsesse, mälu, I/O ja faile.
On viis peamist tüüpi:

  1. Monoliitne kernel – kõik teenused ühes (nt Linux, BSD). Kiire, aga vähem turvaline.
  2. Mikrokernel – ainult baasfunktsioonid, ülejäänud töötab kasutajarežiimis. Näited: Minix, QNX.
  3. Hübriidkernel – kombineerib eelnevad (Windows NT, macOS XNU).
  4. Exokernel – väga õhuke, annab kontrolli rakendustele.
  5. Nanokernel – minimaalne, kasutusel virtualiseerimises (nt Xen Hypervisor).

3. Windows 95 (Chicago)

Windows 95 (koodnimi Chicago) ilmus 1995. aastal. See ühendas DOS-i ja Windowsi, kasutades hübriidset kernelit (16/32-bit).
Uuendused:

  • Start-menüü, töölaua ikoonid, Plug and Play
  • Toetus multitaskingule ja 32-bit programmidele
  • Pikad failinimed (kuni 255 tähemärki)
  • Lihtsam paigaldus
    Miinused: aeglus vanadel arvutitel, draiveriprobleemid (Device Driver).
    Minimaalsed nõuded: CPU 386 DX, RAM 4 MB, HDD 20 MB.
    Kernel – hübriidne, osa DOS (16-bit) ja osa Windows (32-bit).

Windowsi paigaldamine virtuaalmasinas

  1. Laadi alla ISO-fail Windowsi paigaldamiseks.
  2. Loo uus virtuaalmasin (nt VirtualBox või VMware).
  3. Määra OS tüüp ja versioon (nt Windows 10).
  4. Jaga ressursid – RAM, CPU (toetab multithreading ja multiprocessing).
  5. Lisa ISO virtuaalse CD-ROMina.
  6. Käivita VM ja alusta installatsiooni.
  7. Järgi ekraanil olevaid juhiseid: vali keel, kettaseadistus, kasutajakonto.
  8. Pärast installi paigalda draiverid (Device Drivers) ja uuendused.

Mõisted

№Eesti keel
1 OS – vahendab arvutikasutaja suhtlust arvuti riistvaraga.
2 Rakendustarkvara – programmid tööülesannete täitmiseks.
3 Hargtöötlus (Multithreading) –protsess jaguneb lõimedeks, mis töötavad paralleelselt.
4 Hüperviisor (Hypervisor) – virtualiseerimise haldur riistvara ja kerneli vahel.
5 Kernel (Tuum) – OS põhikomponent, haldab mälu, protsesse ja seadmeid.
6 Kernelirežiimi mode variandid (User Mode) –kasutajarežiim väljaspool tuuma.
7 Pakktöötlus (Batch) –järjest täidetavad ettevalmistatud programmid.
8 Ajajaotuslikud OS-d (Time-sharing) –protsessori aeg jagatakse kvantumiteks.
9 Reaalajalised OS-d – täpne reageerimisaeg kriitilistes rakendustes.
10 Rakendusliides (API) –ühendus erinevate programmide vahel.
11 Baasteenused (Base Services) – protsessihaldus, mälu, I/O ja turvalisus.
12 Komponenditeenused (Component Services) – rakenduste suhtlemine.
13 Kasutajaliidese teenused (User Interface Services) – menüüde ja akendega suhtlemine.
14 Graafika ja multimeedia teenused – piltide ja heli haldus.
15 Sõnumivahetus ja koostöö – Messaging and Collaboration
16 Võrgundus (Networking) – ühendus teiste süsteemidega.
17 Veebiteenused (Web Services) – rakenduste suhtlus veebi kaudu.
18 OS katkestus (Interrupt driven) – sündmused käivituvad katkestustega.
19 Erandid (Exceptions / Trap) – tarkvara genereeritud katkestused.
20 Süsteemikutse (System Call) – API pöördumine OS teenuse saamiseks.
21 Protsess OS-s –töötav rakendus, mille ressursse haldab OS.
22 Protsessi juhtplokk (Process Control Block) – salvestab protsessi info.
23 Round-Robin –protsessid saavad võrdselt protsessoriaega.
24 I/O Manager – ühendab rakendused ja seadmed.
25 Võimsuse haldur (Power Manager) –haldab energiarežiime.
26 INF fail – seadme draiveri installifail.
27 Plaanur (Scheduler) – valib järgmise täitmisele mineva protsessi.
28 SJF (Shortest Job First) – lühim töö saab prioriteedi.
29 Semaphor – koordineerib juurdepääsu ressurssidele.
30 Deadlock (Ummik) –protsessid ootavad teineteise ressursse.
31 Multitasking – mitme protsessi vahelduv täitmine.
32 Multiprocessing –protsessid eri protsessoritel.
33 Symmetric Multiprocessing (SMP) – kõik protsessorid võrdsed.
34 Asymmetric Multiprocessing (AMP) – üks protsessor kernelile.
35 Multitöötlussüsteem (Hyper-Threading) – ühe protsessori lõimede jagamine.
36 Task – protsess ja tema lõimed koos.
37 Kontekstkommutatsioon – protsesside vahetus täitmisel.
38 Virtuaalmälu –laiendab põhimälu massmäluga.
39 MMU (Memory Management Unit) – haldab lehekülgede aadresse.
40 Page Directory – lehekülgede kataloog.
41 Page Table – leheküljetabel.
42 Page Directory Base Address – kataloogi füüsiline aadress.
43 CR3 – register, mis salvestab kataloogi aadressi.
44 Pagefile –põhimälu + saalefaili kogumaht.
45 Commit limit –maksimaalne eraldatav mälu.
46 Commit –OS eraldab protsessile mälu.
47 Current Commit Charge – kasutusel olev virtuaalmälu.
48 Pagefile size – optimaalne saalefaili suurus.
49 Peak Commit Charge – maksimaalne kasutatud mälu.
50 Page Fault – andmeid pole põhimälus.
51 Thrashing (pukslemine) – pidev lehekülgede vahetus, jõudluse langus.

Teised küsimused

TeemaVaastus
Virtuaalne aadressiruum (x86 32-bit)4 GB, 2 GB kasutaja ja 2 GB süsteemi jaoks.
Mälu hierarhiaRegistrid → vahemälu (L1, L2, L3) → RAM → virtuaalmälu (pagefile) → SSD/HDD.

Kernelite tüübid

KernelKirjeldus
MonoliitneKõik funktsioonid ühes kernelis (kiire, kuid keeruline).
MikrokernelAinult põhi, teenused eraldi protsessidena (stabiilsem, aeglasem).
ModulaarneKernel koos lisamoodulitega (Windows).
Objekt-orienteeritudLaiendatav, komponendid objektidena.
HüperviisorVirtualiseerimise haldur OS ja riistvara vahel.