Presentation is loading. Please wait.

Presentation is loading. Please wait.

(o operacijskih sistemih)

Similar presentations


Presentation on theme: "(o operacijskih sistemih)"— Presentation transcript:

1 (o operacijskih sistemih)

2 Komponente računalniškega sistema
1. Strojna oprema – (hardware) zagotavlja osnovne vire (CPE, pomnilnik, V/I naprave). 2. Operacijski sistem – nadzoruje in koordinira uporabo strojne opreme med aplikacijami, ki tečejo na sistemu 3. Aplikacije – določajo načine uporabe sistemskih virov za reševanje uporabnikovih problemov (prevajalniki, podatkovne baze, igre, poslovni programi...) 4. Uporabniki (ljudje, stroji, drugi računalniki).

3 Naraščanje pomena programske opreme
Premiki v ceni tehnologije Padanje cen aparaturne opreme Naraščanje kompleksnosti programske opreme in rast njene cene Rast cene programerskega dela Programski pripomočki za “reverzni inženiring” organizacij Programska oprema pomaga pri standardizaciji poslovnih postopkov

4 Ključne programske komponente informacijskih sistemov
Programska oprema (software) Množica programov, ki nadzirajo delovanjeaparaturne opreme računalnika Program Množica kodiranih ukazov, ki jih bere in izvaja računalnik Dokumentacija Množica navodil, ki pomagajo uporabniku pri uporabi računalniških programov

5 Klasifikacija programske opreme

6 Uporabniški programi Omogočajo uporabniku izvedbo določene naloge
Pisanje nekega dokumenta Izvedbo določenih računov Uporabo elektronske pošte .... Interaktirajo s sistemsko programsko opremo Dva osnovna tipa Prilagojeni uporabniku (customized) Neprilagojeni, “vzeti s police” (Off-the-shelf)

7 Sistemski programi Zbirka programov za krmiljenje osnovnih operacij računalniške aparaturne opreme Cilj – naj bo delovanje računalnika za uporabnike transparentno Temu včasih pravijo tudi “operacijski sistem” Uporabniški programi Operacijski sistem Uporabnik Aparaturna oprema

8 Sistemski programi Sistemski programi nudijo okolje, primerno za razvoj in izvajanje programov. Delimo jih lahko na programe za: Rokovanje z datotekami Informiranje o statusu Spreminjanje datotek Podporo programskim jezikom Nalaganje in izvajanje programov Komunikacije Druge uslužnostne programe Pogled uporabnikov na operacijski sistem je večinoma opredeljen s sistemskimi programi in ne s sistemskimi klici.

9 Funkcije sistemske program. opreme
Izvedba sistemskih operacij Zagon računalnika Branje programov v pomnilnik Upravljanje dodeljevanja pomnilnika programom Vzdrževanje strukture direktorijev Krmiljenje perifernih naprav Nudenje uporabniškega vmesnika Vmesnik, temelječ na ukazih Grafični vmesnik (Graphical User Interface: GUI)

10 Kaj je torej operacijski sistem?
Programje, ki deluje kot posrednik med uporabnikom računalnika in računalniško aparaturno opremo. Cilji operacijskega sistema: Izvajanje uporabniških programov in lažje reševanje problemov uporabnika. Narediti računalniški sistem sploh uporabljiv. Učinkovita uporaba računalniškega sistema. učinkovito upravljanje in dodeljevanje procesorskega časa, pomnilnika in drugih virov

11 Pogledi na operacijski sistem
Pogled uporabnika OS nudi abstrakcijo virov računalnika, tako da je reševanje problemov lažje Sistemski pogled OS deluje kot alokator in upravnik virov, upravnik procesov in nadzornik sistema

12 Še nekaj definicij operacijskega sistema
Resource allocator – upravlja in alocira vire (CPE, pomnilnik, disk, mrežne povezave...). Control program – nadzoruje izvajanje uporabniških programov in operacij vhodno-izhodnih naprav . Kernel – Program, ki teče ves čas (kar v splošnem ne velja za uporabniške programe).

