Miks opsüsteem?
Download
Report
Transcript Miks opsüsteem?
Sissejuhatus informaatikasse
IT Kolledzh/TTÜ 2003
T.Tammet IT sissejuhatus loeng 8
lk
-1-
Miks opsüsteem?
Opsüsteemi põhieesmärgid:
Pakkuda programmeerijale valmistehtud standardtükke.
Võimaldada kasutajal arvutis ühtemoodi ja harjumuspäraselt tegutseda,
sõltumatult sellest, mis programmid tal arvutis on.
Miks opsüsteem?
Arvutit saaks programmeerida ka ilma opsüsteemita. Sel juhul:
oleks iga programmi tegemine palju raskem kui opsüsteemi olemasolu
korral.
kasutajate jaoks näeks eri programmid väga eri moodi välja.
IT Kolledzh/TTÜ 2003
T.Tammet IT sissejuhatus loeng 8
lk
-2-
Mida opsüsteem enamasti teeb?
Oskab kettalt programme lugeda ja neid käima
panna.
Oskab programme seisma panna (lõplikult või ainult
väikese pausi jaoks)
Oskab kettale faile ja katalooge kirjutada ja sealt neid
lugeda.
Oskab välisseadmetega (printer, monitor, klaviatuur
jne jne) suhelda.
Oskab võrguga suhelda.
jne
Kui opsüsteemi ei oleks, peaks iga programm
kõiki neid asju ise teha oskama!
IT Kolledzh/TTÜ 2003
T.Tammet IT sissejuhatus loeng 8
lk
-3-
Naked machine
What is there in the naked machine (unclothed by an
OS)?
CPU (registers, opcodes),
Memory (may be several chunks),
Devices (mapped to memory locations, able to
transfer data to and from memory).
IT Kolledzh/TTÜ 2003
T.Tammet IT sissejuhatus loeng 8
lk
-4-
Definitions of OS!? …
Extended machine, or virtual machine. Takes the basic hardware, and
provides additional layers of functionality. The virtual machine is usually
simpler and more consistent than the real machine. Practically,
additional layers will build on the lowest-level ones, providing a rich
programming model for the applications software (which in turn provides
a 'virtual machine' to the user).
Resource manager. Allocates scarce resources, like disk space,
memory, processor between competing processes and users. Each
process thinks that it has its own machine (its own files, its own printer,
whatever). In a way, this is also extending the machine (in order to
appear to be many machines).
Anything which runs in the computer's privileged mode, or
supervisor mode. Typically most modern processors have two or more
operating modes, user and supervisor. In supervisor mode, able to
access all of memory and all hardware.
IT Kolledzh/TTÜ 2003
T.Tammet IT sissejuhatus loeng 8
lk
-5-
Definitions of OS!?
The software which is supplied with the machine. Often includes
many things not traditionally considered part of the operating system,
like GUIs, editors, Web browsers, and stuff.
A platform on which other software can run. Lots of platforms are
not operating systems (like Netscape Navigator, or Microsoft Word).
Java is almost an operating system. Provides many services commonly
associated with Operating Systems, like managing multiple concurrent
processes, and providing access to files.
IT Kolledzh/TTÜ 2003
T.Tammet IT sissejuhatus loeng 8
lk
-6-
Operatsioonisüsteemide arengulugu
Arvutid ilma OS-ita
Batch processing süsteemid
Multiprotsessing ja terminalid - UNIX
Personaalarvutid - IBM, Xerox, Apple, DOS, Windows
IT Kolledzh/TTÜ 2003
T.Tammet IT sissejuhatus loeng 8
lk
-7-
Operatsioonisüsteemi roll
PROGRAMMID
TEENUSED
VIRTUAALNE
LIIDES
OS TUUM
FÜÜSILINE
LIIDES
RIISTVARA
IT Kolledzh/TTÜ 2003
T.Tammet IT sissejuhatus loeng 8
lk
-8-
OS layers
IT Kolledzh/TTÜ 2003
T.Tammet IT sissejuhatus loeng 8
lk
-9-
Operatsioonisüsteemide omadused
Funktsionaalsus
Protsesside haldamine
Mälu haldamine
Failisüsteemid
Võrguprotokollid
Kasutajate haldamine
IT Kolledzh/TTÜ 2003
T.Tammet IT sissejuhatus loeng 8
lk
- 10 -
Interrupts
The interrupt handler must save the machine state, do some
processing, then call the process scheduler and dispatcher.
When an interrupt occurs
1.the processor hardware makes a quick copy of the program counter and
CPU registers
2.the hardware switches to kernel mode and jumps to the interrupt service
routine
3.the ISR is usually very short. It may inform a device driver that it received the
interrupt; it may just increment some clock counters.
4.next the ISR calls the scheduler, which decides which process to run
5.the scheduler calls the dispatcher, and new process (or maybe the same
process) resumes where it left off
An important goal of the OS is to hide interrupts from the user---and
from user-level processes.
IT Kolledzh/TTÜ 2003
T.Tammet IT sissejuhatus loeng 8
lk
- 11 -
Processes have their own memory areas
IT Kolledzh/TTÜ 2003
T.Tammet IT sissejuhatus loeng 8
lk
- 12 -
Multitasking and scheduling
IT Kolledzh/TTÜ 2003
T.Tammet IT sissejuhatus loeng 8
lk
- 13 -
Parallel running of processes is a movie-like illusion
http:
//w
ww.
yout
ube.
com
/wat
ch?v
=qq
smei
__k
mQ
IT Kolledzh/TTÜ 2003
T.Tammet IT sissejuhatus loeng 8
lk
- 14 -
Running programs in parallel
Each program gets ca
0.01 sec time slice, then
another runs, etc,
cyclically. Slices vary: from
0.005 to ca 0.1
- 15 -
Processes wait and run – when chance comes
IT Kolledzh/TTÜ 2003
T.Tammet IT sissejuhatus loeng 8
lk
- 16 -
Main scheduling algorithm goals
Fairness.
Treating users fairly: everybody gets some time to run
Respecting priority.
That is, giving more important processes higher priorit
Efficiency.
Do not spend excessive time in the scheduler.
Try to keep all parts of the system busy.
Low turnaround time.
Minimize the time from the submission of a job to its termination.
High throughput.
Maximize the number of jobs completed per day.
Low response time.
Minimize the time from when an interactive user issues a command to
when the response is given.
Repeatability.
Non-random, predictable behavious
Degrade gracefully under load.
- 17 -
Process lifecycle in more details
IT Kolledzh/TTÜ 2003
T.Tammet IT sissejuhatus loeng 8
lk
- 18 -
Memory handling
Defines - which application occupies, which part (block/segment)
IT Kolledzh/TTÜ 2003
T.Tammet IT sissejuhatus loeng 8
lk
- 19 -
Memory handling
Organise virtual memory to fit all application
memory into existing (static memory size)
Consider we have App1, App2, App3, App4. App1
occupies section 1, App2 occupies section 2, App3
occupies section 3. What we do with App4??
All those Applications are not runnig at the same
time (see previous slides or processes handling). So
we could store another application memory to HDD
and reuse that space fro Appl4!!!
... and then when this other (lets say App1) is activated
move App4 memory to HDD and restore App1 memory
(before activating App1 – so it is not visible for her).
This process is called swapping.
Decrease number of swaps: For example if the
execution sequence is App1, App2, App3, App4,
App1, App4, App1 and all apps requires the same
block then instead of replacing App1 with App4 we
could replace App2 with App4. The last case App4,
App1, App4, App1 will not require swapping App1
and App4 permanently. Instead App2 will be at HDD
and both App1 and App4 in memory
IT Kolledzh/TTÜ 2003
T.Tammet IT sissejuhatus loeng 8
lk
- 20 -
Memory handling
IT Kolledzh/TTÜ 2003
T.Tammet IT sissejuhatus loeng 8
lk
- 21 -
a, b, x since we use:
b=2;
x=3;
a=b/x;
a, b, x are integer, so
requires 2 bytes, so:
a=> address 000 (i.e.
bytes 000, 001)
b => address 010
(i.e. bytes 010, 011)
c => address 100 (i.e.
bytes 100, 101)
App is loaded starting
from 11011000 address,
so:
a starts at 11011000
b starts at 11011010
c starts at 11011100
IT Kolledzh/TTÜ 2003
T.Tammet IT sissejuhatus loeng 8
lk
- 22 -
IT Kolledzh/TTÜ 2003
T.Tammet IT sissejuhatus loeng 8
lk
- 23 -
IT Kolledzh/TTÜ 2003
T.Tammet IT sissejuhatus loeng 8
lk
- 24 -
Cache ja mälu hierarhia
Pilt selgitustega tahvlil. Alternatiiv: loe vastavat kohta lisamaterjalist
Computer Systems: a programmers perspective
IT Kolledzh/TTÜ 2003
T.Tammet IT sissejuhatus loeng 8
lk
- 25 -
Operatsioonisüsteemide omadused
Kasutatavus
Liides: käsurida (CLI), graafika (GUI)
Olemasolevad rakendused, teenused
Vajalik riistvara
Haldusvahendid, kaughaldus
Stabiilsus
Skaleeruvus
Tugi
Hind
IT Kolledzh/TTÜ 2003
T.Tammet IT sissejuhatus loeng 8
lk
- 26 -
Suured praegused opsüsteemid, nende
põhirakendusvaldkonnad ja umbkaudsed turuosad
•
•
•
•
Windows (Microsoft)
• Tava-arvutid (92%)
• Serverid (36% servereid)
• Mobiilid (alla 1% mobiile)
OS X ja iOS (Apple)
• Mobiilid (iphone 25% / ipad 36 %)
• Tava-arvutid (mac, 6.5%)
Linux (vabavara)
• Mobiilid (Android, 21% mobiile)
• Serverid (63% servereid)
• Pisiseadmed (domineeriv)
• Tava-arvutid (1.5 %)
BSD (vabavara)
•
Serverid
- 27 -
Mõned väiksemad:
•
•
•
•
•
Symbian (mobiil)
Blackberry (mobiil)
Bada (Samsungi mobiil)
TinyOS (pisiseadmed)
zOS (IBM mainframes)
Unix
Android OS structure
- 28 -
Süsteemi koguhind
Riistvara
Tarkvara litsentsid
Tehniline tugi
Tarkvara upgrade
Riistvara upgrade
Seisaku põhjustatud
kasumi kadu
IT Kolledzh/TTÜ 2003
T.Tammet IT sissejuhatus loeng 8
lk
Installeerimise kulu
Haldamise kulu
Riistvarast või OS-ist
põhjustatud rikutud
andmete taastamise
kulu
Välja- ja ümberõppe
kulud
- 29 -
Näide: süsteemi hinna kujunemine
IT Kolledzh/TTÜ 2003
T.Tammet IT sissejuhatus loeng 8
lk
- 30 -
Failisüsteemide võrdlus
FAT FAT32 NTFS ext2 ext3 Reiser XFS
Pääsuõigused
ACL
Journal
Kvoodid
-
-
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
(+)
+
+
+
+
+
Krüpto
-
-
+
-
-
(+)
-
+
+
Kiirus
IT Kolledzh/TTÜ 2003
T.Tammet IT sissejuhatus loeng 8
lk
- 31 -
Pääsuõigused NTFS failisüsteemis
Iga faili ja kataloogiga on seotud pääsuõiguste nimekiri (ACL Access Control List)
ACL on nimekiri pääsuõiguste kirjetest (ACE - Access Control
Entry)
ACE koosneb:
kasutaja, grupi või arvuti nimest
pääsuõiguste loetoelust
Kui kasutajale, ega tema grupile ei ole mingi ressursi juures
vastavat õigust antud, siis pole tal võimalik seda ressurssi
kasutada
IT Kolledzh/TTÜ 2003
T.Tammet IT sissejuhatus loeng 8
lk
- 32 -
POSIX pääsuõigused
d r w x r w x r w x
faili omaniku grupi
tüüp õigused õigused
teiste
õigused
r lugemisõigus
w kirjutamisõigus
x käivitamisõigus
s
t
setUID, setGID
sticky bit
IT Kolledzh/TTÜ 2003
T.Tammet IT sissejuhatus loeng 8
lk
- 33 -
Virtualiseerimisvahendid
PC riistvara emuleerimine
Vmware
Olemas nii Linux, kui Windows
versioon
Eri versioonid töökoha ja
serverirakendusteks
Virtual PC (Microsoft)
Parallels (MacOS)
Virtuozzo. OpenVZ
Vserver
XEN
App1 App2 App3
UML
Linux
QEMU
Kliendid saavad täiesti oma serveri
Serverite virtualiseerimine
Linuxipõhised
virtualiseerimisvahendid
Õppeotstarbel
Testkeskkondadeks
Tootearenduses ning kasutajatoes
Server - hosting
Riistvararessurss jaguneb mitme serveri vahel
Lihtsustub riistvara hooldus
Virtuaalservereid saab ümber tõsta teisele
riistvarale
Teenuste eraldamiseks - igale
teenusele oma server
VMware
turvalisus
Windows NT
FreeBSD
VMware
VMware
Linux
Bare hardware
IT Kolledzh/TTÜ 2003
T.Tammet IT sissejuhatus loeng 8
lk
- 34 -