34
IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

Embed Size (px)

Citation preview

Page 1: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 -

Sissejuhatus informaatikasse

Page 2: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 2 -

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.

Page 3: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 3 -

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!

Page 4: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 4 -

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).

Page 5: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 5 -

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.

Page 6: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 6 -

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.

Page 7: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 7 -

Operatsioonisüsteemide arengulugu

Arvutid ilma OS-ita Batch processing süsteemid Multiprotsessing ja terminalid - UNIX Personaalarvutid - IBM, Xerox, Apple, DOS, Windows

Page 8: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 8 -

Operatsioonisüsteemi roll

RIISTVARA

VIRTUAALNELIIDES

FÜÜSILINE LIIDES

OS TUUM

PROGRAMMID TEENUSED

Page 9: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 9 -

OS layers

Page 10: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 10 -

Operatsioonisüsteemide omadused

Funktsionaalsus Protsesside haldamine Mälu haldamine Failisüsteemid Võrguprotokollid Kasutajate haldamine

Page 11: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 11 -

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.

Page 12: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 12 -

Processes have their own memory areas

Page 13: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 13 -

Multitasking and scheduling

Page 14: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 14 -

Parallel running of processes is a movie-like illusion

http://www.youtube.com/watch?v=qqsmei__kmQ

Page 15: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

- 15 -

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

Page 16: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 16 -

Processes wait and run – when chance comes

Page 17: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

- 17 -

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 behaviousDegrade gracefully under load.

Page 18: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 18 -

Process lifecycle in more details

Page 19: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 19 -

Memory handling

Defines - which application occupies, which part (block/segment)

Page 20: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 20 -

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

Page 21: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 21 -

Memory handling

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 11011000b starts at 11011010c starts at 11011100

Page 22: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 22 -

Page 23: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 23 -

Page 24: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 24 -

Page 25: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 25 -

Cache ja mälu hierarhia

Pilt selgitustega tahvlil. Alternatiiv: loe vastavat kohta lisamaterjalist Computer Systems: a programmers perspective

Page 26: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 26 -

Operatsioonisüsteemide omadused

Kasutatavus Liides: käsurida (CLI), graafika (GUI) Olemasolevad rakendused, teenused Vajalik riistvara Haldusvahendid, kaughaldus Stabiilsus Skaleeruvus Tugi Hind

Page 27: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

- 27 -

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

Mõned väiksemad:

•Symbian (mobiil)•Blackberry (mobiil)•Bada (Samsungi mobiil)•TinyOS (pisiseadmed)•zOS (IBM mainframes)

Unix

Page 28: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

- 28 -

Android OS structure

Page 29: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 29 -

Süsteemi koguhind

Riistvara Tarkvara litsentsid Tehniline tugi Tarkvara upgrade Riistvara upgrade Seisaku põhjustatud

kasumi kadu

Installeerimise kulu Haldamise kulu Riistvarast või OS-ist

põhjustatud rikutud andmete taastamise kulu

Välja- ja ümberõppe kulud

Page 30: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 30 -

Näide: süsteemi hinna kujunemine

Page 31: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 31 -

Failisüsteemide võrdlus

FAT FAT32 NTFS ext2 ext3 Reiser XFS

Pääsu-õigused

- - + + + + +

ACL - - + + + (+) +Journal - - + - + + +Kvoodid - - + + + + +

Krüpto - - + - - (+) -

Kiirus + +

Page 32: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 32 -

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

Page 33: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 33 -

POSIX pääsuõigused

d r w x r w x r w x

teisteõigused

grupiõigused

omanikuõigused

failitüüp

r lugemisõigusw kirjutamisõigusx käivitamisõigus

s setUID, setGIDt sticky bit

Page 34: IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 1 - Sissejuhatus informaatikasse

IT Kolledzh/TTÜ 2003 T.Tammet IT sissejuhatus loeng 8 lk - 34 -

Virtualiseerimisvahendid

PC riistvara emuleerimine Vmware

Olemas nii Linux, kui Windows versioon

Eri versioonid töökoha ja serverirakendusteks

Virtual PC (Microsoft) Parallels (MacOS)

Linuxipõhised virtualiseerimisvahendid

Virtuozzo. OpenVZ Vserver XEN UML QEMU

Bare hardware

Linux

VMware

Linux

App1 App2 App3

VMware VMware

Windows NT FreeBSD

Õppeotstarbel Testkeskkondadeks Tootearenduses ning kasutajatoes Server - hosting

Kliendid saavad täiesti oma serveri

Serverite virtualiseerimine Riistvararessurss jaguneb mitme serveri vahel Lihtsustub riistvara hooldus Virtuaalservereid saab ümber tõsta teisele

riistvarale

Teenuste eraldamiseks - igale teenusele oma server

turvalisus