28
UNIVERZITET U BIHAĆU TEHNIČKI FAKULTET BIHAĆ Odsjek: Elektrotehnika Smjer: Informatika SEMINARSKI RAD Operativni sistemi Multics Mentor: dipl. ing. Alma Osmanović Studenti: Suad Hrnjić Edis Ćatić Almin Topić

Multics Finalno

  • Upload
    almin

  • View
    81

  • Download
    5

Embed Size (px)

Citation preview

Page 1: Multics Finalno

UNIVERZITET U BIHAĆU TEHNIČKI FAKULTET BIHAĆ Odsjek: Elektrotehnika Smjer: Informatika

SEMINARSKI RAD Operativni sistemi

Multics

Mentor: dipl. ing. Alma Osmanović

Studenti: Suad Hrnjić Edis Ćatić

Almin Topić

Page 2: Multics Finalno

2

Sadržaj:

Popis slika: ............................................................................................................................................. 3

1. Uvod:............................................................................................................................................... 4

2. Historija multicsa: ......................................................................................................................... 5

3. Zahtjevi sistema: ............................................................................................................................ 6

4. Multics sistem: ............................................................................................................................... 8

a. Osobine dizajna hardvera: ........................................................................................................... 8

b. Osobine dizajna softvera: .......................................................................................................... 10

c. Razmatranje dizajna sistema datoteka: ...................................................................................... 12

3.4. Razmatranje dizajana komunikacije i ulazno/izlazne opreme: .............................................. 12

5. Virtualna memorija, procesi i djeljenje u Multics-u ................................................................ 13

5.1. Multics koncept procesa i adresnog prostora ........................................................................ 14

5.1.1. Struktura Multics direktorija ......................................................................................... 14

5.2. Adresiranje u Multcs-u .......................................................................................................... 15

5.2.1. Generalizirana adresa ................................................................................................... 15

5.2.2. Formiranje adrese ........................................................................................................ 15

5.2.3. Indirektno adresiranje ................................................................................................... 16

5.2.4. Deskriptor segment ........................................................................................................ 17

5.2.5. Straničenje ..................................................................................................................... 17

5.3. Međusobno povezivanje i adresiranje ................................................................................... 17

5.3.1. Postavljanje segmenta poznatim ................................................................................... 18

5.3.2. Povezanost podataka ..................................................................................................... 18

5.3.3. Procedure call i return ...................................................................................................... 18

6. Multics ulazno/izlazni (U/I) sistem ............................................................................................. 19

6.1. Pregled U/I sestema ............................................................................................................... 19

6.2. Opis U/I sistema .................................................................................................................... 21

7. Komunikacije i ulazni/izlazni uređaji u Multics-u ................................................................... 22

7.1. Filozofija ulazno/izlaznih sistemskih uređaja........................................................................ 23

7.2. Funkcionalna podjela ............................................................................................................ 24

7.3. Prioritetska šema hardvera .................................................................................................... 25

7.4. Prioriteti prekidanja programa ............................................................................................... 25

7.5. Filozofija softvera ulaz/izlaz ................................................................................................. 26

8. Zaklju čak ..................................................................................................................................... 27

Page 3: Multics Finalno

3

Literatura ............................................................................................................................................. 28

Popis slika:

Slika 3.1: Primjer konfiguracije Multics sistema.......................................................................9

Slika 5.1: Virtualna memorija Multics procesa.......................................................................15

Slika 5.2: Generalizirana adresa.............................................................................................15

Slika 5.3: Procesor registri za formiranje adrese....................................................................16

Slika 5.4: Format instrukcije procesora...................................................................................16

Slika 6.1: Pojednostavljeni prikaz organizacije U/I sistema...................................................21

Slika 7.1: Skelet hardverske konfiguracije...............................................................................23

Slika 7.2: Funkcionalna organizacija ulazno/izlaznih kontrolera...........................................24

Slika 7.3: Blok dijagram softverskog sistema ulaz/izlaz..........................................................26

Page 4: Multics Finalno

4

1. Uvod: Multics (Multiplexed Information and Computing Service) je sveobuhvatni

programski sistem opće namjene koji je nastao kao rezultat istraživačkog projekta. Prvi put

Multics sistem je implementiran na GE 645 računaru. Jedan od ciljeva cjelokupnog dizajna

jeste kreriranje računarskog sistema koji je sposoban zadovoljiti sadašnje zahtjeve i zahtjeve u

bliskoj budućnosti usluge velikih kompjutera. Takavi sistemi se moraju izvoditi kontinualno i

pouzdano 7 dana u sedmici i 24 sata u danu na način sličan telefonu ili energetskom sistemu, i

mora budi sposoban da zadovolji širok spektar zahtjeva: od više interakcija čovjek-mašina do

sekvencijalne obrade poslova odsutnih korisnika; od upotrebe sistema sa posebnim jezicima i

podsistema za programiranje samog sistema; i od centralizovane bulk kartice, trake i printer

objekata do terminala udaljeno lociranih. Vjeruje se da takve informacije procesiranja i

komunikacije sistema su neophodne za budući rast korištenja računara u poslovanju, u

industriji, u vladi i znanstvenim laboratorijama kao i poticanje aplikacija koje bi u suprotnom

se poništile. Budući da sistem mora biti opširan i prilagodljiv na sve budućim nepoznatim

zahtjevima, njegov okvir mora biti opći, sposoban da se razvija s vremenom.

Page 5: Multics Finalno

5

2. Historija multicsa:

Multics je bio glavni timesharing operativni sistem koji je započeo u MIT-u kao

istraživački projekt 1965 godine. To je bio važan korak za razvoj operativnih sistema. Plan

Multics operativnog sistema je predstavljen 1965 godine na zajedničkoj kompjuterskoj

konferenciji i sastojalo se od niza šest članaka. Bio je to zajednički projekt M.I.T-a, General

Electric-a, i Bell Labs-a. Bell Labs je odustao 1969, i 1970 General Electric kompjutersko

poslovanje, uključujući Multics, je preuzeo Honeywell ( sada Bull). Multics istraživanje je

započelo 1964 godine, pod vodstvom profesora J. Fernando Corbato na MIT projekt MAC,

koji kasnije postaje MIT laboratorija za kompjuterske znanosti (LCS) i nakon toga

Laboratorija za kompjuterske znanosti i umjetne inteligencije (CSAIL). Počevši od 1969,

Multics je omogućen kao informacijski servis širom kampusa od strane MIT organizacije

informacijskog procesiranja servisa, poslužujući hiljade akademika i administrativnih

korisnika.

Multics je zamišljen kao time-sharing usluga opće namjene. To će biti komercijalni

proizvod za General Electic, koji prodaje time-sharing servis. Tako da to postaje General

Electric i Honeywell proizvod. Oko 85 stranica pokreće Multics. Međutim, bio je to veliki

udar na polje kompjutera, zbog mnogih romana i vrijednih ideja.

