multics finalno
TRANSCRIPT
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ć
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
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
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.
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.
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.
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
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
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.
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.
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.
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
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.
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.
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,
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
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.
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
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
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.
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
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
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.
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
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.
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
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.
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)