13 Kaj dela operacijski sistem?
Zagon aplikacij Zahtevo za zagon neke aplikacije (na primer urejevalnika Word) pošljemo operacijskemu sistemu OS poišče program na disku, ga naloži v pomnilnik in ga požene

14 Kaj dela operacijski sistem?
OS nudi aplikaciji različne servise; npr. med potekom uporabniškega programa mu operacijski sistem (OS) po potrebi bere ali zapisuje podatke na disku OS, aplikacije in podatki tekmujejo za pomnilnik

15 Še nekaj pojmov pri OS Režimi izvajanja (Running Modes)
Uporabniški režim (User Mode) Omejena uporaba aparaturne opreme in omejen nabor strojnih ukazov V tem režimu tečejo uporabniški programi Sistemski režim (Kernel Mode, Trusted mode) Neomejen dostop do aparaturne opreme Možna uporaba vseh strojnih ukazov V tem režimu v splošnem teče operacijski sistem

16 Kako se stvar začne (zagon OS)?
Bootstrap: program v pomnilniku ROM (read only memory) Požene ga CPE ob vklopu računalnika Prepiše operacijski sistem z diska v pomnilnik Nato preskoči na operacijski sistem A CPU’s program counter starts with a particular pre-determined address each time the CPU is turned on. At this address or location the CPU expects to find the first instruction to be executed we make this address’ contents permanent to ensure that the desired program is present The small program that is stored in read only memory (ROM) is called the bootstrap directs the loading of the operating system boot strapping/booting: a procedure that is performed by the machine each time it is turned on.

17 Zagon operacijskega sistema
Korak 2: Zagonski program prepiše operacijski sistem v primarni pomnilnik in preda nadzor njemu. Korak 1: Ob vklopu računalnika se požene zagonski program (bootstrap program), ki je že v pomnilniku. Operacijski sistem pa se nahaja na disku.

18 Komponente operacijskega sistema
Lupina (shell): del, ki komunicira z uporabniki Grafični uporabniški vmesnik (GUI) Window manager Jedro (kernel): vsebuje komponente za opravljanje osnovnih funkcij Upravljanje z datotekami (File manager) Upravljanje s pomnilnikom (Memory manager) Razvrščanje nalog (Scheduler and dispatcher) Gonilniki naprav (Device drivers) Operating System Components shell: the interface between the operating system and its users. Modern shells use a graphical user interface (GUI) in which objects are represented as icons on the screen. (show next screen and move back to this one) Window manager: a component of a GUI shell which allocates blocks of space on the screen (windows) and keeps track of which application is associated with each window. Kernel: internal part of an operating system that contains the software components that perform the very basic functions required by the computer installation

19 Lupina (shell) kot vmesnik med uporabniki in operacijskim sistemom

20 Enoprocesorski operacijski sistemi
Separating applications from operating system code through a microkernel. 1.11

21 Upravljanje datotek (File Manager)
Datotečni sistem: način shranjevanja in organizacije datotek na pomnilniškem mediju (disk, CD-ROM...) Direktorij ali mapa (Directory, folder): Skupina datotek, ki jo običajno ustvari uporabnik Pot (Path): Položaj datoteke v hierarhiji direktorijev Opisnik datoteke (File descriptor): Informacija, potrebna za dostop do odprte datoteke File manager: component of the kernel that coordinates the use of the machine’s mass storage facilities files are grouped into a bundle called a directory or folder. The chain of directories within directories is called a path. File descriptor: an area of main memory that contains information about how to find and manipulate a file. device driver: component of the kernel that communicates with a controller to carry out operations on one of the machine’s peripheral devices. Device drivers translate general requests into the more technical steps required by the device assigned to that driver design of other software units can be independent of the unique details of particular devices. A generic operating system can be customized for particular peripheral devices by merely installing the appropriate device drivers.