Budući da je namjenjen da bude usluga, poput servisa telefona i struje, imao je brojne

osobine pružanja visoke dostupnosti i sigurnosti. I hardver i softver su bili visoko modularni

sistemi, tako da bi sistem mogao rasti veličinom dodavjući još odgovarajućih resursa čak i kad

je servis pokrenut. Budući da se servis djeli između korisnika koji možda ne vjeruju jedan

drugom, sigurnost je glavna osobina uz djeljenje datoteka omogućena na razini datoteka preko

kontrola pristupa.

LCS istraživanja o Multics-u su završena u kasnim 1970-tim, a Bull je završio razvoj

Multics-a 1985. MIT je ugasio svoj Multics servis 1988. Posljednji Multics sistem je

deaktiviran 2000 godine.

U cilju očuvanja ideje i inovacije koje je Multics učinilo tako bitnim u razvoju

kompjuterskih sistema, Bull HN je ponudio izvorni kod za finalno Multics izdanje, ME 12.5 u

Novembru 1992 na MIT-u. To je velikodušan doprinos kompjuterskoj zananosti i namjenjen

je u akademske svrhe.

Page 6: Multics Finalno

6

3. Zahtjevi sistema:

U ranijim danima dizajniranja kompjutera, postojao je koncept jednog programa na kojem

je jedan procesor računao dugim periodima vremena sa gotovo nikakvom interakcijom

vanjskim svijetom. Danas se takav dizajn smatra nepotpunim; za učinkovite granice sistema

procesiranja informacija proširuje se van procesora, van čitača kartica i printera pa čak i van

tipkanja ulaza i čitanja izlaza. Ustvari one obuhvataju ono što nekoliko stotina osoba nastoji

da postigne. Da bi bolje razumjeli učinak proširenja opsega dizajna, korisno je ispitati

nekoliko karakterističnih fenomena velikih instalacija servisno-orjentiranih kompjutera.

Prvo, postoje poticaji za bilo koju organizaciju, da ima najveći mogući kompjuterski

sistem koji može priuštiti. To je obično za najveće koji nastoje razraditi kompjuterski sistem,

kompjalere i osobine koje kompjuter čine „moćnim“. Ovo djelomično dolazi zato što je teže

pripremiti sistemske programe za manje kompjutere koji su limitirani brzinom i količinom

memorije, a i djelom zato što veći sistemi više osoba poput proizvođača, menadžera i

korisnika, pa se više pažnja može posvetiti sistemskim programima. Osim toga, kombinirajući

resurse u jednom računarskom sistemu, a ne na više, može se postići opseg gospodarstva i

smanjenje troškova računanja. Konačno, kao praktična stvar, pitanje površine, učinkovitosti

upravljanja i operativnog osoblja omogućuje snažne poticaje za objekte centralnog

kompjutera u jednu veliku inastalaciju.

Drugo, kapacitet savremenih kompjuterskih instalacija, bez obzira na sektor aplikacije

koje služi, mora biti sposoban da se povećava radi susreta sa zahtjevom koji kontinualno

raste. Udvostručenje potražnje svake dvije godine nije neuobičajeno. Kompjuteri sa

višestrukim pristupom obećavaju da će taj rast se dodatno ubrzati jer omogućuju stopu

interakcije čovjek-mašina koja je brža za najmanje dva reda veličine. Prisutne naznake su te

da sistemi sa višetrukim pristupom za samo nekoliko stotina istovremenih korisnika mogu

generirati potražnju za računanje prekoračenja kapaciteta postojećih najbržis sistema sa

jednim procesorom. Još od brzine svjetlosti, fizikalne veličine kompjuterskih komponenata, te

brzina memorije su unutarnja ograničenja brzine bilo kojeg jednog procesora, jasno je da

sistemi sa više procesora i više memorijskih jedinica su neophodna ako se želi postići bolji

kapacitet. To ne znači da brze procesorske jedinice nisu poželjne, ali ta ekstremno sistemska

složenost radi unaprjeđenja ovog jednog parametra se kod mnogih pojavljuje kao da nije

mudra niti ekonomična.

Page 7: Multics Finalno

7

Treće, računari nisu više luksuz koji se koriste kada su i ako su dostupni, nego oni su

osnovne alatke u poslovanju, vladi, i istraživačkim laboratorijama. Što su računala pouzdanije

to su sve dostupnija. Struktura sistema uključujući bazene funkcionalno identičnih jedinica

(procesori, memorijski moduli, kontroleri ulaza i izlaza, etc.) može pružiti neprekidni servis

bez značajnih prekida za održavanje opreme, kao i pružanje mogućnosti rasta kroz dodatak

odgovarajućih jedinica.

Četvrto, korisnički programi, posebno u timeshering sistemima, u interakciji često sa

sekundarnim uređajima za pohranu i terminalima. Ovaj komunikacijski promet proizvodi

potrebu za multiprogramiranjem kako bi se izbjeglo gubljenje vremena glavnog procesora dok

se izvršava ulazno izlazni zahtjev. Važno je napomenuti da individualni korisnik obično nije u

stanju raditi odgovarajući posao multiprogramiranja jer njegov program nema odgovarajuću

ravnotežu, pa on vjerovatno nema potrebne dinamičke informacije, domišljatost ili strpljenje.

Konačno, kao što je ranije rečeno, vrijednost timesharing sistema ne leži samo u pružanju,

privatno računalo na broj ljudi istovremeno, ali, iznad svega, u servisima koje sistem smješta

na dohvat ruke korisnicima. Učinkovitost sistema se povećava kao podjela od strane drugih

korisnika objekata koji su razvijeni od strane korisnika. To povećava učinkovitost zbog

djeljenja ne samo zbog samanjivanja zahtjeva za osnovne i srednje memorije nego i zbog

ukrštanja ideja korisnika. Glavni cilj ovog napora je osigurati višetruki pristup rastu i

potencijalno velikim strukturama zajedničkih podataka i zajedničkih programskih procedura.

Ostvarenje višetrukog pristupa kompjuterskom procesoru treba promatrati kao neophodan

podcilj ovog šireg cilja. Primarne i sekundarne memorije u kojima borave programi igraju

središnju ulogu u organizaciji hardvera i prisustvo nezavisnih komunikacijskih puteva između

memorija, procesora i terminala je od velikog značaja. Iz navedenog se može vidjeti da

zahtjevi kompjuterske instalacije nisu za jedan program na jednom kompjuteru, nego za

velike sisteme sa mnogim komponentama koje služe zajednici korisnika. Svaki korisnik

sistema asinhrono započinje poslove proizvoljnog i neodređenog trajanja koji se djeli u

sekvence procesora i ulazno izlazne zadatke. Zadatak multiprogramiranja zadužen da ovo radi

mora biti organiziran u jednom središnjem nadzornom programu. Svaki korisnik na taj način

uživa u koristi efikasnosti bez potrebe za prosjekom zahtjeva njegovog vlastitog programa. Sa

