Monday, December 15, 2014

15/12/2014 Kernel & Proccess Management

Kernel

u 4% OS-ist on Kernel. Kernel on kohandatav, kohandub olemasolevale protsesorile.
Kernelisse kirjutatakse: mälu haldus, cpu haldus, teatud seadmete haldus.
DLL-dünaamiliselt lingitavad teegid - laiendab kerneli võimalusi. Dynamic-link library
Windows 7 kerneli suuruseks on 5,29MB, XPl on 2,9 MB
 https://www.princeton.edu/~achaney/tmve/wiki100k/docs/Kernel_%28computer_science%29.html
Kerneli tasandilt me teatud cpude iseärasusi ei näe. 
Kerneli peamine ülesanne on süsteemikutsed(pildil lillad) ja memory management, system management(kõige suurem töö, töötab mood memory management), device management, system calls.
mitte midagi pole kettal otse, vaid kõik laaditakse mällu. mälu haldus tegeleb mällu ruumi tekitamisega. 
seadme haldus suhtleb riistvaradega, st kasutaja ei pea ise midagi os-ile ütlema nt kuihu i/o -sse panna, mida teha jne. kõik see on tema eest peidetud. see on atraktsioon.  
System calls kernelil.
IRQ - interrupt guest (http://en.wikipedia.org/wiki/Interrupt_request_%28PC_architecture%29)
Call gate - loogika lüüs(and, or, jne), millele laekub singaal. see teeb mingi lülituse. Lüüs tekitab katkestusignaali. 
A CPU cache is a cache used by the central processing unit (CPU) of a computer to reduce the average time to access data from the main memory. The cache is a smaller, faster memory which stores copies of the data from frequently used main memory locations. Most CPUs have different independent caches, including instruction and data caches, where the data cache is usually organized as a hierarchy of more cache levels (L1, L2 etc.)

 https://www.youtube.com/user/bjhecker

Proccess Management

Protsess on täitmisel olev arvuti programm, käivitub siis, kui kasutaja teeb topeltkliki. Mõnikord kutsutakse ka task või job. Protsess moodsates os-ises on seotud mitmete lõimudega, mida täidetakse samal ajal. Igal protsessil on omad andmed, temaga seotud statistika ja privaatsed ressursid.
THREAD- lõim
Protsess mälus.


Stack- linkide kogu mis võimaldab dll- e avada
heap - mälu hõivamise programm, võimaldab dünaamiliselt vastavalt linkide arvule mälupesade arv.
text -programmeerija poolt kirjutatud koodid mis teisendatakse kahendsüsteemi koodi.
kõik klaviatuuri klahvid omavad numbrit mis mällu kirjutatakse kahendsüsteemina.

ühel dll üks kindel töö.
Iga protsess, mis arvutis töötab on seotud protsessijuhtblokkiga - PCB


 Iga protsessile eraldatakse mälu. Mälu eraldab kernel. mällu kirjutatakse protsessi kood.
Programmloend ja andmed.
Avatud failide loetelu - file handles - näitab kuhu uus info kirjutada või näitavad koha kust seda infot lugeda. nnäitab faili asukohta või viitab mingile failile millelt infot lugeda.



Seisundid





Kui kernel sai asja mällu pandud - created
terminated - kui asi jõudis koodirea viimase reani, lõpetab oma töö normaalselt. lõpetas oma töö. kirjutatakse mälust välja.
running- töötlemisel
blocked - ootab mingit ressurssi.
waiting - ootejärjekord
roheline alal pildil - virtuaalmälu. windowsi masinated page file - mälu lehekülgede fail.
swapped out and waiting - swap space - saaleala, saalimine st mälust välja ja mälust tagasi kirjutamine (mälust väljakirjutamise protsess),  maht suurem kui mälumaht - virtuaalmälu
swapped out and blocked - swapping - mälust väljakirjutamine esimesele kõvakettale.

Kui kernel protsessi loob, siis ta annab talle ID.


ctrl-alt-delete and then start task manager. sealt PID number on protsessi number.
statistika vajalikkus - et järgmiseks korraks ennustada kui palju ruumi jms vaja.
Smss.exe sessiooni halduse alamsüsteem, mis vastutab kasutaja sessiooni loomise eest ja hoiab seda. sessioon on arvutikasutamise tsükkel - sisselogimisest väljalogimiseni.
http://en.wikipedia.org/wiki/Session_Manager_Subsystem