22 Upravljanje s pomnilnikom (Memory manager)
Parkinsonov zakon: “Programi se širijo, da zapolnijo ves pomnilnik, ki jim je na voljo” posledično programerji želijo neskončno velik in neskončno hiter pomnilnik Navidezni pomnilnik (Virtual memory): navidezni pomnilniški prostor tvorimo ga s premetavanjem strani med resničnim pomnilnikom in prostorom na disku stran (Page): enota uporavljanega pomnilnika (nekaj kilobytov) procesi vidijo samo svoj prostor (zaščita) memory manager: component of the kernel that coordinates the machine’s use of main memory. Complicated in a multi-user or multitasking environment. When the total main memory space required is greater than the space actually available: memory manager may create the illusion of additional memory space by rotating programs and data back and forth between main memory and mass storage this is called virtual memory scheduler: component of the kernel that determines which activities are to be considered for execution. dispatcher: component of the kernel that controls the allocation of time slices to these activities.

23 Procesi Program = statična skupina ukazov
Proces = aktivnost (“življenje”) programa, ki teče, skupaj s podatki (spremenljivkami) in stanjem slika programske kode (na disku) pomnilnik, ki vsebuje programsko kodo in podatke viri, ki jih je dodelil OS (ročice na datoteke – file handles) varnostni atributi (lastnik, dovoljenja) stanje procesa Stanje procesa (context) = trenutno stanje aktivnosti Posnetek pomembnih delov stanja računalnika Programski števec, ostali registri, dodeljeni pomnilnik Program: a static set of directions. Process: a dynamic activity whose properties change as time progresses. Process State: the current status (snapshot) of the activity, including: the value of the program counter values in the other CPU registers values in the associated memory cells Interprocess communication: the communication between processes that is handled by the scheduler and the dispatcher within the operating system’s kernel.

24 Upravljanje s procesi Multitasking: navidezno izvajanje več procesov hkrati Razvrščevalnik (Scheduler) Stanje vseh procesov hrani v procesni tabeli določa stanje izvajanja: state (trenutno izvajajoči proces, pripravljeni, blokirani procesi) upošteva prioriteto procesov Vodi dodatne podatke: strani v pomnilniku ipd. Scheduler has a block of information in main memory called the process table in which it: maintains a record of the processes present in the computer system introduces new processes to the process table removes processes that are complete Each entry in the process table includes: memory area assigned to the process the priority of the process whether the process is ready or waiting. Ready: the process is in a state in which its progress can continue Waiting: the process is in a state where its progress is currently delayed until another event occurs.

25 Upravljanje s procesi (2)
OS ima lahko 3 tipe razvrščevalnikov: dolgoročni (admission) kateri procesi sploh pridejo v status pripravljenosti za izvajanje; pomembni pri sistemih v realnem času srednjeročni kateri procesi gredo v sekundarni pomnilnik (disk) pri sistemih z navideznim pomnilnikom kratkoročni (dispatcher) kateri od pripravljenih procesov dobi svoj del CPE Scheduler has a block of information in main memory called the process table in which it: maintains a record of the processes present in the computer system introduces new processes to the process table removes processes that are complete Each entry in the process table includes: memory area assigned to the process the priority of the process whether the process is ready or waiting. Ready: the process is in a state in which its progress can continue Waiting: the process is in a state where its progress is currently delayed until another event occurs.

26 Upravljanje s procesi (3)
Kratkoročni razvrščevalnik - dispečer (Dispatcher) Dodeli eno časovno rezino (kvantum) procesu, ki je pripravljen Izvede preklop procesov (context switch), ko dodeljena časovna rezina poteče iztek časovne rezine nakaže prekinitev (interrupt) ura, V/I prekinitev, sistemski klic... rokovalnik prekinitev (Interrupt handler): je del dispečerja Dispatcher ensures that the scheduled processes are actually executed. In a time-sharing system, it divides time into time slices or quantums (50 milliseconds) The CPU’s attention is then switched from one process to another (process switch) where each process is only allocated one time slice. Each time a process begins its time slice, the dispatcher initiates a timer circuit that will measure the next quantum. At the end of the quantum, the timer circuit generates a signal called an interrupt.

27 Dodeljevanje časa (Time-sharing) med procesoma A in B
The CPU then completes its current machine cycle (fetch, decode, execute) and then saves its position in that process. Then the CPU executes a program called the interrupt handler which transfers control back to the dispatcher. The dispatcher then: allows the scheduler to update the process table (in case any high priority jobs are in the queue) selects the highest priority process from the process table restarts the timer circuit allows the selected process to begin its time slice.