obzirom na navedeni oblik korištenja računala, gdje zadaci kreću i staju svakih nekoliko

milisekunda i gdje zahtjevi zadataka za memorijom rastu i skupljaju se, očito je da jedan od

osnovnih poslova nadzornih programa je raspodjela i planiranje kompjuterskih resursa. Jasna

je osnovna strategija. Svaki posao korisnika je podjeljen na zadatke, obično kako posao

prihoduje, od kojih je svaki postavljen u odgovarajući red (tj. Za procesor ili za ulazno/izlazni

Page 8: Multics Finalno

8

kontroler). Procesori i ulazno/izlazni kontroleri dobivaju nove zadatke kako ili završavaju ili

su uklonjeni sa starog zadatka. Prema svim procesorima se jednako odnosi u anonimnom

bazenu i dodjeljuju se zadatku po potrebi, kod nadzornih programa nema specijalnih

procesora. Nadalje, procesori mogu biti dodavani ili brisani bez značajne promjene ili

korisničkih ili sistemskih programa. Ulazno/izlazni kontroleri su usmjereni od redova

nezavisno od bilo kojeg procesora. Kao i kod procesora, može ze dodati ili obrisati

ulazno/izlazni kapacitet prema opterećenju sistema bez značajne potrebe za

reprogramiranjem.

4. Multics sistem: Cjelokupni cilj dizajniranja Multics sistema jeste stvaranje sistema računanja koji je sposoban

da se susretne sa gotovo svim sadašnjim zahtjevima i zahjevima iz bliske budućnosti. Ne

očekuje se da će početni sistemi doći do cilja, nego će sistem vremenom evoluirati i susretati

se sa budućim nepoznatim zahtjevima. Očekuje se da će Multics sistem biti objavljen kada se

sadržajno radi i zbog toga će biti dostupan za implementaciju na bilo kojoj opremi sa

odgovarajućim karakteristikama. Takav publicitet je neophodan iz dva razloga:

1. Sistem bi trebao izdržati javno posmatrenje i kritike volontirane od strane

zainteresiranih čitaoca.

2. U doba povećavanja kompleksnosti, obaveza je za sadašnje i buduće sistemske

dizajnere da naprave unutarnji operativni sistem lucidan koliko je to moguće kako bi

se otkrila osnovna sistemska pitanja.

Priloženi radovi opisuju u nekim detaljima kako Multics sistem će ispuniti svoje ciljeve.

Međutim, jako je korisno, u uspostavljanju pogleda, doticati se naglašavanja a osobito

motivacije dizajna.

a. Osobine dizajna hardvera:

Multics sistem zahtjevao je opremu koja još nije bila prisutna niti u jednom postojećem

kompjuteru. Stoga bilo je neophodno razviti GE 645 kompjuter za Multics sistem. GE 635

računar je odabran da se unaprijedi u GE 645 Multics sistem jer je već posjedovao određene

osobine koje su bile potrebne. Posebno je dizajniran da posjeduje multiprocesor, višestruke

memorijske module, i više ulazno/izlaznih kontrolera. Dakle, zahtjevi modularne izgradnje za

pouzdanost i ublažavanje rasta su bili ispunjeni. Komunikacija je također napredovala, jer

Page 9: Multics Finalno

9

nema fizičkih staza između procesora i ulazno/izlazne opreme; sva komunikacija se obavlja

putem „poštanskih sandučića“ u memorijske module i po odgovarajućim prekidima. Glavni

sistemski moduli mogu komunicirati na asinhronoj bazi, a to znači da bilo koji pojedinačni

modul se može ažurirati bez ikakvih promjena u ostalim modulima.

Slika 3.1: Primjer konfiguracije Multics sistema

Najnovija osobina u GE 645 kompjutera jeste u uputama adresiranja. Ugrađen je

dvodimenzionalni sistem adresiranja koji omogućuje svakom korisniku da piše programe kao

da je virtualna memorija sistem velikih dimenzija. Sistem je organiziran u programske

segmente od kojih svaki u uređenim sekvencama sadrži riječi sa konvencionalnim linearnim

adresama. Osobina straničenja, prvo je uvedena u Atlas kompjuter, omogućuje tehnike

fleksibilne dinamičke memorije kao i implementaciju sistemskog spremanja jedne razine.

Korisniku Multics sistema straničenje je nevidljivo. Eksplicitni detalji hardverske

implementacije segmenata i straničenja za Multics sisteme su predstavljni u zajedničkom

članku koje su izdali Glaser, Couleur i Oliver.

Page 10: Multics Finalno

10

Osnovni razlozi postojanja segmenata su:

1. Korisnik je u mogućnosti da programira u dvodimenzionalnom virtualnom

memorijskom sistemu.

2. Korisnik može, navodeći polaznu tačku u segmentu, djelovati programom implicitno

bez prethodno da planira potrebne segmente ili zahtjeve za pohranu.

3. Najveći iznos koda koji mora biti vezan zajedno kao cjelokupan blok predstavlja jedan

segment. Budući da je povezivanje dijelova koda proces sličan asembliranju ili

kompajliranju, prednost mogućnosti pripreme proizvoljno velikog programa kao serije

ograničenih-dodatnih segmentskih vezova je vrlo značajna.

4. Programski segmenti se čine kao jedini razumni načini dozvole podjele čiste

procedure i baza podataka među više korisnika istovremeno.

Stranice su osobine odvojene od segmenata i imaju dalje i drugačije prednosti:

1. Korištenje memorije straničenja omogućuje fleksibilne tehnike za dinamičko

upravljanje pohranjivanjem bez dodatnih kretanja programa unatrag i naprijed u

primarnu memoriju.

2. Mehanizam straničenja, kada je ispravno implementiran, omogućuje rad nepotpunih

programa uz prisustvo nadzorne osobe.

3. Zadržati u glavnoj memoriji više aktivnih stranica, čime je učinkovitije korištenje

pohranjivanja velikih brzina. Kada se pojavi referenca da nedostaje stranica, nadzorna

osoba mora prekinuti program, dohvatiti stranicu koja nedostaje, i ponovno pokrenuti

program bez gubljenja informacija.

b. Osobine dizajna softvera:

Važan aspekt softvera su podrutine i povezanost konvencija koje su u vezi sa korištenjem

hardvera segmenata i straničenja. Osnovne osobine su:

1. Svaki segment prepoznaje neki drugi segment na osnovu njegovog simboličkog

imena. Veza unutarnjeg segmenta se javlja dinamički po potrebi prilikom izvršavanja

programa. Veza unutarnjeg segmenta je automatska i mehanizam funkcioniše na

visokom nivou efikasnosti odmah nakon prve pojave veze.

Page 11: Multics Finalno

11

2. Slično tome, segment je u mogućnosti da referencira simbolično mjesto unutar nekog

drugog segmenta. Ta referenca veže dinamično i automatsko; nakon prve pojave veze,

izvršavanje programa je pri punoj brzini.

3. To je jednostavno za procedure da budu čiste procedure, sposobne da ih koristi više

