Operációs rendszerek vizsgakérdések
Országok listája
Hungary
Debreceni Egyetem
Informatikai Kar
Programtervező informatikus
Operációs Rendszerek 1.
Operációs rendszerek vizsgakérdések
2008.09.20 15:45:58
Az alábbi szöveg egy formázás és képek nélküli előnézete a dokumentumnak. A tökéletes megjelenítéshez jelentkezz be, majd töltsd le a dokumentumot.
1.Mit jelent a beállítási idQ (setup time)? Miért volt a korai rendszerekben nagy a beállítási idQ? Hogyan lehet csökkenteni?
A korai rendszereket nagyméretq gépek jellemezték melyet konzolról irányítottak és a programozó egyben az operátor is. A rendszer egyszerre egy felhasználót tudott kezelni és lyukszalaggal vagy lyukkártyával megvalósított adatbevitel és kivitel létezett. Ez azt jelenti hogy ha valaki programot/algoritmust akart futtatni akkor elQször gépidQt foglalt majd mikor odakerült jelszóval törölte a tárat és betöltötte az algoritmus fordítóját, ami a kártyán vagy szalagon olvasott biteket lefordította és szalagon visszaadta a lefordított algoritmust. Majd megint tártörlés és a lefordított algoritmus futtatásra került. Vagyis a processzor nincs kihasználva, és minden felhasználó aki gép elé jutott ezt a folyamatot végigjátszotta. Tehát míg a felhasználó végigjátsza a fordító betöltését az a beállítási idQ. Ezt úgy tudták csökkenteni hogy a gép mellé egy operátort rendeltek aki egyszer töltötte be a fordítót és az összegyqjtött algoritmusokat egymás után fordította le és adta ki szalagra vagy kártyára. Így a gépnek egy felhasználója van és a programozók kiszorultak a gépterembQl.Azt hogy az operátor szépen egymás után adja az utasításokat (kártyánként) hívjuk kötegelt feldolgozásnak. Egy idQ múlva az is elérkezett hogy az operátor volt lassú, és néha hiba is becsúszott ezért a General Motors írt egy operációs rendszerecskét ami Monitor névre hallgatott és állandóan a tárban futott. Ez azt jelentette hogy az operátor már csak a perifériákat kezelte. Majd megjelentek a segédszámítógépek, amelyek terminálként funkcionáltak vagyis az oda begépelt programok mágnesszalagra rögzültek és az ment a nagy gépnek. A segédszámítógépek buták voltak és ezért nem futathatott rajta az ember algoritmust. Tehát az operátor vitte a szalagot a nagy gépnek és ott futatta. Így az adatátvitel a kezdeti idQköz képest a töredéke lett.
2.Mit jelent a Moore törvény ?
Moore-törvénynek nevezzük azt a tapasztalati megfigyelést a technológiai fejlQdésben, mely szerint az integrált áramkörök összetettsége a legalacsonyabb árú ilyen komponenst figyelembe véve körülbelül 18 hónaponként megduplázódik
3.Milyen következtetést kell levonni az operációs rendszerek tervezQinek a Moore törvénybQl?
4.Mi a csatorna (channel) szerepe a számítógép átbocsátóképességének növelésében?
Ha nagyobb a csatorna átviteli sebessége, csökken a kommunikáció idQ a központi egység és az I/O berendezések között. Ezzel növekszik a számítógép átbocsátóképessége, gyorsabb lesz az információáramlás.
5.Mit jelent a kötegelt feldolgozás? Milyen elQnyei és hátrányai vannak?
A kötegelt feldolgozást a korai rendszerek gyorsítására találták ki. Arra szolgál hogy a felhasználók ne egyesével kezdjék az algoritmusait futtatni és ezzel a drága gépidQt pazarolni, hanem azt egy hozzáértQ operátor kezébe adta, aki rendszerezte az azonos feladatokat és egy betöltési idQvel lefutatta Qket. Így a gép kihasználtsága növekedett, viszont a programozók kiszorultak a gépterembQl. Egy idQ múlva az is elérkezett hogy az operátor volt lassú, és néha hiba is becsúszott ezért a General Motors írt egy operációs rendszerecskét ami Monitor névre hallgatott és állandóan a tárban futott. Ez azt jelentette hogy az operátor már csak a perifériákat kezelte. Majd megjelentek a segédszámítógépek, amelyek terminálként funkcionáltak vagyis az oda begépelt programok mágnesszalagra rögzültek és az ment a nagy gépnek. A segédszámítógépek buták voltak és ezért nem futathatott rajta az ember algoritmust. Tehát az operátor vitte a szalagot a nagy gépnek és ott futatta. Így az adatátvitel a kezdeti idQköz képest a töredéke lett. A szalag legnagyobb elQnye az volt hogy az olvasó fejet oda lehetett állítani ahová kellett anélkül hogy az operátor beavatkozott volna. Az adatok itt is sorosan voltak tárolva mint a kártyánál, ám gond is adódott. Honnan tudja a Monitor hogy mi az adat és a program, hogy mi a jobhatár , illetve milyen természetq jobot kell futatnia (Fortran, Assembler). Ezt úgy küszöbölték ki hogy egy új nyelvcsalád a parancsnyelv jött létre. Így a feladatokba beépített kódokat írtak: $JOB, $FTN, $RUN, $DATA, $END. Ezzel monitor látta hogy job vagy adat amit futtat és azt is látta hogy hol a job határa. A jobok természet is különleges karakterek használatával adták meg.
6.Milyen funkcionális részei vannak a kötegelt feldolgozás vezérlQ monitorának?
vezérlQ kártya interpreter felelQs a vezérlQkártyák beolvasásáért és az értelmezésért
betöltQ(loader) háttértárból a betöltQ az egyes rendszer és felhasználói programokat az operatív memóriába
készülék meghajtó programok (device drivers) ismerik a rendszer az egyes I/O berendezéseinek tulajdonságait és mqködtetésük logikáját
7.Mi a multiprogramozás? Hogyan értékelhetQ a Moore törvény tükrében?
A multiprogramozás célja: a CPU foglaltság (kihasználás) hatásfokának növelése
A multiprogramozás lényege: egyidôben több folyamat is az operatív tárban helyezkedik el, készen állva a CPU kiszolgálására. Ha egy folyamatnak várnia kell (Pl. I/O-ra), a CPU-t egy másik folyamat kapja meg.
A spooling rendszerek tovább gondoltja. Ha van a rendszerünkben kettQ vagy több önálló mqködésre képes eszköz akkor egy logikai lépéssel azt többfeladatos rendszerré tehetem. A be- és kiviteli mqveletek alatt unatkozó központi egységet jobban kihasználom, ha amíg a processzor egyik program számítási lépéseit hajtja végre addig a memória egy másik területére egy másik programot töltök be. Így amíg elhelyezi az elsQ program eredményét a lemezre addig már a következQ programon dolgozik a processzor. Ám ez csak akkor optimális ha a két program periféria-idQ igénye azonos, ami ritka. Egy job vagy periféria igényes vagy CPU igényes. A kétféle program aránya akkor optimális ha a több job fut egyszerre. Ez a változás komolyabb változást hozott a monitor felépítésében és definálni kellett alapfunkciókat amit a vezérlQ program lát el. Ezt hívjuk a rendszermagnak. A kezelQ felület a burok és a mag alkotja az operációs rendszert.
8.Melyek a multiprogramozás által az operációs rendszerekkel szemben támasztott legfontosabb követelmények?
az I/O-nak az operációs rendszer részérQl történQ teljes körq felügyelete (adatvédelem)
Az I/O-t az operációs rendszer nem egyszerqen támogatja, hanem a végrehajtásához elkerülhetetlen
Hardver feltételek (kernel/supervisor mode, privileged operations)
memória gazdálkodás a rendszernek fel kell osztani a memóriát a futó jobok között
Hardver feltételek(+segmentation)
cpu ütemezés a rendszernek választani kell tudni a futásra kész jobok között
készülékhozzárendelés (nem jut minden jobnak printer, lemez stb.)
Eszközkezelés a felhasználói programok elölm el kell fedni a perifériák különbözQségét, egységes kezelQi felületet kell biztosítani
Megszakítás kezelés alkalmasnak kell lennie a perifériák felöl érkezQ kiszolgálási igények fogadására, megfelelQ ellátására
Rendszerhívás, válasz a rendszer magjának ki kell szolgálni a felhasználói programok periféria igényeit úgy hogy, lehetQleg ne vegyék észre hogy nem közvetleülm használhatják a perifériákat. Erre szolgálnak a programok által küldött rendszerhívások amelyekre a mag válaszokat küldhet.
ErQforrás kezelés az egyes eszközök közös használatából adódó konfliktusokat meg tudja elQzni vagy ha bekövetkeztek akkor azt tudja kezelni, feloldani
Processzor ütemezés az op rendszerek ütemezQ funkciójának a várakozó munkák között valamilyen rend szerint el kel osztani a processzor idejét ill. vezérelni kell a munkák közötti átkapcsolási folyamatot
Memóriakezelés úgy kell felosztania a memóriát a feladatok között hogy azok egymást ne zavarják és az operációs rendszerben se tegyen kárt
Állomány és lemezkezelés rendet kell tudni tartania a hosszabb távra megtartandó állományok között
Felhasználói felület a parancsnyelvek feldolgozására alkalmas monitor fejlettebb utódja ami közölni tudja a felhasználó kivánságait és a rendszer allapotáról információt adjon.
9.Mit jelent a SPOOL-ing?
absztrakt periféria fogalom (Simultaneous Peripheral Operation On-Line)
mialatt egy job végrehajtódik az operációs rendszer beolvassa a következQ jobot a kártyaolvasóról a lemezre (job queue), egy elQzQ job által nyomtatni szánt adatokat a lemezrQl a printerre továbbítja
megjelenik a job pool olyan adatszerkezet, melyek segítségével az operációs rendszer kiválaszthatja a következQ job-t, növeli a CPU kihasználtságot
kevesebb a CPU veszteségi idQ
CPU tovább gyorsulásával és a mechanikus perifériák nem gyorsulásával egy új rendszer került ami a SPOOL (Simultaneous Peripheral Operatios On Line) nevet kapta. Ez azt jeleni hogy kell egy olyan gyors tároló eszköz ami a beolvasandó adatokból a lehetQ legtöbbet tárolja és a kimenQ adatok gyors rögzítésére és tárolására is alkalmas addig amíg a mechanikus rendszer nem képes feldolgozni azt. Ezt a funkciót a mágneses lemez tölti ki. Egyszerre több job végezhetQ és válogathat a CPU köztük (fontosság, kihasználtság), adatok újbóli feldolgozására ill. további feldolgozására képes, így azt névvel látja el.
10. Jellemezze az idQosztásos rendszereket!
(Time-sharing rendszerek), legfQbb jellemzQje az interaktivitás
A CPU váltakozva áll olyan job-ok rendelkezésére, amelyek a memóriában, vagy a lemezen találhatók (CPU-t csak olyan job kaphatja meg, amely éppen a memóriában van)
egy job a lemezrQl a memóriába, vagy a memóriából a lemezre betölthetQ/kimenthetQ az ütemezési stratégiának megfelelQlen
a rendszer a felhasználók között on-line kommunikációt biztosít, ha az operációs rendszer befejezi egy parancs végrehajtását, a következQ vezérlQ-utasítást, nem a kártyaolvasóról, hanem a felhasználó klaviatúrájáról várja
egy adatokat és utasításokat tároló on-line fájl-rendszer kell, hogy a felhasználó rendelkezésére álljon.
a rendszer a program fejlesztését támogatja
a számítógépek információ kezelés eszközeivé váltak
11. Jellemezze a személyi számítógépes rendszereket!
a teljes számítógép rendszer egy egyszerq felhasználó kizárólagos rendelkezésére áll
tipikus konfigurációjú I/O berendezések (klaviatúra, egér,képernyQ kijelzQ, kisteljesítményq nyomtató)
elQtérben a felhasználó kényelme és felelQssége
sokszor adaptál eredetileg nagygépes operációs rendszerekre kidolgozott információ technológiai megoldásokat (migráció)
a felhasználó sokszor a számítógép kizárólagos tulajdonosa, felhasználója, így nincs szüksége fejlett CPU kiszolgáló és adatvédQ szolgáltatásokra
What you see is what you get
IBM (DOS, Basic, Windows)
12. Jellemezze a párhuzamos rendszereket!
multiprocesszoros rendszerek több mint egy szoros kommunikációs kapcsolatban lévQ CPU-val
szorosan kapcsolt/csatolt rendszerek a processzorok közösen használják a memóriát és a rendszer órát. A kommunikáció a közös memória segítségével történik.
elQnyei: megnövelt átbocsátó képesség, gazdaságosság, növekvQ megbízhatóság(redundancia, graceful degradation, fail-soft rendszerek)
szimmetrikus multiprocesszálás: minden egyes processzor az operációs rendszer azonos változatát(másolatát) futtatja. Ezek egymással szükség szerint kommunikálhatnak.
sok processz futhat egyszerre teljesítménycsökkenés nélkül(I/O problémák, ütemezés)
aszimmetrikus multiprocesszitás(maste-slave modell)
Minden egyes processzor a hozzárendelt specifikus feladatot(task) oldja meg. A feladatot a mester határozza meg! Ezek a taskok egymással szükség szerint kommunikálhatnak. Nagyon nagy rendszerekben elterjedtebb megoldás(RJE remote job entry, front-end processzorok)
ha több fukcionális egység ugyanazt a feladatot látja el és egy kiesik akkor akkor a rendszer tovább mqködik teljesítmény csökkenés árán.
13. Jellemezze a valós idejq rendszereket!
real-time rendszerek
gyakori, mint valamilyen dedikált alkalmazás (pl.: tudományos kísérlet támogatása,ipari kontroll) irányító-felügyelQ rendszere
a kiszolgálás azonnal megkezdQdik! Jól definiált, rögzített idejq korlátozások
hard (merev valós idejq) rendszerek
A másodlagos tár korlátozott, vagy teljesen hiányzik, az adatokat az operatív tárban(RAM) vagy akár ROM-ban tárolják
Konfliktus az idQosztásos rendszerekkel
szoft (puha valós idejq) rendszerek
Korlátozott szolgáltató programok az ipari kontroll, a robotika területén
A fejlett operációs rendszer szolgáltatásokat igénylQ alkalmazásoknál a (Multimedia, VR) igen hasznosak
14.Mit jelent a duál módú mqködés és mi a szerepe az operációs rendszer szempontjából?
Létezik a pancsoknak egy korlátozottabb felhasználói üzemmódja (user mód), amelyet a felhasználói programok használnak. Másrészt létezik egy teljes utasításkészletet támogató üzemmód, a rendszer üzemmód (kernel mode, privilegized mode, system mode, supervisor mode), melyet csak az operációs rendszer használhat.
Ha egy felhasználói folyamat olyan utasítást ad ki, melyet a processor user módjában nem hajthat végre, akkor az utasítás csapdába esik (trap) és a vezérlés az operációs rendszerhez kerül.
- felhasználó mód rendszer (supervisor, monitor) mód
módus bit
privilegizált mqveletek.
15.Mi a privilegizált gépi utasítás és mi a szerepe az operációs rendszerek szempontjából?
Privilegizált utasítások használata védve van a felhasználói programoktól. A kiváltságos utasítások rendszer funkciókat befolyásolnak (úgymint a rendszer regiszterek írása). Ezen utasításokat csak 0-s CPL-q (legprivilegizáltabb) privilégium szinten hajthatjuk végre. Ha egyet is az alábbi utasítások közül nem 0 CPL-en hajtunk végre, akkor általános védelmi hiba (#GP) generálódik.
16. Mi a megszakítás és hogyan történik a feldolgozása?
megszakítás (interrupt) átadja a vezérlést a megszakítás feldolgozó rutinnak. Ez általában a megszakítás vektor segítségével történik, amelynek megfelelQ elemi tartalmazzák a megszakítási osztályokhoz tartozó feldolgozó rutin elsQ végrehajtandó utasításának címét.
megszakítási rendszernek tárolnia kell a megszakított utasítás címét
egy megszakítás feldolgozása idején jelentkezQ további megszakítások letilthatók (mask out,disable), hogy el ne vesszenek(lost interrupt)
a megszakítási jel forrását tekintve lehet külsQ(I/O,Timer,Hardver), vagy belsQ(szoftver megszakítás, trap)
operációs rendszer feladatai:
cpu állapotának megQrzése,
megszakítás okának, körülményeinek részletesebb elemzése,
maszkolás,
megszakított programhoz történQ visszatérés megszervezése
17.Mit jelent az I/O megszakítás?
A berendezés vezérlQ egységek, I/O processzorok egy-egy megszakítás generálásával jelezhetik a CPU-nak az I/O mqvelet befejezését. (DMA)
18.Mit jelent a szoftveres megszakítás (INT) és mi a jelentQsége az operációs rendszerek szempontjából?
· A megszakítási jel forrását tekintve egy megszakítás lehet külsô (pl. I/O, Timer, Hardver, & ), vagy belsQ (szoftver megszakítás, angolul: trap).
· Az operációs rendszer (megszakítás feldolgozó rutin) közvetlen feladatai:
· a CPU állapotának megQrzése (a hardver ehhez minimális kezdeti támogatást nyújt);
· a megszakítás okának, körülményeinek részletesebb elemzése;
· "maszkolás";
· a megszakított programhoz történQ "visszatérés" megszervezése.
19. Mit jelent a rendszer hívás?
speciális megszakítás az operációs rendszer szolgáltatásainak igénybevételére
általában assembly szintq utasításként jelen van az architektúrában (INT,Tcc,SC)
magas szintq, rendszerprogramok írására szánt programozási nyelvekbe is beépítették (C)
paraméterátadás módjai a rendszernek: regiszterben, paraméter táblázatban, veremben,módszerek kombinálása, statusword-ok
20. Melyek egy (idealizált) operációs rendszer fQbb komponensei?
folyamat kezelés (process management)
memória kezelés (gazdálkodás)
másodlagos tár kezelés
I/O rendszer kezelés
fájl kezelés
védelmi rendszer
hálózat-elérés támogatása
parancs interpreter rendszer
21. Melyek egy (idealizált) operációs rendszer fQbb szolgáltatásai?
program végrehajtása(program betöltése és futtatása)
I/O mqveletek (fizikai szint: blokkolás,pufferezés)
fájl-rendszer manipuláció(r,w,c,d)
kommunikáció a folyamatok közötti információ csere(ugyanazon, vagy különbözQ gépeken) Shared memory message passing
hiba detektálás (CPU,memória,I/O készülékek,felhasználói programok)
nem közvetlenül a felhasználó támogatását, hanem a hatékonyabb rendszermqködést segítik
erQforrás kiosztás multiprogramozás, több felhasználós mqködés
accounting a rendszer és felhasználói statisztikák
védelem minden erQforrás csak az operáiós rendszer felügyelete mellett érhetQ el
22.A rendszerprogramok szerepe az operációs rendszer használatánál!
rendszerprogramok kényelmes környezetet teremtenek a programok fejlesztéséhez és a program végrehajtásához.
Osztályozásuk:
Fájl manipuláció, státus manipuláció, fájl módosítás, programozási nyelv támogatás, program betöltés és végrehajtás, kommunikáció, alkalmazói programok
felhasználói szemszögbQl nézve az operációs rendszer sokszor a rendszerprogramok együttesével azonosítható
23.Mit jelent a mechanizmus és a politika az operációs rendszer tervezése és implementációja során?
a mechanizmusok meghatározzák, hogy hogyan kell valamit csinálni, a politikák pedig, hogy mit kell csinálni (pl.:timer megszakítás)
a mechanizmus és a politika különválasztása nagyon fontos, maximális rugalmasságot teremt, ha a politika késQbb megváltozik
24. Mi a rendszergenerálás?
az operációs rendszereket úgy tervezik, hogy azok mqködQképesek legyenek egy géposztály minden gépén, Ehhez azonban minden egyes számítógép-környezetre az operációs rendszert konfigurálni kell. Ez a folyamat a rendszergenerálás.(SYSGEN,setup,install)
egy SYSGEN program informálódik a hardver rendszer specifikus konfigurációjáról (pl. milyen a processzor, aritmetika vehetQ alapul, processzorok száma, típusa, rendelkezésre álló memória mérete, perifériális berendezések típusai, megszakítási rendszer tulajdonságai)
tisztázni kell,hogy a rendszer mely szolgáltatásai tényleg szükségesek: multiprogramozási stratégia, hálózat elérés
booting,bootstrap loader rendszer betöltés
25.Mit jelent a folyamat (processzus)? Milyen jellemzQi vannak?
Folyamat(processzus): végrehajtás alatt álló program
jellemzQi: aktív, a memóriában volt/van, program címszámláló értéke, regiszterek értéke, lokális/globális változók értéke, verem állapota, core dumo
26.Mit jelent a processzus vezérlQ blokk (PCB)?
process control block
folyamatok vezérlésére szolgál, tárolja a processzus állapotát(process state:new, ready, running,waiting,halted,sleeping), program címszámláló értékét, CPU regiszterek tartalmát, memória foglalási adatokat, account/user adatokat, I/O státusz információkat (a folyamathoz rendelt I/O erQforrások, állományok listáját)
27. A folyamat állapotai. Hogyan változnak (,mely állapotok között lehet átmenet)?
új(new)
futásra kész(ready)
várakozó(waiting)
futó(running)
befejezett(terminated)
halted, sleeping
új->felvéve->futásra kész
futó->interrupt->futásra kész
futásra kész->ütemezQ intézkedése->futó
várakozó->I/O vagy eseménye befejezQdése->futásra kész
várakozó->I/O eredménye vagy esemény kell->futó
28.Processzus állapot-információk egyes konkrét rendszerekben (UNIX, WIN_NT).
UNIX: ps:a felhasználó aktuális terminálján futó process-eket jelzi ki
Top: teljes rendszer információ összegzést ad és az éppen futó folyamatok listáját
NT: task manager
29.Mit jelent a kaszkád termináció?
processzus megszün(tet)ése (termination) során léphet fel, mert az operációs rendszer nem engedi, hogy a gyermek tovább éljen, mint a szülQ
azt jelenti, hogy a szülQvel együtt elhal az összes gyermeke is
30.Milyen sorokat kezel az operációs rendszer a processzus ütemezésnél?
job queue (muka sor)
ready queue (készenléti sor)
device queue (berendezésre váró sor)
31.Mi a rövid távú processzus ütemezés célja?
folyamatütemezés célja: mindig legyen legalább egy processzus, amelyik képes és kész a processzort lefoglalni.
rövidtávú ütemezQ(short term scheduler, CPU scheduler)
Melyik folyamat kapja meg a következQ alkalommal a CPU-t, gyorsaság a lényeges
32. Milyen alapfeladatokat old meg az operációs rendszer a processzusokkal kapcsolatosan?
processzus létrehozása (kezdeti betöltést kivéve a processzust csak processzus hozhat létre)
szülQ létrehozhat gyermek folyamatokat, majd a gyermekek további gyermekeket (fastruktúra)
erQforrás megosztás:
SzülQ és gyermek közösen használ minden erQforrást
A gyermek a szülQ erQforrásainak egy részét használja
Nincs közös erQforráshasználat
végrehajtás
SzülQ és gyermek konkurens módon fut
SzülQ a gyermekre vár
címtér(adress space)
A gyermek a szülQ duplikáltja
A gyermek betölt egy programot önmaga helyett
processzus megszüntetése(termination)
A folyamat végrehajtja az utolsó utasítást, majd megkéri az operációs rendszer, hogy törölje
33.Mit jelent a szál? Milyen elQnyei vannak a szálak alkalmazásának?
a CPU kiszolgálás egy alapegysége, jellemzQi:
Program címszámláló
Regiszter készlet (tartalma)
Verem tartalma
egy szál megosztva használja a vele egyenrangú (társ-) szálakkal a kód szekcióját, adat szekcióját, operációs rendszer által biztosított erQforrásait, ezek együttesét task-nak nevezzük,(egy hagyományos vagy könnyq súlyú processzus nem más, mint egy task egyetlen szállal)
olyan mechanizmust szolgálnak, amely lehetQvé teszi a szekvenciális processzusoknak a rendszerhívások blokkolását, s közben a párhuzamosság elérését
ElQny: csökken a context-switch végrehajtására fordított idQ!
Egy több szálat tartalmazó task esetén míg az egyik szál várakozik (blokkolt) a másik futhat.(pl. fájl szerver, web-böngészQ)
34. Milyen szolgáltatásokat nyújt az operációs rendszer a folyamatok kommunikációjához?
Az IPC olyan mechanizmust jelent, amely lehetQvé teszi, hogy folyamatok egymással
kommunikáljanak, és akcióikat összehangolják, szinkronizálják.
ÜzenQ rendszer: a folyamatok úgy kommunikálnak, hogy nem rendelkeznek közösen
használható memóriával.
IPC két mqveletet nyújt: send(message) az üzenetek lehetnek fix, vagy változó
hosszúak,
receive(message) példák (UNIX rendszerhívások: send, sendmsg, socket, recv,
recvfrom,
)
Ha a P és Q folyamatok kommunikálni szeretnének, akkor szükségük van egy
kommunikációs vonalra (communication link)
35.Mit jelent a direkt és indirekt kommunikáció?
Direkt kommunikáció
send(P, message) küldj egy üzenetet P-nek (utasítás Q-ban)
receive(Q, message) fogadj egy üzenetet Q-tól (utasítás P-ben)
A kommunikációs vonal ebben az esetben automatikusan épül fel a két folyamat
között (PID ismerete szükséges!)
A vonal pontosan két folyamat között létezik.
Minden egyes folyamatpár között pontosan egy link létezik
Egy, vagy többirányú is lehet.
Termelô-fogyasztó példa
Szimmetrikus/asszimetrikus címzés
Indirekt kommunikáció
send(A, message) küldj egy üzenetet az A Mail-boxba (utasítás Q-ban)
receive(A, message) olvass ki egy üzenetet az A Mail-boxból (utasítás P-ben)
A kommunikációs vonal abben az esetben épül fel a két folyamat között ha közösen használhatják az A Mail-boxot (PID ismerete nem szükséges!)
A vonal több folyamat között létezik (mindenki, aki A-hoz hozzáférhet!).
Minden egyes folyamatpár között több link is létezik, létezhet (Mail-box-függô)
Egy, vagy többirányú is lehet.
Ki kapja az üzenetet? - probléma.
36.Mit jelent a végtelen kapacitású puffer?
Az adó folyamat nem várakozhat(pl egy külsQ folyamat amelyre nincs hatása az operációs rendszernek). A valóságban természetesen a puffer véges így megtelhet és ilyenkor információ vesztés áll fenn (új adat figyelmen kívül hagyása vagy régi adat felülírása a pufferben)
37.Mit jelent a preemptív processzus ütemezés?
beavatkozó: elveszik tQle a CPU-t
rövid távú ütemezési döntéshelyzet áll elQ, ha egy folyamat futó állapotból készenléti állapotba kerül, várakozó állapotból készenléti állapotba kerül, ezen esetekben preemptív processzorütemezés hajtódik végre
38.Értelmezze a processzus ütemezéshez kapcsolódó alábbi fogalmakat: végrehajtási idQ, várakozási idQ, válaszidQ!
Végrehajtási (turnarund, fordulási) idô = ( várakozás a memóriába kerülésre + készenléti sorban töltött idô + CPU-n töltött idô + I/O-val töltött idô.
Várakozási idô (waiting time) készenléti sorban (ready queue) töltött idô
Válaszidô (response time) a kérés benyújtásától az elsô válasz megjelenéséig (nem output!) eltelt idô. (Interaktív rendszerekben a turnaround nem jó jellemzô.)
39. Melyek az FCFS processzus ütemezés elQnyei és hátrányai?
First Come First Served
A folyamatok érkezési sorrendben kapják a processzert és addig használja amíg az kell neki vagy periféria nem vár.
ElQnye: egyszerq biztos és mindegyik folyamat sorra kerül
Hátránya: a folyamatok érkezési sorrendjétQl függQ várakozási idQ
nagy futási idejq folyamat folyamatok egész sorát tartja fel (kamion hatás)
az erQforrások kihasználatlanok
40. Van-e optimális processzus ütemezési stratégia?
41. Mit jelent az exponenciális átlagolás? Mondjon példát az alkalmazására!
Jelölje tn az n-edik CPU foglaltsági ciklus hosszát, t n+1 a következonek jósolt
foglaltsági periódus hosszát.
Definiáljuk a következo foglaltság várható hosszát: Legyen 1³ð ðað³ð0 és
t n+1 = að ðtn + (1 að) t n
példa: nuku
42. Mit jelent a prioritásos processzus ütemezési stratégia?
Prioritási sorrend szerinti kiszolgálás
Prioritás: a processzushoz rendelt egész érték. A kisebb érték nagyobb prioritást jelent.
Prioritási függvény (Az SJF, ill. FCFS is prioritásos kiszolgálásnak tekinthetQ!)
BelsQ és külsQ prioritás.
Preemptív, non-preemptív prioritási ütemezQk.
Problémák: végtelen indefinit blokkolódás = éhezés, éhhalál.
Példa: MIT 1973 IBM 7094: 1967 óta várt egy processzus a CPU-ra!!
Megoldás: aging (unix példa)
A folyamatokat fontosság serint rangsorolja, így a magasabb rendq folyamatot a várakozási sor elejére teszi /FCFS, SJF/
az RR algoritmusnál nagyobb idQszeletet biztosít, így a kevesebb joggal rendelkezQ folyamatok háttérbe szorulnak. Ám elQbb utóbb a kisebb prioritású folyamatok is lefutnak
43. Mit jelent a körleosztásos (Round Robin) processzus ütemezési stratégia?
Minden processzus sorban q ideig (q=10-100 millisec.) használhatja a CPU-t
n processzus esetén a maximális várakozási idQ (n-1)/q
q kicsi: (FCFS !
q nagy:( kontextus váltási költség relatíve megnQ!
Egy bizonyos idQ múlva az ütemezQ elveszi a feladattól a processzort /preemptív/ és az addig futó folyamatot a sor végére küldi és a következQ folyamatot indítja egy bizonyos idQre. Hátránya hogy sok az adminisztrációja.
44. Mit jelent a többsoros processzus ütemezés?
45, Mit jelent a processzus ütemezés esetén a visszacsatolásos sor?
46. Mit jelent az éhezés (starvation)?
végtelen indefinit blokkolódás
sokáig vár egy processzus a CPU-ra
egy folyamat az erQforrás kezelQ statégiája miatt beláthatatlan ideig nem jut erQforráshoz
47. Mi a kritikus szakasz probléma?
n folyamat verseng egy bizonyos (közös) adat használatáért
Mindegyik folyamatnak van egy kódszegmense, ahol ezt a bizonyos adatot eléri (olvassa/írja): ez az ún. kritikus szakasz.
Probléma: hogyan biztosítható, hogy amíg egy processzus a kritikus szakaszát hajtja végre, addig egyetlen más processzus se léphessen be a saját kritikus szakaszába.
48. Milyen követelményeket kell kielégítenie a kritikus szakasz kezelésének?
Kölcsönös kizárás(nem lehet egynél több processzus a kritikus szakaszában)
Progresszió (a kiválasztás (futásra) nem késleltethetô határozatlan ideig)
Korlátozott várakozás (minden igény kiszolgálása megkezdôdik korlátozott számú kritikus szakasz végrehajtása után)
49.Mit jelent a processzusok szinkronizációja kapcsán a kölcsönös kizárás elve?
nem lehet egynél több processzus a kritikus szakaszában
50.Mi az entry és extern kódszekciók funkciója a kritikus szakasz kezelésében?
Hogy biztosítva legyen az, hogy amíg egy processzus a kritikus szakaszát hajtja végre addig egyetlen más processus se léphessen be a saját kritikus szakaszába.
51.A szemaforok mint szinkronizációs primitívek (eszközök).
Tfh van két folyamat ami egy közös memória területet használ és azon keresztül kommunikál egymással. Az egyik folyamat a termelQ ami adatokat ír a memóriába a másik a fogyasztó aki onnan adatot olvas ki. Nyilván a memória kölcsönös kizárást igénylQ erQforrás hiszen amíg termelQ a memóriába ír addig a fogyasztó onnan nem olvashat ki ill. fordítva. Rendeljünk a folyamatokhoz egy szemafortot. Ez egy változó a memória területén amit mind a két folyamat elér és olvasni tud. Legyen a szemafort érteke 0 ha a folyamat használja a területet és 1 ha nem használja a területet valamelyik folyamat. Mivel kétféle dolgot jelez a szemafort ezért azt bináris szemafortnak nevezzük.
52.A monitor mint szinkronizációs primitív (eszköz).
magas szintq szinkronizációs eszközök (szikronizációs primitív), amelyek lehetQvé teszik egy absztrakt adattípus biztonságos megosztását konkurens processzusok között.
formálisan: a monitor eljárások, változók és adatszerkezetek együttese, amelyek egy speºúü
& ( ÎV` b f ¢ ¤ Ä 4prvx|26ÔÖlpü(h8!!!
" "#è#ª$Ù$Ú$Ü$T&î&ð&''B'T''Ê'Ü'Þ'÷ï÷ïëçãçãßãßÛÔ÷ïÌÅÁºÁºÁº÷ï÷ïµ±÷ïÛÛ©©©¥©¥÷ïÛh.¿h5h÷&x
hÇ0thÇ0th±MÚhÇ0th-S|hÈÄ hgeF5
h¬Ch¬Ch¬C
h¬C5\h8-ãh.¿5
hwh:7ühì5h:7üh(-Uh|Aèhwh8-ãhgeF5h8-ãh¹$59üb ¤ x2ÖlþÚ$T&'Þ'î(|)
*à*ü2Ö3÷ë÷ßÖ÷É÷½÷¥¥¥÷¥¥ 7$8$gd8-ã
&
F
Æ th7$8$^h`gd5
h7$8$^hgd±MÚ
Æhh^hgdÈÄ
Æhgd
-
h7$8$^hgd8-ã
h7$8$^hgdy 7$8$gd.¿¬ÇýÞ' ((ì(î(ò(z)|)
*
*8*W*X**°*±*à*N,,.-0-V.X.z.|./0/p/r2ø2ú2ü23Ö32565v5x5Ö5Ø5@6k6l6º6»6ý6þ6è8ê8ä9æ9ú;==T=V=j?8@<@>@r@üøüñéáÙÒÎÒÊÎÒÊÎÒÆÂÆÂÆÂÆÂÆÂÆÂ¾Â·éᳯ³¯³¯³ü¯ü¯ü«§«§«§£§£¾£«£é
h¬Cho-0ho-0h&jãh¤Âh]Zbh¬C
h(]¥h(]¥hC½hBh(]¥h/h5
h8eÀh/h8-ãh÷&x5h8-ãhgeF5h8-ãh¹$5
h÷&xh÷&xh.¿h÷&x<Ö34N5Ø5@6l6»6ý6è8ä9"
?j?>@r@çÛÏçÇç篯¯¯¯¯¯ 7$8$gd.¿
&
F
Æ tLÿ7$8$^`Lÿgd¤Â
&
F
Æ tLÿ7$8$^`Lÿgd&jã 7$8$gd8-ã
h7$8$^hgd]Zb
h7$8$^hgd8-ã
&
F
Æ th7$8$^h`gd]Zbr@¨@ª@AABBCC¼C¾CøCúCÎDÐDèDêDþDEE EEE¼H¾HÄHIIIXJZJÜJÞJÎKÐKMMhN¾NÀN&O(O.OO:P
QhQjQ\R^RSSºSÜSîSðSòSøSDTüøüôüôüøüôüíøåøåøåøåøåøàØÐÌôÌÈÌôÌôÌôÌÄÈĽØÐ¹ô¹ô¹ô¹ô¹üµ±±¦Ðh8-ãhP_q5
h2hü¶h= dh
-]hü¶hP_q
h2h8h8h¤ÂhgeFh8-ãhgeF5h8-ãh¹$5 h.¿5h2h.¿5
h¹$h¹$h]Zbh.¿h¹$
QjQ^RS¾SòSççççÛÓççççç»»Óççççççç
&
F
Æ tLÿ7$8$^`Lÿgd¤Â 7$8$gd
-
h7$8$^hgd8-ã
&
F
Æ th7$8$^h`gd]ZbòSFTüT6V@WFXXÎXÛYÊZ [J[H\ê\4]$^x^Â^Z_÷ßßßßßßÓ»³ßßßß§§
³7$8$^³gd]Zb
³7$8$^³gd8-ã 7$8$gd
-
&
F
Æ th7$8$^h`gd
h7$8$^hgd= d
&
F
Æ th7$8$^h`gd]Zb 7$8$gd]ZbDTFTúTüT4V6V>W@WEXFXXXÍXÎXY2YzY{YÛYïYªZÈZÊZÐZ [H[J[F\H\è\ê\ì\v^x^z^,`.`4`N`p`Ú`Ü`pc2d4d:dìdîdêgðgZhjjljúöúöúöúöúöúöîöêöêöæâÞ×ÏÇÿÿÿ»Ã¿»Ã´ÏǩǤǤÇ
¿hÑ*h8-ãhÑ*5h8-ãhÈÄ5hÈÄ
h$
hÈÄ hgeF5h8-ãhgeF56]
hR[ÇhR[Çh9XCh]ZbhR[Çh8-ãhgeF5h8-ãh¹$5
hP_qh= dhÞ »h5zuh h= dh]ZbhZ[5hZ[ h]Zb54Z_.`Ü`§bqc¬c¶c2d4dîdêgZhljöj
lâlmVmÌmóëâââÚÚëëÍëµµµµµ
&
F
Æ tÐ7$8$^Ð`gd)
&
F
Æ th7$8$^h`gd]Zb
Æhh^hgdÈÄ
&
F&gdÈÄh^hgdÈÄ 7$8$gd
-
³7$8$^³gd8-ãljjjôjöjl
làlâlmmTmVmÊmÌmâmämVnXn^nnn´nÄnÚnànân
o$opovoxo|o¬o®o´o|p~pqq6q8q:qTq@rlr¼r¾rsÄsttüõüñüñüñüíüéüéüéüâÚÒͺ²«²Â£Â«£ºÂÚÒh8-ãhÈÄ5hÈÄ
h-UhÈÄ hgeF5hkzBhuq5 hkzBOJQJ
hkzBh) h) OJQJ hjHOJQJ hjHhuqOJQJ hkzB5h8-ãhgeF5h8-ãhj·5
hÑ*hÑ*h) hjHh]Zb
hjHhÑ*hÑ*3ÌmämXnn®o~p¤q
&
F
Æ th7$8$^h`gd]Zb 7$8$gd]ZbÄ`ÄgdÈÄh`hgdÈÄh^hgdÈÄ 7$8$gd
-
h7$8$^hgdkzB 7$8$gdkzB
&
F
Æ tÐ7$8$^Ð`gd) ttBtDtÞtàtuu0v2v"w$w*w¦wðwòw,x.xZx\xxxx xÀxÂxôxöx.y0y6yºy"z$zzzÐzÒzÀ{Â{H|J|ø|ú|z}|}ä}æ}~~~ ìî>@ ÞäæÜÞä÷ïêæêæêæêæÞ÷ïÚÖÚÖÚÖÚÖÚÖÚÖÚÖÚÏ÷ïÚÖÚÖÚÖÚÖÚÖÚÖÚÖÚÖÚÏ÷ïæÖæÖæÈÀï¼Ö¼µ©h8-ãhý{5CJaJ
hM~MhM~MhM~Mh8-ãhM~M5
hðh,hðh,
hj·hj·h]Zbhj·h]Zbhðh,5hðh, h]Zb5h8-ãhgeF5h8-ãhj·5@2v$w¦wòw.x\xx xÂxöx0yºy$zzÒzÂ{J|ú||}æ}~ î
@çßççççççççßçççççççççßççÓ
h7$8$^hgd]Zb 7$8$gd
-
&
F
Æ th7$8$^h`gd]Zb@ÞæÞ
"
däNxØ~$4\Êì \çßççßççççßÓçßççßçççççççç
h7$8$^hgd8-ã 7$8$gd
-
&
F
Æ th7$8$^h`gd]Zbä
à"
bdjäLNvx~Ø|~$24Z\~ÈÊêì Z\ª¬xz¦ªHJjlóçãßãßãßãØÐÈÄãĽµÈ±ß¦µÈÄßÄßÄßÄßÄßßÄßÄßÄßÄßĵÈß
hjhjhjh
h,·h,·
h
¿h
¿h9>îh
¿h8-ãh,·5
hý{h,·h,·h8-ãhgeF5h8-ãhý{5
hý{hý{h]Zbhý{h8-ãhý{5CJaJh8-ãhgeF5CJaJ6\¬z¤Jl¶ÎNÞBèÆ4ÖDçççßçÓçßççßçççß»»¯ß»
h7$8$^hgd8-ã
&
F
Æ th7$8$^h`gd$Xc
h7$8$^hgd]Zb 7$8$gd
-
&
F
Æ th7$8$^h`gd]Zb lr¶ÌÎLNTÞ@BèÔÖÜBD²´º> *¡,¡.¡ò¥ô¥ú¥¤¦
§X§Ö§Ø§4¨~¨¬¨®¨â¨ä¨ì¨P©^©n©p©r©~©©©©
ªªJªnªª÷ïëçëà÷ïÜçÜçÜÕ÷ïÜÕÍïÉÅɾÍïëºÅë³«ï¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤¤ ¤ ¤ ¤ hx ß5h8eÀhx ß5hx ß
h8eÀhx ßh8-ãhx ß5
hD6hD6h9XC
ht$Mht$Mh$Xcht$Mh8-ãht$M5
hó
0hó
0hó
0
hóghD6h]ZbhD6h8-ãhgeF5h8-ãhó
05:Dú$þ@X¨ÚFªö´> È ¡.¡N£x¤ô¤ççÛÛÛçÛÛçÛÛçÛÓçÛÛÇÇçç
h7$8$^hgd$Xc 7$8$gd
-
h7$8$^hgd8-ã
&
F
Æ th7$8$^h`gd$Xcô¤ô¥¤¦L§Ø§t¨®¨T©r© ª!ªjªªËªàª&«p«È«õ«/¬t¬¬À¬ì¬óëÓÊÓÊÓÊÊÊÓÊëÓÊÊÊÊÊÊÊÊÊ
Æhgd8-ã
&
F
Æ th7$8$^h`gd$Xc 7$8$gd
-
h7$8$^hgd
-ªªªËªàªêªîª&«1«8«E«F«p«{«¨«Ó«ß«à«õ«ÿ«/¬:¬t¬¬¬¨¬À¬Ê¬ë¬ì¬ IPß®å® ¯
¯
¯5¯6¯°±Ú±Ü±â±:²"´$´*´µ"µPµVµ`µüôìåàØåàØåÔåÔåÔåÔåÔåÔåÔåÔåÔåÔåØåØåÔåÍÅìÀ¼¸´Åì©¢Åì
h8eÀhq&h8eÀhq&5
hq&hq&hq&
h§_h§_hµW&h6kh} hgeF5h8-ãh^J!5
h^J!h^J!h^J!h8eÀh^J!5 h^J!5
h8eÀh^J!h8-ãhgeF5h8-ãhq&5hx ß6ì¬I$®n®À®ß®
¯6¯Ü±:²~²$´µ¶l¶·d¸¸|¹çÚÚÚÚÚÚÕÍÁÍççÍçççÍÍÍ
h7$8$^hgd1 7$8$gd
-gd
-
Æhh^hgd8-ã
&
F
Æ th7$8$^h`gd$Xc `µbµ¶-¶l¶v¶···b¸d¸j¸l¸n¸|¸¸¸®¸¹¹z¹|¹¹î¹ð¹ºrººÖº
»J»L»R»¶»¼»è»&¼L¼N¼^¼d¼¸¼öïçïçïàØÐËÇÃÇÃÇÿ»·³¿³¯³¯«§£ÐÐÐËvhÈÄhÈÄ6]
hÈÄhÈÄ hQl5h8-ãhÖFÓ5
h®|hLùh®iUh rhÆuBhK`¾hChLùhøY h-BhÚ.gh®|h2yhä?q hgeF5h8-ãhgeF5h8-ãh^J!5
hq&hq&h8eÀhq&5
h8eÀhq& jåðh8eÀhq&)|¹ð¹L»¶»N¼ð¼,½¶½è½¾z¾Ì¾¿(À\ÀºÀ8ÁÈÁÂJÄççßßÖÖÖÖÖß¾¾¾¾¾¾µ¾©
h7$8$^hgd®iU^gdQl
&
F
Æ th7$8$^h`gd$Xc 7$8$H$gdÈÄ 7$8$gd
-
&
F
Æ th7$8$^h`gdøY ¸¼¼¼Ä¼¤½¬½¶½º½Â½Æ½Ê½Ð½Ú½Ü½à½ä½æ½¾¾x¾z¾Ì¾¬¿®¿$À&À4ÁDÁÂÂÂØÂRÃÒÃHÄJÄPÄâÄäÄèÅúÅüÅ
ÆÆÆnÆpÆüÆ ÇÇÚÇðæßÒßðæßÒæßÒßðæßʽ¶¯«¯«¯«¯«§£Ê½¯«¯«¯«~~hÕJÕh=FÅ jÞðhðY²hQl
hQlh®iUhÉ_:h>yhxJ|hæ^©h®iUhQl
hðY²hQl
h®iUhQl hgeF5h8-ãhgeF5h8-ãhÖFÓ5hÈÄhÈÄOJQJ^J
hÈÄhÈÄhÈÄhÈÄ6]hÈÄhÈÄ6OJQJ]^J1JÄäÄzÅèÅ
ÆpÆ*ÈÈ ÉfɤÉêÉ ÊèÊ^Ë(ÌÎÌÍfͱÍ$ÎtÎ÷ßßßßÓ÷÷÷ßßß÷ßßß÷ßß»÷
&
F
Æ th7$8$^h`gdª
h7$8$^hgd=FÅ
&
F
Æ th7$8$^h`gd$Xc 7$8$gd
-ÚÇ(È*È0ÈÈÈ ÉÉdÉfÉêÉÊ Ê¦ÊèʺËìËöËøËÌ&Ì\Ì{Ì|ÌÍÌÎÌÑÌÍ,Í-ÍdÍeÍrÍsÍ¯Í°ÍÆÍÈÍàÍÿÍÎ"Î#Î$Î'ÎsÎtΫάίÎÿÎÏ Ï£ÏüõíåíåíåàÜØÑíåÊÆÂÆÊºÊÂÆÊ³í嬨¬¨¬¨¬¨¬¨¬¨¤¬¨íåàÜíåàh8-ãhDÓ5
hÈÄhÈÄ
hQlhQl
h}9Wh}9Whªh}9W
hO/h}9W
hÖFÓhÖFÓhO/hÖFÓ6hÖFÓh$Xc
hO/hÖFÓ
hQlhr;~hr;~hQl hgeF5h8-ãhgeF5h8-ãhÖFÓ5
hQlh=FÅhú:%5tάÎÏ ÏÜÏ}Ó²ÓRÕ,b®hª$n ø çßÚßÎÆ®®ççççç
Æhgd
-
&
F
Æ th7$8$^h`gdû
&
F
Æ th7$8$^h`gdª 7$8$gd ]o
h7$8$^hgd ]ogdÈÄ 7$8$gd
-
&
F
Æ th7$8$^h`gd$Xc£ÏÛÏÜÏ8ÐNÑÔÑäÑæÑ
Ò-Ò.ÒLÒdÒhÒ|Ò}ÒÒµÒÑÒëÒìÒþÒÓ,Ó{Ó|Ó}ÓÓÔdÔ¢Ô¤ÔPÕRÕæÕøÕúÕÖ\N`¬TVfh¨ª°÷òëäÝÖÝÖÏËÏËÇÃÇÃÇÿ»¿»¿·»°¨÷¡¡¡¡¡¡¡¡¡¡¨h
-hûh=
hW¨5UhªhW¨
h=
hW¨h8-ãhDÓ5
h( yh¼]!h¿[=húh'bhºphý
Ðh( y
h( yhmmé
h( yháFÈ
h( yh H^
h( yh±qÕ
h( yh ]o hgeF5h8-ãhgeF55ciális csomagba vannak integrálva. A processzusok hívhatják a monitorban levQ eljárásokat, de nem érhetik el közvetlenül annak belsQ adatszerkezetét.
Speciális típus: condition
Speciális mqveletek: x.wait, x.signal
A monitor azt kívánja biztosítani, hogy egy idQben csak egy processzus legyen aktív (rajta).
Megvalósítás: pl. szemaforokkal.
53.A kritikus régió, mint szinkronizációs primitív (eszköz).
Magas szintq szinkronizációs eszköz.
Egy megosztott változó v, amelynek típusa T, deklarációja (var v: shared T;)
A v változó csak az alábbi alakú utasításokon keresztül érhetQ el (region v when B do S;) ahol B egy logikai kifejezés.
Amíg az S utasítás végrehajtás alatt áll, másik processzus nem érheti el a v változót.
Ha a processzus megpróbálja végrehajtani a region utasítást, a B logikai kifejezés kiértékelQdik. Ha B igaz, az S utasítás végrehajtódik. Ha hamis, akkor a processzus végrehajtása késleltetQdik addig, amíg a kifejezés igaz nem lesz és egyetlen más processzus sincsen a v-hez kapcsolt régióban.
Példa: korlátos puffer problémája
Implementáció: pl. szemaforokkal
54. Ismertesse az írók és olvasók problémáját!
Egy adatot, állományt több processzus megosztva, párhuzamosan használ, egyesek csak olvassák, mások csak írják. Hogyan biztosítható az adatok konzisztenciája?
Stratégiák:
1.Minden olvasó azonnal hozzáférhet az adatokhoz, hacsak egy író nem kapott már engedélyt az írásra.
2.Egy író azonnal írhat, ha erre kész és más írók éppen nem írnak.
Mindkét stratégia éhezéshez (starvation) vezethet, de van megoldás.
55.Ismertesse az vacsorázó filozófusok problémáját. Miért/hogyan vezethet holtponthoz?
Egy köralakú asztal mellett öt filozófus ül, mindegyik elôtt van egy tányér rizs és a szomszédos tányérok között egy-egy evô-pálcika.
Evéshez a filozófus a saját tányérja melletti két evôeszközt használ-hatja úgy, hogy ezeket egymás után kézbe veszi.
Ha befejezte az étkezést, vissza-teszi az eszközöket, és gondolkodni kezd.
Majd újra megéhezik, stb.
Példa számos konkurencia kontroll problémára.
5 kínai bölcs ül egy kerek asztal körül. Mindegyik elQtt ott egy tányér rizs és a szomszédos tányérok között egy-egy pálcika. Az evéshez két pálcika kell, ezért egy bölcsnek mind a jobb-, mind a baloldali pálcikát meg kell szereznie, hogy elkezdhessen enni. Ha egy bölcs eszik, akkor egyik szomszédja sem tud, hiszen legalább az egyik pálcikája hiányzik hozzá. Ha mindegyik bölcs egyszerre jut arra a döntésre, hogy elQször a bal-, majd a jobboldali pálcikát veszi kézbe, mindegyiknek csak egy pálcika jut senki sem tud enni, HOLTPONT-ra jutnak. Ebben az esetben feltehetQen születik megoldás, hiszen bölcsekrQl van szó. Ez azonban az egymásról mit sem tudó folyamatok esetén nem várható. Egy felsQbb erQnek, az operációs rendszernek kell rendet teremtenie, például úgy, hogy egyiktQl elveszi a pálcikát és a szomszédjának adja.
56. Ismertesse a Bakery algoritmust!
Minden processzus kap egy sorszámot, mielôtt belép a kritikus szekciójába (ticket). A legkisebb sorszámú processzus hajthatja végre a kritikus szekcióját.
Ha Pi és Pj sorszáma megegyezeik, akkor a kisebb indexq jogosult a kritikus szekciójába belépni.
A sorszámozó rendszer mindig monoton növekvô sorszámokat generál.
Pl.: 1,2,2,3,3,3,4,4, ...
Jelölés: < jelentse a (ticket #, process ID) párra definiált lexikografikus rendezést.
Algoritmus:
- közös változók
var choosing: array[0..n-1] of boolean;
number: array[0..n-1] of integer;
{kezdeti érték: i= 0,1, ... , n-1 -re choosing[i]:=false, number[i]:=0.}
Processzus Pi
repeat
choosing[i]:= true;
number[i]:=max(number[0], ... , number[n-1])+ 1;
choosing[i]:=false;
for j:=0 to n-1 do
begin
while choosing[j] do no-op;
while number[j] ( 0 and (number[j],i)<(number[i],i) do no-op;
end;
kritikus szekció
number[i]:= 0;
maradék szekció
until false;
57. Mit jelent a logikai és fizikai címtér?
Logikai cím = a CPU által generált cím(virtuális cím)
Fizikai cím= a Memory Management Unit (MMU) által generált cím (reális cím)
fordítási és betöltési idQben csak a logikai címtér(címhozzárendelés) érhetQ el
logikai címet az MMU képezi le fizikai címmé
58. Mit jelent a tárallokálásnál a worst fit (legkevésbé megfelelQ) stratégia?
foglaljuk le a leghosszabb lyukat (ha az elég hosszú)
59. Mit jelent a tárallokálásnál a firs fit (legelsQ megfelelQ) stratégia?
foglaljuk le az elsQ lyukat, amely elég hosszú
60.Mit jelent a tárallokálásnál a best fit (leginkább megfelelQ) stratégia?
foglaljuk le az elég hosszú lyukak közül azt, amelynek hossza legközelebb esik a szükséges hosszhoz
61. Mi a külsQ fragmentáció?
Azt jelenti, hogy az összeségében rendelkezésre álló hely elegendQ, de ez apró részekben jelenik meg, ahová viszont nem fér be egyetlen folyamat sem,
62. Mi a belsQ fragmentáció?
Az az eset, amikor tárkezelési eljárások egy csoportjánál a rendszer nagyobb tárterületet foglal le, mint amennyi szükséges, ezért a lefoglalt terület egy része kihasználatlan marad.
63. Hogyan épül fel a laptábla?
minden logikai laphoz tartalmaz egy bejegyzést, amely a logikai lapot tartalmazó keret fizikai címe + más információk
64. Mit jelent az, hogy egy lap megosztott?
<
65.Mit jelent az invertált laptábla?
minden egyes fizikai laphoz(frame-hez) tartalmaz egy bejegyzést (entry). Egy bejegyzés az adott frame-ben tárolt logikai lap virtuális címét és annak a processzusnak az azonosítóját tartalmazza, amelyikhez a frame tartozik
csökken a laptáblák tárolásához szükséges memória mérete, de nQ a tábla átnézéséhez keresési idQ a lapreferencia felmerülése esetén
Hash megoldásokkal a keresési idQ csökkenthetQ
66. Mit jelent az igény szerinti (kényszer) lapozás?
· Csak akkor töltsünk be egy lapot a memóriába, ha szükséges
· Kevesebb I/O szükséges
· Kevesebb memória szükséges
· Gyorsabb a válaszidQ
· Több felhasználó jut lehetQséghez
· Szükséges egy lap, ha egy aktuális (logikai) címhivatkozás rá utal.
· Érvénytelen címhivatkozás Þ abortálás
· A lap nincs a memóriában Þ be kell tölteni a memóriába
· Validációs (valid/invalid) bit (v) szerepe a laptáblában: [v=0] Þ [page fault]
· Page Fault (laphiba)
· Az elsQ hivatkozás a lapra biztosan laphibát okoz.
· Az operációs rendszer eldönti, hogy a hivatkozás
· maga is hibás-e (abortálás), vagy
· a lap nincs a memóriába betöltve.
· Üres keret (frame) keresés.
· Lap betöltése a keretbe.
· A megfelelQ táblaelemek beállítása (v=1, stb...)
· A hivatkozott (gépi) utasítás végrehajtásának folytatása (restart).
· Mi történik, ha egy hiányzó lap betöltéséhez nincs szabad (üres) frame a memóriában?
· Algoritmusok az áldozat lap kiválasztására és hatásuk az átbocsátó képességre (cél: a page faultok számának minimalizálása)
· A kényszer-lapozás teljesítQ képessége
· laphiba (page fault) arány: 0£p£1 (p=0: nincs laphiba)
· A módosított (dirty) bit szerepe a lapcserére fordátott idQ redukálásában
· Effektív elérési idQ (EAT: Effective Access Time)
EAT= (1-p) * memória elérési idQ ++ p( a laphibával kapcsolatos póttevékenység·+ [az áldozat-lap kimentési ideje]+ a hivatkozott lap betöltési ideje+ újraindítási idQ)
67. Mi a FIFO laphelyettesítési algoritmus?
FIFO (First In First Out) algoritmus
Az áldozatot (azaz a memóriát elhagyni kényszerülQ megfelelQen jelöljük ki!
ElQny: csekély hardver támogatás szükséges!
68. Mi a Bélády anomália?
abból, hogy több frame van, nem következik, h kevesebb lesz az laphiba
69. Ismertessen egy optimális laphelyettesítési algoritmust!
Optimális algoritmus (OPT/MIN)
Létezése: véges probléma, létezik minimum.
Azt a lapot helyettesítsük, amelyiket a leghosszabb ideig nélkülözni lehet (mert nem lesz rá szükség!).
Hogyan lehet implementálni? (Tisztán nem lehet!)
Esetleg predikcióval megkísérelhetô az implementáció.
Hasonlóság az SJF processzus ütemezéshez.
Elméleti jelentôsége: segítségével az egyes algoritmusok összevethetQk, értékelhetQk.
70 Ismertesse az LFU / LRU / MFU laphelyettesítési algoritmust?
Legrégebben használt (LRU Least Recently Used) algoritmus
Azt a lapot helyettesítsük, amelyiket a leghosszabb ideje nem használunk.
Counter (számlálós) implementáció:
Globális számláló (S): minden memória hivatkozáskor 1-gyel nô.
Minden f fizikai laphoz tartozik egy Sf lokális számláló, amely minden f-re történô hivatkozáskor felveszi S értékét: Sf=S.
A lokális számlálók értékének összehasonlításával eldönthetô, melyik lap legyen az áldozat?
Verem implementáció:
A fizikai lapsorszámokat egy verembe helyezzük úgy, hogy a legutoljára használt legyen a tetején (ekkor a legrégebben használt lap a verem alján van).
71. Ismertesse a második esély laphelyettesítési algoritmust!
a referencia bitet is tartalmazó lapokat ciklikusan vizsgáljuk
ha a referencia bit 0, akkor a lap áldozat lesz
ha a referencia bit 1, akkor lenullázzuk,de a lapot benn hagyjuk (second chance)
helyette a következQ lapot vizsgáljuk az elQzQeknek megfelelQen
speciális eset, ha minden bit 1, (FIFO)
Kiterjesztve:
a referencia és módosítás biteket is használja
négy lehetQség: (0,0),(0,1),(1,0),(1,1) jelentése. Osztályok
az elsQ nem üres osztály elsQ elemét távolítjuk el
alkalmazás: Apple Mcintosh
72. Mit jelent a szegmentálás, mint memóriakezelési technika?
A szegmentálás egy memóriakezelési módszer. Célja a memória több címtérre bontása.A memóriát logikailag részekre un. szegmensekre osztják, és minden résznek megvan a saját, 0-tól kezdQdQ címtartománya. Egy memóriacím így két részbQl áll, egy szegmenscímbQl és egy eltolási- (offset) címbQl, azaz a memória kétdimenziós.
Két szinten valósul meg, hardver és operációs rendszer szinten. A HYPERLINK "http://hup.hu/wiki/index.php/Lapoz%C3%A1s" \o "Lapozás" lapozással ellentétben ez nem marad rejtve a felhasználó (programozó) elQtt. Szegmentálás nélkül egyetlen egydimenziós címterünk lenne, pl.:0-100 címig. Tegyük fel, hogy a programunk két folyamatosan növekvQ méretq memóriaterületet használ. ElQfordulhat, hogy az elsQ a 0-49. címig tart, a második az 50-tQl 80-ig. Az elsQ memóriaterületet nem tudjuk tovább növelni, pedig még lenne szabad memória a 81-tQl kezdQdQen. A megoldás a szegmentálás. Létrehozunk egy-egy szegmenst a két memóriaterület számára, mindkettQ a 0. címtQl kezdQdik, így mindkét memóriaterületet addig tudjuk növelni amíg a memória el nem fogy.
A szegmensekhez elérési jogok tartoznak:írható, olvasható, futtatható. Így például a programunk nem írhatja felül saját magát, mert a programkódot egy olyan szegmensben tároljuk, amely csak futtatható.
A szegmentálás hasznos osztott programkönyvtárak használata esetén is. Ha a függvények külön-külön szegmensben helyezkednek el, akkor a programkönyvtár újabb verziójával a függvények kezdQcíme nem fog megváltozni, még akkor sem, ha a méretük megváltozik.
Kétféleképp lehet megvalósítani: cseréléssel és lapozással. Cserélésnél a rendszer a memóriában csak néhány szegmenst tárol. Kezdetben a szegmensek folyamatosan helyezkednek el. Ha a memória betelt, és egy olyan szegmensre van szükség, amely nincs benn a memóriában, helyet kell neki csinálni, azaz ki kell egyet írni a lemezre. Mivel egy szegmenst csak a vele legalább egyenlQ méretq helyre tudunk beilleszteni, a memória elQbb-utóbb lyukacsossá válik -mivel a pontos illeszkedés valószínqsége csekély- , ezt hívják külsQ elaprózódásnak. Ennek elkerülésére több módszer lehetséges.
Az egyik, hogy a szegmenseket a memória eleje felé tolják, így a sok apró lyuk helyett a memória végén egy nagy lyuk keletkezik. Egy másik, hatékonyabb módszer, hogy olyan szegmenseket írnak ki a lemezre, amelyek két lyuk közé esnek, így a lyukak mérete nQ.
Lapozásnál nem teljes szegmensek cserélQdnek, hanem ezeket a rendszer fix méretq részekre -lapokra- osztja. Ezeket a lapokat írja ki, vagy olvassa be. A klasszikus lapozáshoz képest, a különbség csak annyi, hogy minden szegmensnek külön laptábla kell.
73. Ismertesse egy felhasználói program feldolgozásának lépéseit!
forrás program -> compiler/assembler(fordítási idQ)->tárgymodul->kapcsolat szerkesztQ+más tárgymodulok(betöltési idQ)->betölthetQ modul(betöltési idQ)->betöltQ+rendszer könyvtár(betöltési idQ)->végrehajtható program a memóriában+dinamikus rendszerkönyvtár(futási idQ)
74. Mi a dinamikus betöltés?
Egy szubrutin nem töltQdik be, amíg meg nem hívódik. Minden szubrutin a lemezen található áthelyezhetQ bináris formában.
A hívó rutin elQször tisztázza, hogy a hívott benn van-e a memóriában. Ha nincs, akkor aktivizálódik az áthelyezQ betöltQ, és a betöltés után a program címhivatkozásai (címtáblázat,címkonstansok) módosulnak.
A nem szükséges rutinok soha nem töltQdnek be!
Nincs szükség speciális operációs rendszer támogatásra (a futtató rendszer - run time system saját hatáskörén belül megoldja).
75. Mi a dinamikus szerkesztés?
Statikus szerkesztés: a nyelvi könyvtárak úgy kezelQdnek, mint bármely más (felhasználói) object modul. Probléma: a gyakran használt rutinok sok-sok végrehajtható program kódjával együtt letárolódnak. (lemez-pazarlás!)
Dinamikus szerkesztésnél nemcsak az (áthelyezQ) betöltés, hanem a (szimbolikus) kapcsolat szerkesztés is kitolódik a futási idQre. Egy kisméretq kód (stub=csonk) helyettesíti a szükséges rutint a végrehajtható program kódjában, amely segítségével a szükséges rutin a memóriában (ha az memória rezidens), vagy a lemezes könyvtárban lokalizálható. A lokalizálás után (következQ alkalommal) a rutin már direkt módon hajtódik végre (nincs újra töltés!).
További elQnyök: könyvtár módosítások, verziók, bug fixes, patches, service pack, shared library.
Operációs rendszer támogatás: védett területre betöltött rutinok elérése.
76. Mi az overlay?
felhasználói program logikájába (szubrutin struktúrájába) beépített dinamika
alapötlet: a teljes programnak (kód és adat) csak az a része legyen benn az operatív memóriában, amelyre ténylegesen szükség van
-pl: többmenetes fordítók, assemblerek
77. Mi a kapcsolatszerkesztQ (linkage editor)?
más néven linker
különbözQ idQben fordított tárgymodulokból össze tud rakni egy programot
78. Mit jelent a POP(3)?
Post Office Protocol 3
Levélletöltésre használt protokoll, általában a MUA(MUA=Mail User Agent, levél kézbesítQ ügynök.) kezdeményezi a POP3 kapcsolatot a szerver felé, ahová a felhasználó levelei megérkeznek, és tárolódnak letöltésükig.
79. Mi a futtató rendszer (Run Time System)?
A fordító programok által generált tárgykódokat a szerkesztQ program önti végleges formába. Az elkészült futtatható programot ezen idQpont után az operációs rendszer kezeli, és futtatja. A futtatás háromféleképpen történhet:
Direkt futtatás: a generált kód az adott mikroprocesszor gépi kódú utasításait tartalmazza. Ennek megfelelQen az utasítássorozatot az operációs rendszer egyszerqen átadja a mikroprocesszornak és megadja a program kezdQ pontját. A processzor e pillanattól kezdve önállóan végrehajtja a következQ utasítást, követi az ugrási pontokat, írja és olvassa a memória hivatkozott területeit anélkül, hogy tudná valójában mit csinál a program az adott ponton.
ElQnye:
a maximális végrehajtási sebesség
Interpreterrel futtatás: a fordítóprogram ekkor nem generál közvetlenül végrehajtható gépi kódú utasításokat, hanem egy köztes kódot, ahol az eredeti programozási nyelv utasításai vannak számkódokká átfordítva, a paraméterei is már feldolgozott, egyszerqsített formában kódoltak. Ezt a tárgykódot egy futtató rendszer (az interpreter) futás közben utasításonként elemzi, és hajtja végre az elQírt szabályok szerint. ElQnye:
A futtató rendszer a lefordított kódot még végrehajtás elQtt elemzi, szükség esetén az utolsó pillanatban korrigálja, pontosítja.
Ilyen rendszerekben az is megoldható, hogy a változókat nem kell deklarálni explicit módon. Megoldható az is, hogy a változó típusa futás közben derüljön csak ki, vagy akár menet közben többször meg is változzon. Ha nem megfelelQ, akkor vagy leáll hibaüzenettel, vagy törli a nem megfelelQ típusú változót és létrehoz egy megfelelQ típusút helyette.
Sokkal rugalmasabbak.
Sokkal biztonságosabb. A felügyelQ interpreter idQben leállíthatja a futó programot, amennyiben azt nem találja megfelelQnek.
Hátránya:
lassú a futtatás
a generált tárgykód az adott programozási nyelv szintaktikai lenyomatát hordozza, nem univerzális. Egy ilyen tárgykód -ból az eredeti forráskód általában szinte veszteség nélkül helyreállítható
Virtiális futtatás: ez az interpreteres elv módosítását jelenti. A fordító nem direktben futtatható gépi kódú programot generál, hanem egy nem létezQ (virtuális) processzor virtuális gépi kódjára generál programot.
A generált kód már nem feltétlenül hasonlít, nem feltétlenül hordozza az eredeti programozási nyelv szintaktikai lenyomatát, belQle az eredeti forráskód csak veszteségesen állítható helyre.
A virtuális futtatás elQnye, hogy amennyiben egy programozási nyelv fordítóprogramja képes e virtuális gépi kódú program generálására, úgy a futtatáshoz már felhasználható a kész futtató rendszer.
Ezen a virtuális nyelven generált kód más-más processzoron is futtatható lesz, amennyiben az adott processzora is létezik a futtató rendszer.
A legismertebb ilyen nyelv a JAVA, ahol a futtató rendszert Java Virtual Machine-nak (JVM-nek) hívják.
80. Ismertesse és röviden jellemezze a integrált programfejlesztQi környezet (IDE) szolgáltatásait!
Integrated Development Environment azaz integrált fejlesztQi környezet.
Grafikus felületq program, mely általában a fejlesztéshez szükséges részalkalmazásokat (pl. editor, fordító, debugger, esetleg hardverközeli emulációs interfész) integráltan tartalmazza.
81.Az operációs rendszer grafikus felhasználói felülete, GUI.
A GUI az UI (User Interface - Felhasználói felület) egyik fajtája.
A CLI-tQl (Command Line Interface - Parancssoros felület) eltérQen a GUI a felhasználóval grafikus elemeken át tart kapcsolatot, ilyen grafikus elemek például az ablak, az ikon, az egérkurzor, stb. Elterjedése nagyban köszönhetQ a Windows-nak, habár meg kell jegyezni, hogy már a Commodore 64-en is létezett grafikus felület, pl. GEOS néven. Windows-zal valo elterjedése fQként annak köszönhetQ, hogy az nagyjából egybeesett azon idQszakkal, amikor a PC-k teljesítménye elérte a grafikus felület megvalósításához szükséges szintet. Manapság szinte minden Operációs rendszernek van grafikus felülete. Szabad szoftveres körökben például az X, GNOME, KDE rövidítéseket hozza be ilyen tárgykörben a pavlovi reflex.
Szqkebb értelemben lehet egy programnak GUI-ja, azaz programozási szempontból a szoftver azon része ami a grafikus kezelQi felület kialakításáért felelQs
82.Mi az SMTP / MIME / POP(3) / IMAP/?
Simple Mail Transfer Protocol (RFC-822)
Interneten a levelezésnél használt protokoll, két MTA(Mail Transfer Agent) között, vagy a MUA(Mail User Agent) és az MTA között levélküldés esetén
Post Office Protocol 3
Levélletöltésre használt protokoll, általában a MUA kezdményezi a POP3 kapcsolatot a szerver felé, ahová a felhasználó levelei megérkeznek, és tárolódnak letöltésükig
(Interactive Mail Access Protocoll = (interaktív levél hozzáférési protokoll)
A POP3-hez hasonló levelezési protokoll, mely lehetQvé teszi, hogy leveleinket a szerveren fenntartott postafiókunkban letöltés elQtt megnézhessük és távolról kezelhessük.
Ellentétben a POP3-mal, mely minden levelet teljes terjedelmében átjátszik gépünkre, az IMAP4 elQször csak azok fejléceit küldi el; lehetQvé teszi hogy a címeiket elolvassuk, a leveleket ott csoportosítsuk és hogy az egyes levelek letöltésérQl külön dönthessünk
MIME (Multipurpose Internet Mail Extensions)
Sokcélú Internetes Levélb?vítések
más néven Metamail; az Internet eredeti, SMTP levelez?
protokolljának 1992-ben bevezetett kiterjesztése, amellyel 8
bites karaktereket tartalmazó (ékezetes) szöveges vagy
bináris (multimédia) állományok is továbbíthatók
elektronikus levélben; a file-ok tartalma 7 bites ASCII
kódokra konvertálva kerül átvitelre; a levelezésen kívül más
internetes alkalmazások is használják már a MIME kódolást
83. Mi a különbség a TELNET és az FTP szolgáltatásai között?
Az egyik legQsibb hálózati protokoll, már az RFC139 említi, bár az RFC318 foglalkozik vele behatóbban. KésQbb az RFC854 írja le a specifikációt.
A Telnet protokoll célja egy általánosan elérhetQ, kétirányú, nyolcbites byte-alapú kommunikációs rendszer biztosítása. Egyaránt használható két terminál közötti (linking), illetve processzek közötti kommunikációra. TCP alapon mqködik.
Ma már a telnet-alapú terminálhasználat meglehetQsen kevéssé elterjedt, lévén a telnetben nincs semmiféle titkosítás (lásd fentebb). Ugyanakkor szinte az összes Linux-disztró alapból telepíti a telnet-klienst, hiszen rengeteg egyéb protokollt lehet vele kényelmesen debuggolni, illetve "kézzel" irányítani: pl. HTTP, POP3, SMTP.
FTP:
FTP - File Transfer Protocol (adatállomány/fájlátviteli protokoll)
Rövid leírás
Két pont (gép, host) közötti "adatmásolásra" szolgáló protokoll, az Interneten használatos fájlátviteli rendszer, egyben az átvitelt lehetõvé tevõ programok gyqjtõneve.
Definíciók, részletek
Az FTP Protokoll a 959-es (ftp://ftp.rfc-editor.org/in-notes/rfc959.txt) RFC-ben van definiálva. A Protokoll annyira régi és szabványos, hogy Q kapta a 9-es (ftp://ftp.rfc-editor.org/in-notes/std/std9.txt) szabványsorszámot.
Speciális esete az ún. Anonymous-FTP ahol a felhasználónév anonymous és jelszót nem kell megadni. Esetleg paranoiásabb rendszergazdák kérhetik, hogy jelszóként az E-mail címünket adjuk meg. (Talán azért, hogy tudják hova jelenteni az esetleges nem rendeltetésszerq használatot.) Ha csak egy @-cal zárt szöveget adunk meg, akkor a szerver feltételezi, hogy a címünk további része ugyanaz mint a géphez DNS-ben rendelt reverz név.
Mqködés
A mqködése röviden:
A Kliensprogram a szerver 21-es TCP Portjához csatlakozik, és itt végrehajt egy bejelentkezést. Erre a USER és a PASS parancsok valók.
A Kliens beléphet alkönyvtárakba pl. a CWD paranccsal, vagy kezdeményezhet olyan parancsot is, ami adatok átvitelét is szükségelteti. Ilyen parancsok például az NLST ahol a könyvtárlistázás az átvitt adat, illetve a RETR és a STOR amely fájl le- illetve feltöltésére szolgál. Az adatkapcsolat kezdeményezése kétféleképpen történhet, függQen attól, hogy Passzív FTP kapcsolatról, vagy Aktív FTP kapcsolatról beszélünk.
Aktív FTP kapcsolat esetén a PORT parancsot kell kiadnunk, melynek paramétereit vesszQvel tagoljuk. A paraméterei:IP-cím a Kliens Adatcsatornájának TCP Portja a hálózaton használt bytesorrend szerint. Pl. Port 127,0,0,1,10,23, amely azt jelzi, hogy a szervernek az adatokat a Localhost 2583-as TCP Portjára kell küldenie.
Passzív FTP kapcsolat esetén a PASV parancsot kell kiadnunk paraméterek nélkül, és a szerver a válaszban fogja megmondani, hogy hova kapcsolódjon a kliensünk. A válasz formátuma hasonló a PORT parancsnál használatos formátumhoz.
(FIXME IPv6-os kiterjesztés kellene.)
Amennyiben az elQzQ lépésben adatforgalommal járó kapcsolatot szerettünk volna kezdeményezni, akkor kiadhatjuk az ennek megfelelQ (NLST, RETR, STOR, stb.) parancsot. Innen az elQzQ lépés elejétQl folytathatjuk a mqködésünket (vagyis, újabb adatforgalommal járó tevékenységhez új adatcsatornát kell kérjünk), vagy kiléphetünk a QUIT paranccsal.
Megjegyzés:
Egyesek FXP néven szokták emlegetni azt az esetet, amikor a PORT parancsnál nem azt az IP címet adjuk meg, amirQl a kapcsolatot a szerver felé megnyitottuk. Így ha a szerver gazdája az ilyen eseteket engedélyezi valamint a szokásos Anonymous-FTP-s incoming -ba lehet fel- és letölteni is, akkor az FTP szervert gyönyörqen lehet spam levelek feladójaként használni
Hasonló témájú dokumentumok

- 2008-11-25 18:39:59

- 2008-05-09 12:41:02

- 2008-01-13 15:50:20

- 2009-04-25 14:59:42

- 2008-01-13 15:52:32

- 2010-02-23 22:27:41

- 2011-01-18 15:36:04
A mások által feltöltött dokumentumokat értékelheted. Ha úgy ítéled meg, hogy a vizsgára való felkészülés szempontjából hasznos volt egy dokumentum, akkor adj rá sokcsillagos értékelést.
Ha hibákat tartalmaz, vagy egyéb probléma van vele, akkor keveset.
A dokumentumok sorrendje az értékelések alapján adódik. Ami fentebb van a listában, azt hasznosabbnak ítélték társaid. Az új dokumentumok pedig (értékelések hiányában) szintén a lista tetején kezdenek.
Hozzászólások
Ha észrevételed van egy dokumentummal kapcsolatban (például hibát találtál benne), akkor a Hozzászólások részben jelezheted. Az olyan jellegű kérdéseket mint pl.: A 2. feladat 4. sorából milyen átalakítással jutottunk az 5. sorban szereplő képlethez? - szintén ide érdemes írni
Egy tipp az oldalhoz! - Szólj hozzá a feltöltött dokumentumokhoz. Minden feltöltött dokumentumhoz megírhatod a véleményed. Ha jónak találod, akkor adj rá sok pontot a csillagokkal. Ha nem találod jónak, akkor adj rá kevés csillagot, és írd le a Hozzászólásokhoz hogy milyen hiányosságok, hibák vannak benne. A dokumentumok a hallgatók értékelése alapján sorrendeződnek.