28 Stanje izvajanja (state) procesa
kreiran končan v stanju izvajanja čakajoč (pripravljen) blokiran (npr. čaka na zaseden vir) čakajoč (na disku navideznega pomnilnika) blokiran (na disku navideznega pomnilnika)

29 Kako rešujemo tekmovanje za vire?
Določene vire lahko zaseda le en proces hkrati – procesi tekmujejo za vire če je vir zaseden, morajo ostali procesi čakati, da se vir sprosti (so blokirani) Semafor = kontrolna zastavica, ki pove, da je nek vir zaseden Z ustrezno funkcijo moramo sočasno izvesti operaciji test in set Kritična sekcija = zaporedje ukazov, ki jih naenkrat lahko izvaja le en proces Običajno ščitena s semaforjem Medsebojno izobčenje (Mutual exclusion) = zahteva za pravilno implementacijo kritične sekcije The operating system’s kernel is tasked with allocating the machine’s resources to the processes in the system. File manager allocates access to current files and disk space for the construction of new files Memory manager allocates memory space Scheduler allocates space in the process table Dispatcher allocates time slices In order to make sure the system is reliable, we must develop algorithms that cover every possible issue that might arise within a machine. Semaphore: a properly implemented flag which guards a mutual exclusion of a critical region. critical region: a sequence of instructions that can be executed by only one process at a time. mutual exclusion: the requirement that only one process at a time be allowed to execute a critical region. To enter a critical region, a process must find the semaphore clear set the semaphore before entering the critical region clear the semaphore after exiting the critical region.

30 Smrtni objem (Deadlock)
Dva procesa blokirata drug drugemu nadaljevanje Pogoji, ki vodijo v smrtni objem 1. Tekmovanje za vire, ki niso deljivi 2. Vsak proces potrebuje najmanj dva vira 3. Alociranega vira ne moremo sprostiti Deadlock: the condition in which two or more processes are blocked from progressing because each is waiting for access to resources allocated to each other. Occurs when all of these conditions are met: There is competition for non-sharable resources The resources are requested on a partial basis having received some resources, a process will return later to request more. Once a resource has been allocated, it cannot be forcibly retrieved. Smrtni objem dveh vlakov, ki tekmujeta za dve nedeljivi križišči proge

31 Smrtni objem (primer) viri so nedeljivi (jih lahko zaseže le en proces)
zaseži vir 1 ... zaseži vir 2 sprosti vir 2 sprosti vir 1 Proces 2: zaseži vir 2 ... zaseži vir 1 sprosti vir 1 sprosti vir 2 Deadlock: the condition in which two or more processes are blocked from progressing because each is waiting for access to resources allocated to each other. Occurs when all of these conditions are met: There is competition for non-sharable resources The resources are requested on a partial basis having received some resources, a process will return later to request more. Once a resource has been allocated, it cannot be forcibly retrieved.

32 Smrtni objem (kako se izogniti)
izogibanje: vnaprej vemo kakšne vire zahteva proces bankirjev algoritem (Dijkstra) za ugotavljanje varnih stanj in izdajo dovoljenj za zaseganje virov preprečevanje: izogibanje ekskluzivnemu zaseganju virov in uporaba alternativ – spooling, “backoff” algoritmi... zahteva po vseh resursih pred začetkom izvajanja izogibanje krožnemu čakanju na vire (npr. z upoštevanjem prioritete virov) odkrivanje: ponoven zagon (“restart”) procesov Deadlock: the condition in which two or more processes are blocked from progressing because each is waiting for access to resources allocated to each other. Occurs when all of these conditions are met: There is competition for non-sharable resources The resources are requested on a partial basis having received some resources, a process will return later to request more. Once a resource has been allocated, it cannot be forcibly retrieved.