korisnika

4. Slično tome, jednostavno je napisati rekurzivne procedure

5. Opće konvencije su takve da je poziv, spremanje i povratak makronaredbi koje se

koristi za povezivanje nezavisno kompajliranih procedura jednih sa drugim ne zavisi

od toga da li su dvije procedure u istom segmentu.

6. Svakom korisniku je dozvoljen privatni softver „stog“ za privremeno spremanje

unautar svake podrutine. Naravno, svaki od korisnika može da ignoriše mehanizam

spremanja, ali on je dostupan i nije ga potrebno dodavati.

Predviđeno je da će sistem biti otvorenog tipa i u velikoj mjeri će biti kreiran od samih

korisnika; mnogi korisni jezici i podsistemi će bez sumnje pomoći bez nekog zalaganja. Iz

ovih razloga nadzorna osoba i korisnički programi su konstruirani sličnom formom, i procesi

poput straničenja ne prave razliku između programa običnog korisnika i programa nadzorne

osobe. Važno je prepoznati da prosječan korisnik sistema neće vidjeti dio složenosti

segmentiranja i straničenja opisano u članku koje je izdao Glaser.

Umjesto toga on će vidjeti virtualnu mašinu sa mnogim sistemskim karakteristikama koje su

mu prikladne za pisanje ili jednog programa ili cjelog podsustava.

Dodatne osobine koje se pojavljuju u sistemu su:

1. Mogućnost posjedovanja procesa iz kojeg nastaju drugi procesi koji se odvijaju

asinhrono na nekoliko procesora.

2. Mogućnost podjele baze podataka među istovremenim operativnim sistemima. Sistem

će obuhvatiti sve glavne osobine ovog projekta MAC sistema poput poruka unutar

konzole i makro naredbe.

Još jedna od osobina sistema je ta da uključuje bach obradu objekata kao podskup. Korisnici

će prvo početi sa procesima koji mogu da posjeduju n terminala, n=1 za individualnu

interakciju čovjek-mašina, n=0 za pokretanje korisnički odsutnog progrma.

Page 12: Multics Finalno

12

c. Razmatranje dizajna sistema datoteka:

Sistem datoteka je ključni dio time-sharing sistema. To je memorijski sistem koji

korisniku i nadzornoj osobi daje podjednaku iluziju održavanja privatnog skupa segmenata ili

datoteka informacija za neodređen period vremena. To zadržavanje se rješava automatskim

mehanizmima kojima upravlja nadzorna osoba i neovisna je o kompleksu sekundarnih uređaja

različitih kapaciteta i pristupa. Shema, poput ove je opisana u članku koji su izdali Daley and

Neumann, u kojem su sve datoteke informacija prepoznaju simboličnim imenom a ne po

adresama, omogućuje promjene u sekundarnim kompleksnim spremnicima iz razloga

pouzdanosti ili sposobnosti. Korisnik nikad nemora organizirati kretanej informacija unutar

sekundarnog kompleksnog spremnika. Umjesto toga sistem datoteka ima strategiju za

uređivanje, za pristup nedavno korištenim materijalima velikim brzinama.

Razumljiva briga je zaštita privatnosti. Iskustvo pokazuje da su privatnost i sigurnost

osjetljiva pitanja u više-korisničkim sistemima kod kojih su treminali anonimno udaljeni.

Korisnik može urediti pristup drugim korisnicima ka svojim datotekama selektivno i na

temelju povezivanja. Mehanizam povezivanja omogućuje kontrolu iznad dopuštenog stupnja

pristupa. Sistem datoteka omogućuje istovremeno čitanje datoteka ali i automatski zaustavalja

pisanje datoteke.

Moguće su sljedeće nepredviđene situacije:

1. Korisnik može otkriti da je slučajno obrisao neku datoteku i želi je vratiti

2. Može postojati specifičan sistemski neuspjeh koji određene datoteke učine

neiskoristivima.

3. Potpuni sistemski neuspjeh

3.4. Razmatranje dizajana komunikacije i ulazno/izlazne opreme:

Jedna od osnovnih osobina dizajna sistema je ta da korisnici mogu posmatrati većinu

ulazno/izlaznih uređaja ravnomjerno. Tako program može čitati ili sa treminala ili datoteku sa

diska. Korisnik sistema ne treba prepisivati program da bi promjenio ove zadatke iz dana u

dan ili od upotrebe do upotrebe. Simetrično upotrebljavanje opreme je vrlo poželjno radi veće

jednostavnosti i fleksibilnosti.

Tipična konfiguracija Multics sistema posjeduje batch procesiranje ulazno/izlaznih

uređaja poput čitača kartica, bušilica i printera, i oni će normalno biti centralno locirani na

instalaciji glavnog kompjutera. Za udaljene korisnike p+ostoje terminali poput Model 37

Page 13: Multics Finalno

13

Teletype koji koristi revidirani ASCII kod sa gornjim i donjim slučajevima slova. Ovaj model

može raditi i na TWX mreži Bell sistema. Moguće je 60000 TWX korisnika.

Za one korisnike koji žele imali udaljeno locirani satelit za upravljanje bušenjem, čitačima

kartica, i linijskim pisačima, postoje dostupne razne opcije. Pošto je dizajn General

ulazno/izlaznih kontrolera relativno fleksibilan, moguće je koristiti GE 115, Univac 1004, ili

virtualni bilo koji drugi podkompjuter kao terminal.

Prostor opreme udaljenih terminala se smatra da je u ranoj fazi razvoja. Očekuje se

inovacija opreme, postaje evidentno da je sistem sposoban da podržava njihovo korištenje.

Terminali sa grafičkim ulazima i izlazima se zahtjevaju bez obzira na cijenu. Početni pristup

Multics sistem će biti takav da neće postojati standardni grafički ulazno/izlazni treminal iako

je nekoliko posebnih projekata to pokušalo da izvede. S sistemske tačke gledišta u početku bi

bilo da će svi grafički ulazno/izlazni treminali biti sa malim kompjuterima, sposobnim da

rukuju neposrednim prekidanjem.1

5. Virtualna memorija, procesi i djeljenje u Multics-u

U Multics-u, odluka temeljnog dizajna je donesena tako da bi sistem s računarskim

potrebama učinkovito mogao služiti velikoj zajednici korisnika s različitim interesima,

djeljujući prvenstveno sa udaljenog terminala. Među ciljevima su bili:

1. Davanje odgovornosti sistemu za upravljanje distribucijom informacija između nivoa

hijerarhije fizičke memorije - učinkovito multiprogramiranje mnogih proračuna čini

ovo bitno, ali od veće važnosti je činjenica da se korisnici oslobađaju tereta planiranja

prijenosa informacija između nivoa memorije, a programi postaju neovisni o prirodi

pomoćnih uređaja za pohranu u sistem.

2. Dozvoliti stepen programiranja općenito što je prethodno nepraktično - to uključuje

