Unix operációs rendszer
4. A folyamatok és erőforrások kezelésének módjai
5. Működési feltételek
6. A UNIX operációs rendszer előnyei és hátrányai
A használt irodalomjegyzék
A UNIX 1969-ben jelent meg. Több mint 30 éve a rendszer nagyon népszerűvé vált, és széles körben elterjedt a különböző feldolgozási teljesítményű gépeken, a mikroprocesszoroktól a nagyszámítógépekig, és általános feltételeket biztosítva a programok kivitelezéséhez. A rendszer két részre oszlik. Az egyik része programokból és szolgáltatási funkciókból áll - ez a UNIX operációs környezetet olyan népszerűvé teszi; az operációs rendszer ezen része könnyen elérhető a felhasználók számára, beleértve a parancsfeldolgozó, üzenetküldő, szövegszerkesztő és forráskód-feldolgozó rendszereket is. A másik rész tartalmazza a tényleges operációs rendszert, amely támogatja ezeket a programokat és funkciókat.
A UNIX hagyományosan egy hálózati operációs rendszer.
1. A teremtés története, célja
A UNIX több mint 30 éve született az ATL Bell Labs laboratóriumában. Abban az időben a Bell Labs többfelhasználós időmegosztó rendszert fejlesztett ki MULTICS (Multiplexed Information and Computing Service) az MIT és a General Electric együttesen, de ez a rendszer nem sikerült. Bell Labs kihúzta a projekt, a Multics, amely lehetővé tette annak egyik kutató, Ken Thompson, nem a keresés műveletet a Bell Labs, hogy javítsa a működési környezet. Thompson, valamint a Bell Labs alkalmazottja, Denis Ritchie és még sokan mások új fájlrendszert fejlesztettek ki, amelyek közül sok eredetileg a MULTICS-ról származott. Az új fájlrendszer tesztelésére Thompson írta az operációs rendszermagot és néhány programot a GE-645 számítógép számára, amely a GECOS többprogramos időmegosztó rendszerében működött. Ken Thompsonnak volt a "Space Travel" játékja, amelyet a MULTICS munkáiban írtak. GE-645 számítógépen futott, de az időmegosztás alacsony hatékonysága miatt nem működött jól. Ráadásul a GE-645 gépideje túl drága volt. Ennek eredményeképpen Thompson és Ritchie úgy döntöttek, hogy átadják a játékot a PDP-7 DEC gépnek, amely 4096 18 bites szóval, távjellel és jó grafikus kijelzővel rendelkezik. De a PDP-7 nem volt túl jó szoftver, és átesett az átadás a játék, Thompson úgy határozott, hogy a PDP-7, a fájlrendszer, amelyen dolgozott a GE-645. Ebből a munkából megjelenik a UNIX első verziója. Még akkor is tartalmazott egy tipikus UNOD fájlrendszert, amely inode inode-ken alapult, volt egy folyamat- és memória-kezelő alrendszer, és két felhasználó számára is lehetővé tette az időmegosztás módját. A rendszert összeszerelőben írták. A UNIX (Uniplex információs és számítástechnikai szolgáltatások) nevét a Bell Labs egyik alkalmazottja, Brian Kernigan,
A UNIX'a első felhasználója a Bell Labs szabadalmi osztályának alkalmazottaivá vált, akik számára kényelmes környezetet teremtett a szövegek készítéséhez. A UNIX sorsa nagy hatással volt a magas szintű C nyelvű népszámlálására, amelyet kifejezetten erre a célra kifejlesztett Denis Ritchie. Ez történt 1973-ban, a UNIX-nek már 25 telepítése volt, és egy különleges UNIX támogató csoportot hoztak létre a Bell Labs-ban.
Miután Thompson és Ritchie leírta a rendszert a CACM számítógépes folyóiratban 1974-ben, a UNIX széles körben elterjedt. OS vált a kereslet az egyetemeken, mert nekik, hogy ingyen jár a forráskód C. elterjedt hatékony C-fordító, hogy UNIX egyedülálló abban az időben OS miatt történő átadásának lehetőségét különböző számítógépeken. Az egyetemek jelentősen hozzájárultak a UNIX fejlesztéséhez és tovább népszerűsítéséhez. Egy újabb lépés a UNIX szabványosított környezet elismeréséért Denis Ritchie a stdio I / O könyvtár fejlesztésében. Ennek a könyvtárnak a C-fordító használatával köszönhetően a UNIX programok könnyen hordozhatók.
A UNIX operációs rendszer interaktív operációs rendszer, hagyományosan egy hálózati operációs rendszer.
2. Funkcionális jellemzők
A UNIX rendszermag fő funkciói a következők:
1) A rendszer inicializálása - a start és a spin funkciója. A rendszermag egy bootstrapot biztosít, amely biztosítja, hogy a teljes rendszermag a számítógép memóriájába kerüljön, és elindítja a rendszermagot.
2) A folyamat- és szálkezelés egy meglévő folyamatok és szálak létrehozásával, teljesítésével és nyomon követésével (a megosztott virtuális memóriában futó "folyamatok"). Mivel a UNIX operációs rendszer egy multi-operációs rendszer kernel egy részlege között futó folyamatok időben processzor (vagy feldolgozóknak többprocesszoros rendszerek), és egyéb források a számítógép létrehozásához külső értelemben, hogy a tényleges folyamatok párhuzamosan végzik.
3) A memóriakezelés a folyamatok gyakorlatilag korlátlan virtuális memóriájának megjelenítését teszi lehetővé a korlátozott méretű számítógép fizikai RAM-já. A megfelelő rendszermag összetevő ugyanazon RAM-területek közös használatát teszi lehetővé több, külső memóriát használó folyamattal.
4) Fájlkezelés - egy olyan funkció, amely végrehajtja a fájlrendszer absztrakcióját, - a könyvtárak és fájlok hierarchiáját. A UNIX fájlrendszerek több fájltípust támogatnak. Egyes fájlok tartalmazhatnak adatokat ASCII formátumban, mások pedig külső eszközöknek felelnek meg. A fájlrendszer objektumfájlokat, végrehajtható fájlokat tárol és így tovább. A fájlokat általában külső memóriaeszközökön tárolják; Hozzáférést biztosít a kernel. A UNIX világában többfajta fájlrendszer-szervezet létezik. A UNIX operációs rendszer legújabb verziói egyidejűleg támogatják a legtöbb fájlrendszer típusát.
5) Kommunikációs eszközök - funkció lehetőséget ad közötti adatcsere folyamatok futtatása ugyanazon a számítógépen (IPC - Inter-Process Communications) között futó folyamatokat a különböző csomópontok a helyi vagy globális adatkommunikációs hálózat között, valamint a folyamatokat és illesztőprogramokat a külső eszközre.
6) A program interfész egy olyan funkció, amely a rendszermag funkcióiból álló rendszerkonstrukció alapján hozzáférést biztosít a rendszermag képességekhez a felhasználó folyamataitól.
3. Az OSUNIX architektúra jellemzői
A UNIX operációs rendszer architektúrája többszintű (1. Az alsó szinten, közvetlenül a berendezés felett, az operációs rendszermag fut. A rendszermag funkciók elérhetők a rendszer hívások interfészén keresztül, amelyek a második szintet alkotják. A következő szinten vannak parancsértelmezők, parancsok és rendszergazdai segédprogramok, kommunikációs illesztőprogramok és protokollok, mindent, amit általában rendszerszoftvernek neveznek. Végül a külső réteget felhasználói alkalmazásprogramok, hálózatok és egyéb kommunikációs szolgáltatások, DBMS és segédprogramok alkotják.
4. A folyamatok és erőforrások kezelésének módjai
A fájlok és folyamatok a UNIX operációs rendszer modelljének központi fogalmai. Az 1.2. Ábra a rendszer magjainak blokkdiagramja, amely tükrözi a magot alkotó modulok összetételét és kölcsönhatásaikat egymással. A bal oldalon egy fájl alrendszer és a jobb oldalon a folyamatvezérlő alrendszer a kernel két fő összetevője.
Hardveres magszint
1.1.2. Ábra Az operációs rendszer rendszermag blokkdiagramja
Az operációs rendszerhez fűződő fellebbezések ugyanúgy néznek ki, mint a rendszeres funkcióhívások C programokban, és a könyvtárak leképezik a kapcsolatot e funkcióhívások és az elemi rendszer műveletei között. Ebben az esetben a szerelőprogramok közvetlenül elérhetik az operációs rendszert, anélkül, hogy a rendszerhívások könyvtárát használnák. A programok gyakran hozzáférnek más könyvtárakhoz, például a szabványos I / O rutinok könyvtárához, ezáltal a rendszer szolgáltatásainak teljesebb felhasználását. Ehhez a könyvtárak a fordítási idő alatt programokkal vannak társítva, és részben szerepelnek a felhasználói programban. Az operációs rendszerhez tartozó hívások halmaza a fájlkezelő alrendszerrel és azokkal, amelyek kölcsönhatásba lépnek a folyamatvezérlő alrendszerrel. A fájlrendszer kezeli a fájlokat, elhelyezi a fájlbejegyzéseket, kezeli a szabad területet, hozzáfér a fájlokhoz és adatokat gyűjt a felhasználók számára. Folyamatok kölcsönhatásba lépnek a fájlkezelő alrendszerrel rendszer, ahol egy sor különleges rendszer kéri, mint a nyitott (megnyitni egy fájlt olvasásra vagy írásra), szoros, olvasni, írni, stat (lekérdezés az attribútumok), chown (megváltoztatni a rekord a fájl tulajdonosával kapcsolatos információk) és a chmod (módosítsa a fájl engedélyeit).
A fájlkezelő alrendszer olyan fájlokat tárol, amelyek egy, a kernel és a külső memóriaeszközök közötti adatáramlást vezérlő puffer mechanizmus segítségével tárolódnak. A puffer mechanizmus, amely a blokkok I / O eszközvezérlőivel kölcsönhatásba lép, elindítja az adatátvitelt a mag és a vissza. Az eszközillesztők olyan központi modulok, amelyek vezérlik a perifériák működését. Az I / O eszközök blokkok által tartalmaznak felhasználói programokat a véletlen hozzáférésű memória típusához; a sofőrök úgy vannak felépítve, hogy a rendszer minden más eleme véletlen hozzáférést biztosító memóriaként érzékeli ezeket az eszközöket. Például egy szalagos meghajtó-illesztőprogram lehetővé teszi a rendszermag számára, hogy ezt az eszközt véletlen hozzáférésű memóriaként kezelje. A fájlkezelő alrendszer közvetlenül együttműködik a "strukturálatlan" I / O eszközök meghajtóival, a puffermechanizmus beavatkozása nélkül. A strukturálatlan I / O eszközök, amelyeket néha a karakter-I / O eszközöknek (text-based) használnak, a blokkokban levő I / O eszközökön kívüli eszközök.
A folyamatvezérlő alrendszer felelős a folyamatszinkronizálásért, a folyamat kommunikációért, a memóriaelosztásért és a folyamat végrehajtási ütemezéséért. A fájlkezelő alrendszer és a folyamatvezérlő alrendszer egymással együttműködnek, amikor a fájlt memóriába tölti végrehajtás céljából: a folyamatvezérlő alrendszer a végrehajtható fájlokat a végrehajtás előtt a memóriába olvassa.
Példák utalás történik a felhasznált eljárások az operációs rendszer, szolgálhatnak villa (ami egy új folyamat), exec (overlay szoftver képet a futó folyamat), exit (a folyamat befejezése), várjon (szinkronizálja tovább a végrehajtás a fő folyamat a nyomaték a gyermek folyamat ), a brk (a folyamathoz rendelt memória méretének vezérlése) és a jel (a folyamat reakciójának ellenőrzése rendkívüli események előfordulásához.
A memóriaelosztási modul szabályozza a memória elosztását a folyamatokhoz. Ha egy bizonyos ponton a rendszer fizikai memóriával rendelkezik, hogy elindítsa az összes folyamatot, a rendszermag továbbítja a folyamatokat a fő és a külső memória között, hogy minden folyamatot végre lehessen hajtani. A memóriaelosztás kezelésének két módja van: feltöltés (paging) és oldalcsere. A személyhívó program néha ütemezőnek nevezhető, mert ez "tervezi" a memóriát a folyamatok számára, és hatással van a CPU ütemező munkájára. „Scheduler” azt tervezi, hogy fontossági sorrendbe végrehajtásának folyamatok mindaddig, amíg azok nem önként kiadja a CPU, várva a elosztását erőforrás, vagy addig, amíg a kernel nem tudja eltávolítani őket, miután azok végrehajtási ideje meghaladja az előre meghatározott időrés. Az ütemező úgy dönt, hogy a legmagasabb prioritású, készen futó folyamatot hajtja végre; az előző folyamat (felfüggesztett) végrehajtása akkor folytatódik, ha a prioritás a legmagasabb az összes készen álló folyamat prioritásai között. A folyamatok közötti kölcsönhatás számos formája, az eseményektől a szinkron üzenetekig terjedő jelek aszinkron cseréjéig.
Végül a hardvervezérlés felelős a megszakítások kezeléséért és a készülékkel való kommunikációért. Az olyan eszközök, mint a lemezek és a terminálok, megszakíthatják a központi processzor működését a folyamat végrehajtása során. Ebben az esetben a rendszer rendszermagja a megszakítás feldolgozása után folytathatja a megszakított folyamat végrehajtását. A megszakításokat nem a folyamatok, hanem a rendszermag speciális függvényei kezelik a végrehajtandó folyamat összefüggésében.
5. Működési feltételek
A UNIX többfelhasználós operációs rendszer. A közös feladatokban résztvevő felhasználók csoportosíthatók. Minden felhasználónak egy vagy több csoporthoz kell tartoznia. Minden parancs végrehajtása egy adott felhasználó nevében történik, amely a végrehajtás időpontjában a megadott csoporthoz tartozik.
A többfelhasználós rendszereknél meg kell védeni az összes felhasználóhoz tartozó objektumokat (fájlokat, folyamatokat). UNIX operációs rendszer biztosítja az általános védelmének és megosztásának alapuló nyomkövető fájlok a felhasználó és csoport egy fájlt, a három hozzáférési szint (felhasználó, tulajdonosa, felhasználója csoport tulajdonosa, és az összes többi felhasználó), és három alapvető fájl jogosultságokat (a olvasni, írni és végrehajtani). Az alapvető folyamatvédelmi eszközök alapját a folyamatok tulajdonosának követése követi.
A folyamat tulajdonosainak és fájljainak nyomon követése érdekében numerikus azonosítókat használnak. A felhasználó és a csoport azonosító egész szám (általában) a 0 és 65535 közötti tartományban. Egy egyedi felhasználói azonosító hozzárendelését akkor hajtják végre, amikor a rendszergazda új bejelentkezési nevet regisztrál. A felhasználói azonosító és a csoport értékei nem csak a felhasználók azonosítására alkalmas számok, hanem a fájlok és folyamatok tulajdonosai. A rendszerhasználók közül egy felhasználó van elosztva - egy rendszergazda vagy felettes, aki teljes joggal rendelkezik a rendszer használatára és konfigurálására. Ez egy azonosítójú felhasználó és a bejelentkezési név gyökere.
Ha egy személynek ad információt, sokkal kényelmesebb a szimbolikus nevek használata a megfelelő azonosítók helyett - a felhasználó bejelentkezési neve és a csoport neve. Matching azonosítók és a karakter nevét, és egyéb információkat a felhasználók és csoportok a rendszerben (számlák), valamint a legtöbb egyéb információt a konfiguráció a UNIX rendszer, a hagyomány szerint, azt bemutatják formájában szöveges fájlokat. Ezek a fájlok: / etc / passwd, / etc / group és / etc / shadow.
6. Méltóságok és hátrányok
A UNIX széles körben elterjedt alkalmazása felvetette a több változatának összeférhetetlenségét. A felhasználó számára nagyon kellemetlen, hogy egy UNIX verzióra vásárolt csomag megtagadja a UNIX másik verzióját. Időnként kísérleteket tettek és készülnek a UNIX szabványosítására, de ezek még mindig korlátozottak. A UNIX különböző változatainak konvergenciája és azok különbségei ciklikusak. Egy másik operációs rendszer új fenyegetése ellenére a különböző UNIX-verziók gyártói közelítik termékeiket, de a verseny arra kényszeríti őket, hogy az eredeti fejlesztések és verziók ismét eltérjenek egymástól. Ebben a folyamatban, van egy pozitív oldala - az új ötletek és javításának eszköze a UNIX, és sok más operációs rendszerek, hogy fogadjanak el vele sok éves fennállása egy csomó hasznos információt. A leggyakoribbak két inkompatibilis UNIX-verzió: az ATT-UNIX System V vonala és a Berkeley-BSD University vonal. Számos vállalat alapján ezen verziók kifejlesztett és fenntartani saját UNIX változat: SunOS és Solaris cég Sun Microsystems, UX cég a Hewlett-Packard, XENIX Microsoft vállalat, az AIX az IBM cég, a Novell cég UnixWare (eladott most a SCO cég), és a lista hosszú lehet tovább.
A UNIX verziók egyesítésének legnagyobb hatását olyan szabványok szolgáltatták, mint az ATT, a POSIX, az IEEE és az X / Open konzorcium XPG4 által létrehozott SVID. Ezek a szabványok megfogalmazzák az alkalmazások és az operációs rendszerek közötti interfészt, ami lehetővé teszi az alkalmazások sikeres futását a UNIX különböző verziói alatt.
Az egyik fő előnye a család UNIX típusú operációs rendszerek és alakult alapján a megközelítés, hogy egységesítsék operációs rendszer interfész (fontos része az átfogó megközelítés a nyílt rendszerek), hogy adnak egy közös működési környezet egy másik számítógépes architektúra.
Az UNIX operációs rendszer, amely az első a mobil operációs rendszer történetében, amely megbízható környezetet biztosít a mobil alkalmazások fejlesztéséhez és használatához, egyúttal praktikus alapot jelent a nyílt szoftverek és hardver rendszerek és komplexumok építéséhez. A UNIX operációs rendszer széles körű bevezetése a gyakorlatba, amely lehetővé tette számunkra, hogy az Open Systems szlogenjéből a koncepció gyakorlati fejlesztésébe lépjünk. A nyíltrendszerekről szóló irányelv fejlesztéséhez nagymértékben hozzájárult a UNIX operációs rendszer interfészeinek szabványosítása.
A UNIX operációs rendszer számos ágát meg lehet különböztetni, nemcsak a megvalósításban, hanem időközben interfészekkel és szemantikával is különböztethetők meg (bár a standardizációs folyamat során ezek a különbségek kevésbé jelentősek). Napjainkban a UNIX operációs rendszer új szabadon elérhető verziója, a FreeBSD néven ismert. A BSDNet fejlettebb verzióin dolgozunk.
A használt irodalomjegyzék