33 “Spooling” (namotavanje?)
Zahtevano operacijo prestavimo na nek kasnejši čas Tako izgledajo nedeljivi viri kot deljivi (shareable) Tehnika izogibanja smrtnemu objemu In printing, deadlocks can be avoided by the technique called spooling: instead of connecting a process to a printer’s device driver, the OS connects it to a device driver that stores the information to be printed on a disk rather than sending it to the printer. Competing processes get treated the same way. data to be printed is stored until the printer is free spooling holds data for output at a later but more convenient time

34 Procesi in varnost Operacijski sistem preprečuje nelegalen dostop do virov Različen pomnilnik za različne procese Privilegirani ukazi možni le v jedru Vsi dostopi do datotek so možni le preko jedra Dostop do drugih naprav le preko jedra

35 Vrste operacijskih sistemov
Preprosti paketni sistemi (Batch Systems) Multiprogramski paketni sistemi Sistemi z dodeljevanjem časa (Time-Sharing Systems) Sistemi osebnih računalnikov Paralelni sistemi Porazdeljeni sistemi Sistemi za delo v realnem času (Real -Time Systems)

36 Računalniki 1. generacije
: elektronke za vezja magnetne bobne za podatke (pomnilnik) papirne kartice, tiskani izpisi za I/O en program naenkrat brez pravega OS in višjenivojskih prog. jezikov program pri npr. ENIACu določen s pretikanjem kablov in stikal, pozneje tudi s shranjenimim funkcijami v ROM programi v binarni strojni kodi podatki na karticah

37 ENIAC Electronic Numerical Integrator and Computer

38 Računalniki 2. generacije (1955-1965)
Tranzistorji Programski jeziki Prvi OSi za paketno obdelavo

39 Preprosti paketni sistemi
Uporabniški podatki Uporabniški program Trak Sistemska progr. oprema Trak Operacijski sistem Računanje Čitalnik kartic Tiskalnik Trak Trak Izhod Vhod

40 Računalniki 2. generacije (1955-1965)
IBM 7094 IBM 1401

41 Računalniki 2. generacije (1955-1965)
Programer pripravi paket luknjanih kartic Več paketov luknjanih kartic prenesemo na trak Trak poženemo na računalniku “mainframe” Izpis rezultatov, ko se vsi posli (job) zaključijo

42 Preprosti paketni sistemi
Nadzoruje jih operater (administrator) Uporabnik  operater Rokovanje s perifernimi napravami Krajšanje časa nameščanja (setup time) s primernim grupiranjem podobnih poslov v pakete Avtomatsko razporejanje poslov (job sequencing) – avtomatsko prenese nadzor iz enega posla (job) na drugega. To so bili prvi preprosti operacijski sistemi. Residenčni monitor V začetku ima nadzor monitor Nadzor se prenese na posel Ko se posel zaključi, se nadzor spet prenese na monitor

43 Multiprogramski paketni sistemi
V primarnem pomnilniku je sočasno več poslov in uporaba CPE je med njimi multipleksirana.

44 Multiprogramski paketni sistemi
Sistemska programska oprema nudi storitve računalniškega sistema glede na zahtevke s strani uporabniških programov Do spremembe konteksta (programa) pride, ko določen paket čaka na zunanji dogodek (npr. V/I napravo)

45 Sistemi z dodeljevanjem časa (Time sharing)
Podobno multiprogramskim sistemom, multipleksiranje pa je tako hitro, da navidezno programi tečejo sočasno. Zato lahko poteka uporaba računalnika interaktivno. CPU je multipleksirana med več posli, ki so sočasno v pomnilniku oziroma na disku (CPE je dodeljena poslu le, če se ta nahaja v pomnilniku). Posel (job) je premeščan (swapped) v pomnilnik ali iz njega na disk. Na voljo je on-line komunikacija med uporabnikom in sistemom; Ko operacijski sistem konča izvajanje enega ukaza, poišče naslednji “ukaz”, ki ga uporabnik vtipka preko tipkovnice. Uporabniki imajo dostop do podatkov in programov s pomočjo sprotnega sistema (on-line system).