sposobnost jedne procedure da koristiti neku drugu proceduru poznavajući samo njeno

ime, i bez poznavanja njenih potreba za pohranu, ili dodatne procedure na koje može

zauzvrati poziv.

3. Omogućavanje dijeljenje procedura i podataka među korisnicima samo sa

odgovarajućim odobrenjem - dijeljenje procedura u memoriji jezgri je izuzetno

vrijedno u složenim sistemima, tako da se nagomilavanje pomoćnih memorija s

bezbroj primjeraka rutina izbjegava, pa je prenos nepotrebnih informacija eliminiran.

Page 14: Multics Finalno

14

Ovi ciljevi su doveli do dizajnu računarskih sistema sjedinjujući koncepte prijenosa podataka

i segmentacije na kojima će se moći pokrenuti početna imlementacija Multics-a.

5.1. Multics koncept procesa i adresnog prostora

Pojam “proces” najčešće se povezuje sa terminom korištenja aktivnost procesora u

obavljanju proračuna određenog programom. U Multics-u, koncept procesa usko je povezan s

konceptom adresnog prostora. Multics procesi su u položaju jedan-na-jedan s virtualnim

memorijom. Svaki proces se izvodi u svom adresnom prostoru koji je ospostavljen neovisno o

drugom adresnom prostoru. Procesi se pokreću na procesoru Multics sistema po vlastitom

navođenju modula kontrolera prometa Multics upravljačkog programa.

Virtualna memorija (ili adresni prostor) Multics procesa je uređeni skup, sastavljena

od onoliko koliko se 214 segment sastoji od 218 36-bitni riječi. Svaki segment je logička

odvojena jedinica informacije koje posjeduju atribute: dužina i privilegija pristupa. Za ovu

svrhu, imamo dva segmenta:

1. podatak

2. procedura.

Segment se tretira kao procedura ako je namijenjena da joj se pristupiti za dohvatanje

instrukcija od strane procesora. Ostali segmenti se tretiraju kao podatak.

Veličina adresnog prostora dana Multics procesima ga čini podesnim za odvajanje sa

datotekama kao zasebnim mehanizmima za problematično adresiranje informacija u

računarskom sistemu. Nije potrebno povlačiti razliku između datoteke i segmentima!

5.1.1. Struktura Multics direktorija

Struktura Multics direktorija je hijerarhijski raspored direktorijuma koji povezuje

barem jedno simboličko ime sa svakim segmentom. Ova imena imaju značenje koje je

nepromjenjiva veličina nad svim procesima koji postoje. Slika 5.1 prikazuje Multics koncept

procesa kao virtualna memorija koja se sastoji od segmenata izabranih iz strukture direktorija.

Page 15: Multics Finalno

15

Slika 5.1: Virtualna memorija Multics procesa

5.2.Adresiranje u Multcs-u

5.2.1. Generalizirana adresa

Svaka riječ u adresnom prostoru procesa je identificiran od strane generalizirane adrese. Kao

što je prikazano na slici 5.2, generalizirani adresa se sastoji od dva dijela: broj segmenta i broj riječi.

Slika 5.2: Generalizirana adresa

Proces može napraviti učinkovitu referencu na riječ putem svoje generalizirane adrese

onda kada riječ ima dodijeljenu lokaciju u glavnoj memoriji. Zajedno s softverom

upravljačkog programa, ovi mehanizmi prave reference od strane generalizirane adrese bez

obzira na to gdje se riječ može nalaziti u hijerarhiji memorijskog skladišta stavljajući ga u

glavnu memoriju kada je to potrebno. Tako generalizirani adresa je lokacijsko neovisno

sredstvo identificiranja informacija.

5.2.2. Formiranje adrese

Svaki procesor računarskog sistema (Slika 5.3) ima sakupljač A, množitelj/kvocijent Q, osam indeks registra X0, X1, ... X7, i programski brojač PC koji služe normalnim funkcijama. Za implementaciju generaliziranog adresiranja i međusegmentno povezivanje,

Page 16: Multics Finalno

16

registar baze deskriptora, registar baze procedure i četiri registra baze parova su uključeni u svakom procesoru.

Slika 5.3: Procesor registri za formiranje adrese

Svaki od četiri registra baze parova sadrži kompletnu generaliziranu adresu i nazvana

je u odnosu na njenu specifičnu ulogu u Multics-u:

baza para oznaka funkcija 0 ap argument pokazivač 1 bp baza pokazivač 2 lp povezivanje pokazivač 3 sp stog pokazivač

Instrukcije se izvršavaju sekvencijalno, osim gdje je se dogodi prijenos kontrole.

Dakle, programski brojač je normalno uvećan za jedan tokom izvođenja svake instrukcije.

Slika 5.4: Format instrukcije procesora

5.2.3. Indirektno adresiranje

U procesoru, instrukcijsko polje način adresiranja može pokazivati da se koristi

indirektno adresiranje. U tom slučaju, generalizirani adresu se koristi kako bi se dohvatio par

36-bitne riječi. Ako polje naćina adresiranja prve riječi sadrži kod its (Indirect To Segment -

neizravno sa segmentom), polja broj segmenta i broj riječi se kombiniraju kako bi proizveli

Page 17: Multics Finalno

17

novu generalizirani adresu. Ova adresa je nadopunjena indeksiranjem u skladu mode (način)

polja druge riječi istog para.

5.2.4. Deskriptor segment

U procesoru, instrukcijsko polje način adresiranja može pokazivati da se koristi

indirektno adresiranje. U tom slučaju, generalizirani adresu se koristi kako bi se dohvatio par

36-bitne riječi. Ako polje naćina adresiranja prve riječi sadrži kod its (Indirect To Segment -

neizravno sa segmentom), polja broj segmenta i broj riječi se kombiniraju kako bi proizveli

novu generalizirani adresu. Ova adresa je nadopunjena indeksiranjem u skladu mode (način)

polja druge riječi istog para.

5.2.5. Straničenje

Segmenti informacija i deskriptor segmenti mogu biti dovoljno veliki tako da

straničenje po želji može pojednostaviti problem dodjele prostora u glavnoj memoriji.

Straničenje se provodi putem straničnih tablica u glavnoj memoriji koje su omogućene za

zaustavljanje u slučaju da B stranica nije prisutna u glavnoj memoriji. Ove tablice sadrže

kontrolne bitove koji snimaju pristup i izmjene stranica za korištenje od strane procedura za

raspodjelu prostora. Mala asocijativna memorija je ugrađena u svaki procesor tako da se

većina referenci, na stranicu tablice ili na deskriptor segment, mogu zaobići.

5.3.Međusobno povezivanje i adresiranje

Potrebna svojstva zadovoljavajućeg aranžmana međusegmentnog adresiranja uključuje

sljedeće:

1. Procedura segmenata mora biti potpuna tj., njihovo izvršavanje ne smije izazvati

promjenu jedne riječi njihovog sadržaj.

2. Procesu mora biti omogućeno pozivanje rutine s njenim simboličkim imenom bez

prethodnog pravljenja aranžmana za njegovu upotrebu.

3. Segmenti procedure moraju biti invarijantne u odnosu na ponovno sakupljanje drugih

segmenata.

Page 18: Multics Finalno

18

5.3.1. Postavljanje segmenta poznatim

Prijašnji uvjet (1) zahtijeva omogućavanje pozivanja segment od strane procesa, čak i

ako za njega nije rezervisano mjesto u deskriptor segmentu procesa. Stoga je mehanizam

omogućen u sistemu za dodjeljivanje pozicije u deskriptor segmentu (broj segmenta) kada

proces prvi referencira na segment pomoću svog simboličkog imena. Ovu operaciju nazivamo

postavljanje segmenta poznatim procesu. Jednom kada je segment poznat, proces ga može

referencirati njegovim segmentnim brojem.

5.3.2. Povezanost podataka

Prije nego segment postane poznat procesu, segment može biti samo referenciran

pomoću simboličkog naziva puta koji trajno identificira segment unutar strukture

direktorijuma. Budući da je broj segmenta koji se koristi za referencu određenog segmenta

procesno ovisan, brojevi segmenta se ne mogu pojaviti unutar potpunog koda procedure. Iz

tog razloga, segment je identificiran segment procedurom sa simboličnim nazivom reference

segmenta. Prije nego što procedura može završiti vanjsku referencu segmenta, naziv reference

mora biti preveden u naziv puta pomoću algoritma za pretraživanja direktorijuma, tako

željeni segment postaje poznat procesu.

5.3.3. Procedure call i return

Kodiranje koje se koristi za prijenos kontrole podproceduri i vraćanje podsekvence

kontrole moraju zadovoljiti zahtjeve programa općenito. Četiri aspekta pozivanja

potprograma su:

1. Prijenos argumenata

2. Raspoređivanje za povrat kontrole

3. Spremanje i obnavljanje stanja procesora

4. Dodjela privatnog prostora za pohranu pozvane procedure.

Stavka 4. je potrebna u Multics-u zbog zahtjeva potpune procedure, kao i općenitog zahtjeva

koji zabranuje prethodno aranžiranje pozvane procedurine potrebe za prostorom. Ovaj

privatni prostor podržan povezujući stog segment sa svakim procesom u kojem okviru

privatnog prostora je rezerviran na svaki poziv procedure. Ovaj mehanizam je implementiran

od strane stog pokazivača (određeni sp), koji je u stvari generalizirana adresa stog okvira za

proceduru u izvršavanju. Korištenje stog segmenta čini svaku proceduru automatski

Page 19: Multics Finalno

19

rekurzivnu u Multics-u, povezujući odvojenim stog okvirima s uzastopnim unosima u istu

proceduru. Zbog zahtjeva potpune procedure, samo fiksni argumenti koji ne ovise o

brojevima segmentata se mogu pojaviti u segmentima procedure. Argumenti pokazivači i

varijabli moraju biti postavljeni u stog segmentu, segmentu povezanosti, ili bilo gdje drugdje.

Tako da dizajner jezika može imati izbor implementacije, argument pokazivač (određeni ap)

je u proceduri upisa generalizirana adresa popisa argumenata za proceduru poziva.2

6. Multics ulazno/izlazni (U/I) sistem

Ulazno/izlazni (U/I) sistem je implementiran u Multics sistemu da omogući dinamičko

uključivanje U/I uređaja. Ovo uključivanje je ostvareno pružanjem općeg sučelja za sve U/I

uređaje koji omogućavaju da se sve ekvivalentne operacije na različitim uređajima izražavaju

na isti način. Također, posebni uređaji su referencirani simboličnim imenom i povezivanje

imena s uređajima se mogu dinamički mijenjati. Dostupne U/I operacija djeluju iz skupa

osnovnih U/I poziva koji zahtijevaju gotovo nikakvo poznavanje U/I sistema ili U/I uređaja

koji se koriste za potpune generaliziranje poziva koji dopuštaju jednom pozivu da u

potpunosti iskoristiti sve mogućnosti U/I uređaja, ali zahtijevaju bitna poznavanja U/I sistema

i uređaja.

6.1.Pregled U/I sestema

Osnovni cilj Multics-a je da napravi U/I operacije, formulirane u programima ili servis

procedurama, koje korisnik obilježi navodeći samo one funkcije uređaja koji su potrebni za

primjenu, ostavljajući sistemu odgovornost za određivanje stepena neovisnosti uređaja

impliciranog zahtjevom korisnika. Na taj način korisnik koji poziva takve servis procedure je

slobodan da odredi zamjenski uređaj, što može biti prikladno, držeći se uređajnim

ovisnostima koje su implicirane od strane zahtjeva formuliranih U/I funkcija.

Postoje dva jasna motiva za ovaj važan cilj. Prvo, moramo pretpostaviti da će u bilo

kojem trenutku sistem obično prilagoditi nekoliko tipova U/I uređaja i modela. Svaki će

vjerojatno zahtijevati različito programirane kontrole. Svaki može imati različite skupove

znakova, i može biti suštinski različit u različitim aspektima. Drugo, pretpostavljamo isto tako

da U/I uređaji postaju zastarjeli i, tokom vremena se zamijenjuju novim modelima iste ili

različite vrste, npr., video tastature mogu zamijeniti pisaće mašine.

Poseban dizajnerski pristup u Multics temelji se na dva praktična zahtjeva, jedan ima

veze sa sistemskom odgovornošću za dijeljenje i oporavak svih stvarnih U/I uređaja, a drugi

Page 20: Multics Finalno

20

imaju veze sa mapiranjem vremena izvođenja validnih U/I operacija koje su korisnički

programirane, bez obzira na stepen njihove specifičnosti, nad određenim uređajima i uz

kontrole koje odgovaraju tim određenim uređajima.

Na primjer, imamo sljedeći oblik:

čitaj iz ”citac_kartica_2” na prostor_23; (1)

ili

čitaj (“uređaj 35”, prostor_23);

umjesto toga možemo imati:

čitaj iz streama ”Billy” na prostor_23; (2)

ili

čitaj (“moja_konzola”, prostor_23);

zavisno od sintakse programskog jezika koji se koristi.

Ovdje u primjeru (2), “Billy” i “ moja_konzola” su obični identifikatori za izvore podataka. Da

bi ovaj iskaz čitaj imalo bilo kakav značajan efekt, određeni uređaj predstavljen ovakvim

identifikatorom mora biti vezan za (tj. na neki način povezan ) “Billy” ili “ moja_konzola” u

isto vrijeme nakon što je uređaj dodijeljen procesu i prije nego što je izvršen čitaj iskaz.

Multics U/I sistem je odgovoran za održavanje i nadzor povezanosti tih uređaj-izvor naziva.

Slično i za izlaz, imena odvodnih kanala su radije korištena u piši iskazima nego u stvarnim