46 Sistemi za delo v realnem času
Jih pogosto uporabljamo za krmiljenje naprav v posvečenim aplikacijam, kot so na primer krmiljenje znanstvenih poskusov, medicinsko oslikovalni sistemi, industrijski nadzorni sistemi ipd. Dobro določene, trdne časovne omejitve. Hard real-time system. Sekundarni pomnilnik je manjši, lahko ga celo ni. Podatki so v hitrem pomnilniku ali ROM (read-only memory) Prekoračitev časa ima lahko usodne posledice za delovanje naprave (roboti, industrijske naprave,..) Splošno namenski operacijski sistemi za to niso primerni. Soft real-time system Prekoračitev časa je moteča, ni pa usodna Uporabno v aplikacijah, kot so navidezna resničnost, multimedijske aplikacije ipd. Zahteva napredne značilnosti operacijskega sistema.

47 Paralelni sistemi Simetrično multiprocesiranje (SMP)
Več enakovrednih procesorjev dostopa do skupnega pomnilnika 1 OS, ki enakovredno distribuira procese procesorjem Podpira ga večina modernih OS (Windows, Linux...) MPP – Masivno paralelno procesiranje Vsaka CPE vsebuje svojo kopijo OS in aplikacije, povezane so s hitrim vodilom. Problemi, ki jih rešujejo, morajo biti primerni (možno razbitje na kose...)

48 Porazdeljeni sistemi Računanje je porazdeljeno med več procesorjev oz. računalnikov Mehko sklopljeni sistemi – vsak procesor ima lasten lokalni pomnilnik. Procesorji komunicirajo med seboj preko komunikacijskih linij. Prednosti porazdeljenih sistemov. Souporaba virov Hitrost računanja – sodelavna razdelitev premena Skalabilnost Zanesljivost Komunikacije

49 Navidezni stroji Navidezni stroj (virtual machine) je pripeljal koncept slojne arhitekture do njenega logičnega zaključka. Aparaturno opremo in jedro operacijskega sistema obravnava, kot da je vse skupaj aparaturna oprema. Navidezni stroj nudi vmesnik, identičen aparaturni opremi pod njim. Tvorimo iluzijo več procesov, od katerih vsak simulira svoj lastni procesor s svojim lastnim (navideznim) pomnilnikom.

50 Navidezni stroji S souporabo virov fizičnega računalnika tvorimo navidezne računalnike. Razvrščanje CPE daje uporabnikom vtis, kot da ima vsak svoj procesor. “Spooling” in datotečni sistem lahko nudita navidezne (virtualne) periferne naprave. Kot konzolo operaterja uporabljamo obstoječi uporabniški terminal (tipkovnico, zaslon, miško)

51 Modeli sistema Non-virtual Machine Virtual Machine

52 Prednosti in slabosti navideznih strojev
Koncept navideznega stroja nudi popolno zaščito sistemskih virov, saj je vsak navidezni stroj izoliran od drugih navideznih strojev. Taka izolacija pa ne dovoljuje direktne souporabe virov. Sistem z navideznim strojem je odličen za učenje, razvoj in raziskave. Sistemski razvoj izvajamo na navideznih računalnikih namesto na fizičnem in tako ne motimo normalno delovanje računalnika. Implementacija navideznega stroja je težavna, saj moramo nuditi točno kopijo stroja na spodnji plasti.

53 Koncept Jave – navidezni stroj

54 Platforma Jave

55 Operacijski sistemi bodočnosti
Upravljanje s podatki Shranjevanje podatkov lokalno in na oddaljenih strežnikih Datoteke – zastarel koncept – dokumenti/mediji Zavedanje o podatkih – metapodatki in indeksiranje (WinFS) Integracija medijev: TV, (video)telefon, Hi-Fi ... Dostopnost Kjerkoli, z različnih naprav ne le računalnikov v klasičnem pomenu Identifikacija in vhodne naprave Vnos ukazov z glasom, zasloni, občutljivi na dotik, nadzor z daljinskim upravljanjem (remote controls), mobilnimi telefoni ... Fizična identifikacija uporabnika ob vstopu na primer s prstnimi odtisi, skeniranjem zenice ...


Download ppt "(o operacijskih sistemih)"

Similar presentations


Ads by Google