označavanjima izlaznih uređaja. Tako po analogiji s gore navedenim primjerom čitati (2)

smo mogli razumljivije zamisliti nešto kao:

piši (“njegova_konzola”, “format 12”, područje_23); (3)

gdje je “njegova_konzola” ovdje namijenjen da predloži ime nekog odvodnog kanala (izlazni

uređaj).

Ime odabrano za elemente skupa {izvor, odvodni kanal} je stream. Koncepcijski,

dodavanje stream imena određenom uređaju je oblik vezivanja parametara. Oznaka urađaja

igra ulogu stvarnog argumenta i stream imena formalnog parametra. Kako bi se primjenio

više od jednog “argumenta” za isti “parametar” Multics predviđa odvajanje uređaja (znaka)

od imena streama, tako da se nakon toga još jedan uređaj može spojiti na isto ime streama.

Page 21: Multics Finalno

21

Sistem mora biti u mogućnosti da podržava neograničen broj uređaja, tipove uređaja i

kontrolera. Dakle, stvarna činjenica je da U/I modul (nazvan U/I prekidač) sada samo prenosi

više specifičan U/I zahtjev kao poziv na odgovarajući “specijalistički” modul, DIM (Device

Interface Module), za svaku vrstu uređaja. Ovaj modul DIM naizmjenično preuzima

odgovornost za dobivanje U/I zahtjeva (slika 6.1).

Slika 6.1: Pojednostavljeni prikaz organizacije U/I sistema

Funkcija DIM-a je da pretvori U/I zahtjev u skup naredbi za određeni kanal za

određene uređaje koji su povezani s ovim DIM-om. DIM zna oba pravila i U/I sistema i nekog

U/I uređaja i funkcionira kao prevoditelj jednog skupa pravila za druge skupove. U cilju da

svi uređaji mogu biti u potpunosti iskorišteni potrebno je da “jezik” U/I sistema bude pažljivo

odabran.

6.2.Opis U/I sistema

DIM modul pretvara opšti U/I zahtjev u posebne instrukcije razumljive određenom

uređaju. Pri tome, on mora kompajlirati program za GIOC (General Input Output Controller -

opšti U/I kontroler) hardver koji zauzvrat opskrbljuje ciljani kanal.

DIM modul nakon kompajliranja programa za GIOC, poziva modul koji služi kao

sučelje za GIOC da bi pokrenuo U/I koristeći ovaj GIOC program. Odgovornost DIM-a je

međudjelovanje s GIM modulom (GIOC Interface Module – GIOC modul sučelja), sve dok se

U/I zahtjev ne završi. GIM modul je odgovoran za cjelokupno upravljanje GIOC kontrolera.

Isto tako, GIM je također odgovoran za cjelokupnu praćenje rada GIOC-a. To zahtijeva

Page 22: Multics Finalno

22

odazivanje na prekide, prepoznavanje završetka zadataka, i transmisiju svojoj informaciji o

statusu pozivatelja položene od strane GIOC-a.

Potrebno je da DIM sačeka da se određena U/I operacija završi, zatim da se probudi

kad se operacija završi. U tu svrhu unos je obezbjeđen u kontroleru prometa koji uzrokuje da

proces bude obustavljen dok se ne probudi iznova. Kada se sačekana operacija završi, GIM

(koji je pozvan hardverskim prekidom od strane GIOC-a) poziva kontrolera prometa da

probudi odgođene procese. Ovo predstavlja sučelje između kontrolera prometa i U/I sistema.

U/I sistem, osim DIM-a, ne zna ništa o uređajima. Dakle, slijedi da je U/I sistem ne

mora nužno komunicirati s fizičkom uređajem, ali DIM moduli mogu biti pisani djelovanjem

na podatke, da na bilo koji način postanu ulaz ili izlaz. Takvi DIM moduli su povezani s

virtualnim ili prividnim uređajem i nazvani su pseudo DIMS moduli.

Najvažniji pseudo-DIM je FSIM (File System Interface Module – modul sučelja

sistema datoteka) koja tretira segment, u datotečnom sistemu Multics, kao U/I uređaj. Kada je

jedan segment u sistemu datoteka pridodan stream-u preko FSIM, pozivi read i write na

stream-u će uzrokovati čitanje podataka ili pisanje u segment. FSIM pruža sučelje između U/I

sistema i sistema datoteka u Multics-u. Međutim, za razliku od mnogih sistema ovo sučelje

nije mnogo korišteno jer se datotečni sistem obično poziva izravno.

Druga klasa DIM modula je onaj koji prevodi jedan U/I poziv u drugi U/I poziv,

odnosno, njegov pseudo-uređaj je stream. Stream koji se koristi kao pseudo-uređaj je nazvan

stream objekt. Najvažniji od ove klase DIM-a je modul “sinonim”. Kada pridodavanje

napravljeno preko sinonim modula, onda specifirani uređaj je još jedan stream. Svaki sljedeći

pozivi za prvi stream je preobražen od strane sinonim modula za isti poziv na kasniji stream.

Stream imena su, dakle, sinonimi.3

7. Komunikacije i ulazni/izlazni uređaji u Multics-u

U ovom odlomku govori se o komunikaciji i prebacivanju ulazno/izlaznih problema u

veliki razmjer multipleksnog sistema računanja. Osnovni cilj ovakvog sistemskog računanja

jeste da služi istovremeno i kontinualno širokom spektru i velikom broju korisnika. Problemi

u ovakvim sistemima se javljaju zbog velikog broja različitih on-line ulazno/izlaznih uređaja,

dinamički mijenjajući hardver i softver okolinu i treba da efikasno koristi uređaje poput

printera.

Online uređaji se klasificiraju na lokalne i udaljene. Lokalna periferija poput diskova,

traka, linijskih printera su obično spojeni na kompjuter kratkim kablovima. Za razliku od toga

Page 23: Multics Finalno

23

udaljeni uređaji poput pisaćih strojeva, linijskih printera, čitača kartica su obično spojeni na

kompjuter putem privatne ili prespojene telefonske kompanije prijenosnih kapaciteta.

7.1.Filozofija ulazno/izlaznih sistemskih uređaja

Osnovni cilj Multics sistema jeste neprekidan rad servisa. Glavna metoda u postizanju

ovog cilja jeste uključivanje više od jedne kopije svakog hardverskog modula i konfiguriranje

spojnog puta između modula, tako da niti jedan modul nije neophodan za operacije

kontinualnih sistema.

Slika 7.1: Skelet hardverske konfiguracije

Ova slika pokazuje skelet sistemske konfiguracije i pokazuje dovoljno module da bi

ilustrirala ove principe. U ovom slučaju postoje dvije centralno procesorske jedinice, dva

memorijska modula dva osnovna ulazno/izlazna kontrolera, dva disk kontrolera i dvije disk

jedinice. Svaka centralno procesorska jedinica i osnovni ulazni/izlazni kontroleri mogu

pristupiti svakom memorijskom modulu. Svaki disk kontroler ima dva repa i mogu mu

pristupiti bilo koji od ulazno/izlaznih kontrolera. Dok svakoj jedinici diska mogu pristupiti

bio koji od disk kontrolera. Ulazno/izlazni uređaji jednog repa ilustrirani linijom printera na

prethodnoj slici moraju se ručno prekidati kad je to neophodno od strane operatora lokalnog

kompjutera. Broj linija spajanja svakog osnovnog ulazno/izlaznog kontrolera na prekidački

sistem donosi dostupnost više puteva.

Page 24: Multics Finalno

24

7.2.Funkcionalna podjela

Funkcionalna podjela osnovni ulazno/izlaznih uređaja je prikazana na slici. Modularna

funkcionalna izgradnja blokova su zajednički nadzor, nadzor adaptera i kanala adaptera.

Slika 7.2: Funkcionalna organizacija ulazno/izlaznih kontrolera

Dva osnovna tipa adaptera su korištena direktno i indirektno. Direktni adapteri, za koje

aktivna riječ kontrole se nalazi u hardveru adaptera radije nego u glavnoj memoriji, su

zaposleni sa uređajima visokih stopa podataka. Podaci se prenose direktno sa dizajniranih

lokacija u memoriji koristeći kontrolnu riječ koja boravi u adapteru hardvera. Prenosom 12

znakova u jednom ciklusu glavne memorije, direktni adapteri efikasno koriste cikluse

memorije na štetu kompleksnosti adaptera.

Indirektni adapteri, koji sadrže minimalne kontrole unutar sebe, se koriste sa uređajima

niskih i srednjih stopa podataka. Kontrolne riječi borave u glavnoj memoriji i mora im se

pristupati a i ažurirati svaki put kad se javi prenos podataka. Do 12 znakova podataka se može

prenositi u tri ciklusa glavne memorije.

Kod direktnih adaptera, zajednička kontrola nudi sljedeće funkcije:

1. Prioritet adaptera naručivanja i raspodjele

2. Komandna informacija komuniciranja adaptera

3. Povezivanje sa adapterom

4. Sekvenca i podsistem kontrole

5. Kontrola dijagnostike i grešaka

Page 25: Multics Finalno

25

Kod indirektnih adaptera, zajdinčka kontrola nudi sljedeće funkcije:

1. Riječ montaže i demontaže

2. Djelomično provjeravanje i generiranje

3. Kontrola riječi ažuriranja

4. Dinamička kontrola funkcije detekcije

5. Privremeni adapter stanja međuspremnika

7.3.Prioritetska šema hardvera

Ova šema smanjuje efekte uređaja niskih stopa podataka na latenciju uređaja visokih

stopa podataka uz uspostavu prioriteta za sve događaje koji zahtjevaju korištenje glavne

memorije. Postoji šest osnovnih klasa događaja:

1. Status (komunikacija od hardvera do programa)

2. Naredbe (komunikacija od programa do hardvera)

3. Direktne adapterno servisne usluge

4. Indirektne adapterno servisne usluge

5. Popis pokazivačkih usluga

6. Dijagnostičke funkcije

Svaka klasa događaja sadrži nekoliko nivoa prioriteta hardvera. Prioritet nivoa za

jednu klasu događaja se može mješati sa ostalim prioritetima.

7.4.Prioriteti prekidanja programa

Prioritet prekidanja programa se može dinamički dodjeljivati nadzornoj osobi po

kanalnoj osnovi. Program prekida rezultate iz stanja, pohranjen u glavnoj memoriji nakon

pojave događaja koji zahtjeva rad programa.

Postoje četiri podklase statusnih događaja:

1. Istrošiti

2. Okončati

3. Vanjski signal

4. Unutarnji signal

Status Istrošiti pokazuje da trenutno aktivna kontrolna riječ za adapterski kanal se ne može

koristiti za dalju kontrolu. Ovaj događaj implicira da nova kontrolna riječ mora biti dobivena

da bi se prenos podataka nastavio.

Page 26: Multics Finalno

26

Status Okončati ukazuje na to da sadašnje aktivne kontrolne riječi za kanal adaptera se ne

mogu koristiti za dalju kontrolu i da osim toga nema daljeg prenosa podataka na taj kanal

adaptera.

Status vanjski signal je vozilo kojim događaji izvan osnovnih ulazni/izlaznih kontrolera mogu

dobiti priznanje od programa. Takvi događaji poput akcija operatora na periferne jedinice

spadaju u ove podklase.

Status unutarnji signal je vozilo kojim specijalni kontrolni događaji unutar osnovnih

ulazno/izlaznih kontrolera mogu dobiti priznanje od strane programa. Takvi događaji poput

dinamičke detekcije znakova kontrole dolaznih komunikacija spadaju u ove podklase.

Svaki kanal adaptera, putem kontroel riječi može samostalno da aktivira bilo koji statusni

nivo kada se pojavi jedan od četiri statusa podklase.

7.5.Filozofija softvera ulaz/izlaz

Filozofija siftvera ulaz/izlaz mora pojednostaviti gdje je to moguće dizajn veliko –

skaliranih multipleksnih kompjuterskih sistema i moraju se adekvatno nositi sa osnovnim

komunikacijama i ulazno/izlaznim problemima o kojim se ranije govorilo.4

Slika 7.3: Blok dijagram softverskog sistema ulaz/izlaz

Page 27: Multics Finalno

27

8. Zaklju čak

U ovom seminarskom smo obradili osnovni koncept jednog od najviše utjecajnijih

prvobitnih time-sharing operativnih sistema: MULTICS. Obradili smo osnovne sistemske

zahtjeve, virtaulnu memoriju, U/I sisteme, procese i komunikacije u Multicsu. Iako je razvoj

Multicsa povučen veoma brzo, Multics je imao veliki utjecaj na području računarskih sistema.

Zadnja poznata instalacija Multics-a ugašena u oktobru 2000. godine.

Page 28: Multics Finalno

28

Literatura

[1] F. J. Corbató Massachusetts Institute of Technology Cambridge, Massachusetts and V. A.

Vyssotsky Bell Telephone Laboratories, Inc. Murray Hill, New Jersey

(http://www.multicians.org/fjcc1.html)

[2] Bob Daley and Jack Dennis, Virtual memory, processes, and sharing in Multics published

in Communications of the ACM, Volume 11, pp. 306-312, May 1968.

(http://www.multicians.org/daley-dennis.html)

[3] R. J. Feiertag and E. I. Organick, The MULTICS Input/Output System, conference paper

from the Third ACM Symposium on Operating System Principles in Palo Alto, CA, October

1971. (http://www.multicians.org/rjf.html)

[4] J. F. Ossanna Bell Telephone Laboratories, Inc. Murray Hill, New Jersey L. E. Mikus General Electric Company Phoenix, Arizona and S. D. Dunten Massachusetts Institute of Technology Cambridge, Massachusetts. (http://www.multicians.org/fjcc5.html)