Stiahnite si encyklopédiu všetko o operačných systémoch. Knihy o operačných systémoch. O knihe Peter Stashchuk „Stručný úvod do operačných systémov. Študijná príručka"

Aktuálna strana: 1 (kniha má celkovo 12 strán) [dostupná pasáž na čítanie: 8 strán]

A. Yu Kruchinin
Operačné systémy

1Začíname s operačnými systémami

1.1 Účel a funkcie operačných systémov

Počítačový operačný systém je súbor vzájomne prepojených programov, ktoré fungujú ako rozhranie medzi aplikáciami a používateľmi na jednej strane a počítačovým hardvérom na strane druhej. Operačný systém vykonáva dve skupiny funkcií:

Poskytuje používateľovi alebo programátorovi rozšírený virtuálny stroj namiesto skutočného počítačového hardvéru;

Zvyšuje efektívnosť používania počítača racionálnym riadením jeho zdrojov v súlade s určitým kritériom.

Používateľa spravidla nezaujímajú detaily hardvéru počítača, vidí ho ako súbor aplikácií, ktoré je možné napísať v niektorom z programovacích jazykov. Operačný systém poskytuje programátorovi množstvo schopností, ktoré môžu programy využívať prostredníctvom špeciálnych príkazov nazývaných systémové volania. Preto softvérová aplikácia obsahuje mnoho systémových volaní potrebných napríklad na prácu so súbormi. Operačný systém skrýva detaily hardvéru pred programátorom a poskytuje pohodlné rozhranie na spustenie systému operačného prostredia.

Operačný systém zároveň funguje ako správca zdrojov. Podľa tohto prístupu je úlohou operačného systému zabezpečiť organizovanú a riadenú distribúciu procesorov, pamäte a I/O zariadení medzi rôzne programy. Operačný systém má nasledujúce vlastnosti:

Funkcie operačného systému fungujú rovnako ako ostatné softvéry - sú implementované vo forme jednotlivých programov alebo súboru programov, ktoré vykonávajú procesy;

Operačný systém musí delegovať riadenie na iné procesy a čakať, kým mu procesor opäť poskytne čas na vykonanie svojich povinností.

Správa zdrojov zahŕňa riešenie nasledujúcich všeobecných úloh, ktoré nezávisia od typu zdroja:

Plánovanie zdrojov – teda určenie, ktorý proces, kedy a v akom množstve (ak je možné zdroj alokovať po častiach) má byť daný zdroj pridelený;

Uspokojovanie požiadaviek na zdroje;

Monitorovanie stavu a zaznamenávanie využívania zdroja – teda udržiavanie prevádzkových informácií o tom, či je zdroj vyťažený alebo voľný a aký podiel zdroja už bol distribuovaný;

Riešenie konfliktov medzi procesmi.

Riadenie zdrojov zahŕňa ich multiplexovanie (distribúciu) dvoma spôsobmi: v čase a v priestore. Keď je zdroj alokovaný v priebehu času, rôzni používatelia a programy ho striedajú. Najprv jeden z nich získa prístup na používanie zdroja, potom ďalší atď. Napríklad niekoľko programov chce získať prístup k centrálnemu procesoru. Operačný systém v tejto situácii najskôr povolí prístup k procesoru jednému programu, potom, po dostatočnom spustení, ďalšiemu programu, potom ďalšiemu a nakoniec opäť prvému. Určenie toho, ako dlho sa bude zdroj v priebehu času používať, kto bude ďalší a ako dlho mu bude zdroj poskytnutý, je úlohou operačného systému. Ďalším typom distribúcie je priestorové multiplexovanie. Namiesto striedavej práce dostáva každý klient časť zdroja. RAM je zvyčajne zdieľaná medzi niekoľkými spustenými programami, takže všetky môžu byť uložené v pamäti súčasne (napríklad pomocou centrálneho procesora). Za predpokladu, že je k dispozícii dostatok pamäte na uloženie viacerých programov, je efektívnejšie alokovať v pamäti viacero programov naraz, než prideliť všetku pamäť jednému programu, najmä ak potrebuje iba malú časť dostupnej pamäte. Samozrejme, že to vyvoláva problémy spravodlivej distribúcie, ochrany pamäte atď., a operačný systém existuje na riešenie takýchto problémov.

1.2 História vývoja operačných systémov

História vývoja operačných systémov je zvyčajne spojená s históriou vývoja počítačov. Prvý nápad na počítač navrhol anglický matematik Charles Babbage v polovici devätnásteho storočia. Vyvinul takzvaný mechanický „analytický motor“, ktorý však nikdy nefungoval správne. Nasledujú generácie počítačov a ich vzťah k operačným systémom.

Prvá generácia 1945-1955

Počítače pozostávali z vákuových trubíc a patch panelov. Najvyšším úspechom je výroba diernych štítkov. Dierovaný štítok vyrobený z tenkého kartónu predstavuje informáciu o prítomnosti alebo neprítomnosti dier na určitých miestach na karte. Neexistuje žiadny operačný systém.

Druhá generácia 1955-1965

Základom počítačov sú tranzistory a systémy dávkového spracovania. Charakterizované balíčkami diernych štítkov a zariadeniami na nahrávanie magnetických pások. Hlavne naprogramované v jazykoch Fortran a Assembly pre operačné systémy Fortran Monitor System (FMS) a IBSYS.

Tretia generácia 1965-1980

Obdobie je charakteristické objavením sa integrovaných obvodov, ako aj multitaskingom alebo, ako sa inak nazýva, multiprogramovaním. IBM vyrába rôzne série strojov, počnúc IBM/360. Bol pre nich napísaný operačný systém OS/360, ktorý bol približne 1000-krát väčší ako FMS druhej generácie. V tejto fáze sa objavuje priemyselná implementácia multitaskingu - spôsobu organizácie výpočtového procesu, v ktorom bolo niekoľko programov súčasne uložených v pamäti počítača a striedavo vykonávaných na jednom procesore.

Ďalšími významnými operačnými systémami tohto obdobia boli CTSS (Compatible Time Sharing System) a MULTICS (Multiplex Information and Computing Service), ktorý bol navrhnutý tak, aby poskytoval prístup k jednému stroju pre stovky používateľov naraz. Ďalší vývoj tohto systému prerástol do UNIXu.

Štvrtá generácia 1980-súčasnosť

Toto obdobie je spojené s nástupom rozsiahlych integrovaných obvodov. V roku 1974 Intel uviedol na trh prvý univerzálny 8-bitový procesor Intel 8080. Začiatkom 80-tych rokov IBM vyvinula osobný počítač IBM PC. Zároveň sa objavila prvá verzia MS-DOS. Všetky dovtedy vyvinuté operačné systémy podporovali iba textový režim komunikácie s používateľom.

Prvý pokus o vytvorenie užívateľsky príjemného grafického rozhrania bol realizovaný na Apple Macintosh. Microsoft Corporation, ovplyvnená svojimi úspechmi, vydáva grafický shell pre MS-DOS – Windows. A od roku 1995 bol vydaný Windows 95, ktorý sa stal samostatným systémom. Následne na báze Windows 95 a ďalšieho systému Windows NT boli vyvinuté aktuálne existujúce operačné systémy - Windows 2000, XP, Vista a ďalšie.

1.3 Klasifikácia operačných systémov

Operačných systémov je veľa a nie každý ich pozná. Ďalej zvážime 7 typov rôznych operačných systémov od veľkých po malé úrovne.

Operačné systémy pre sálové počítače

Mainframe je vysokovýkonný počítač na všeobecné použitie so značným množstvom pamäte RAM a externej pamäte, navrhnutý na vykonávanie intenzívnej výpočtovej práce. Zvyčajne ide o počítače veľkosti miestnosti a nachádzajú sa vo veľkých korporáciách. Sálové počítače zvyčajne obsahujú tisíce diskov a terabajtov pamäte RAM.

Operačné systémy pre sálové počítače sú primárne navrhnuté tak, aby zvládali viacero simultánnych úloh, z ktorých väčšina vyžaduje obrovské množstvo I/O. Systém musí reagovať na tisíce požiadaviek za sekundu. Príkladom je OS/390, ktorý sa vyvinul z operačného systému 3. generácie OS/360.

Serverové operačné systémy

Tieto operačné systémy bežia na serveroch, ktorými sú osobný počítač, pracovná stanica alebo dokonca mainframe. Servery poskytujú možnosť pracovať s tlačovými zariadeniami, súbormi alebo internetom. Medzi takéto operačné systémy patria Unix, Linux, Windows 2003 Server atď.

Viacprocesorové operačné systémy

Tieto systémy sa používajú na počítačoch s viacerými centrálnymi procesormi. Vyžadujú špeciálne operačné systémy, ale zvyčajne ide o modifikácie operačných systémov pre servery.

Operačné systémy pre osobné počítače

Hlavným kritériom týchto systémov je pohodlné rozhranie pre jedného používateľa. Najznámejšie systémy: Windows 98, 2000, XP, séria Vista; Macintosh, Linux.

Operačné systémy v reálnom čase

Hlavným parametrom týchto systémov je čas. V systémoch riadenia priemyselných procesov je potrebné jasne synchronizovať prevádzkový čas dopravníka a rôznych priemyselných robotov. Toto je náročný systém v reálnom čase. Existujú aj flexibilné systémy v reálnom čase, kde sú zmeškané termíny dokončenia operácie prijateľné, napríklad multimediálne systémy. Operačné systémy v reálnom čase zahŕňajú VxWorks a QNX.

Vstavané operačné systémy

Patria sem operačné systémy PDA (Personal Digital Assistant). Okrem toho vstavané systémy fungujú na autách, televízoroch a mobilných telefónoch. Tieto operačné systémy majú zvyčajne všetky charakteristiky operačných systémov v reálnom čase s obmedzeniami pamäte, napájania atď. Príkladmi systémov sú PalmOS, Windows CE.

Operačné systémy pre čipové karty

Čipová karta je zariadenie veľkosti kreditnej karty obsahujúce centrálnu procesorovú jednotku. Takéto systémy podliehajú vážnym obmedzeniam výkonu a pamäte. Niektorí zvládajú len jednu operáciu – napríklad elektronickú platbu. Vybrané smart karty zahŕňajú podporu pre Java Virtual Machine.

1.4 Prehľad počítačového hardvéru

Operačný systém úzko súvisí s hardvérom počítača, na ktorom musí bežať. Hardvér ovplyvňuje sadu príkazov operačného systému a správu jeho zdrojov. Koncepčne môže byť jednoduchý počítač reprezentovaný modelom znázorneným na obrázku 1. Táto štruktúra bola použitá na prvých modeloch IBM PC.


Obrázok 1 - Niektoré komponenty osobného počítača


Na obrázku sú centrálny procesor, pamäť a vstupno/výstupné zariadenia prepojené systémovou zbernicou, prostredníctvom ktorej si vymieňajú informácie.

CPU

„Mozgom“ počítača je centrálna procesorová jednotka (CPU). Vyberá príkazy z pamäte a vykonáva ich. Typický cyklus procesora vyzerá takto: načíta prvú inštrukciu z pamäte, dekóduje ju, aby určil jej typ a operandy, vykoná inštrukciu a potom načíta a dekóduje nasledujúce inštrukcie. Takto sa vykonávajú programy.

Každý procesor má sadu inštrukcií, ktoré je schopný vykonať. Keďže prístup k pamäti na prijímanie inštrukcií alebo získavanie údajov trvá oveľa dlhšie ako vykonávanie týchto inštrukcií, všetky procesory obsahujú interné registre na ukladanie premenných a medzivýsledkov. Preto inštrukčná sada zvyčajne obsahuje inštrukcie na načítanie slova z pamäte do registra a uloženie slova z registra do pamäte. Okrem hlavných registrov používaných na ukladanie premenných má väčšina procesorov niekoľko špeciálnych registrov používaných na ukladanie premenných, ako aj špeciálne registre viditeľné pre programátorov.

Keď je procesor časovo multiplexovaný, operačný systém zastaví spustený program a spustí ďalší. Zakaždým, keď dôjde k takémuto prerušeniu, musí operačný systém uložiť všetky registre procesora, aby ich neskôr, keď bude prerušený program pokračovať v behu, bolo možné obnoviť.

Aby sa zvýšila rýchlosť CPU, ich vývojári opustili jednoduchý model, keď je možné prečítať, dekódovať a vykonať iba jeden príkaz v jednom hodinovom cykle. Moderné procesory majú schopnosť vykonávať viacero príkazov súčasne.

Väčšina CPU má dva prevádzkové režimy: režim jadra a používateľský režim. Ak procesor beží v režime jadra, môže vykonávať všetky inštrukcie v inštrukčnej sade a využívať všetky možnosti hardvéru. Operačný systém beží v režime jadra a poskytuje prístup ku všetkému hardvéru. Na rozdiel od toho užívatelia pracujú v užívateľskom režime, ktorý umožňuje spúšťanie podmnožiny programov a sprístupňuje len časť hardvéru.

pamäť

Druhou hlavnou súčasťou každého počítača je pamäť. V ideálnom prípade by pamäť mala byť čo najrýchlejšia (rýchlejšia ako spracovanie jedinej inštrukcie, aby procesor nespomalil prístup k dostatočne veľkej a extrémne lacnej pamäti). Dnes neexistujú žiadne technológie, ktoré by spĺňali všetky tieto požiadavky. Preto existuje iný prístup.

Pamäťový systém je konštruovaný vo forme hierarchie vrstiev, ktoré sú znázornené na obrázku 2. Ako sa pohybujete v hierarchii zhora nadol, zvyšujú sa dva parametre: prístupový čas, veľkosť pamäte.

Vrchnú vrstvu tvoria vnútorné registre CPU, takže pri prístupe k nim nedochádza k oneskoreniu. Interné registre uchovávajú menej ako 1 kB informácií. Programy môžu manipulovať s registrami bez zásahu hardvéru. Prístup k registrácii je najrýchlejší – niekoľko nanosekúnd.

Ďalšia vrstva obsahuje vyrovnávaciu pamäť, väčšinou riadenú hardvérom. Najčastejšie používané oblasti vyrovnávacej pamäte sú uložené vo vysokorýchlostnej vyrovnávacej pamäti umiestnenej vo vnútri procesora. Keď program potrebuje prečítať slovo z pamäte, čip vyrovnávacej pamäte určí, či je požadovaný riadok vo vyrovnávacej pamäti; ak áno, potom dôjde k prístupu do vyrovnávacej pamäte. Veľkosť vyrovnávacej pamäte je obmedzená kvôli jej vysokej cene. Moderné počítače majú dve alebo tri úrovne vyrovnávacej pamäte, pričom každá je pomalšia a väčšia ako predchádzajúca. Veľkosti vyrovnávacej pamäte sa pohybujú od desiatok kilobajtov až po niekoľko megabajtov. Čas prístupu je o niečo dlhší ako pri registroch.


Obrázok 2 – Hierarchická štruktúra pamäte


Nasleduje RAM (RAM - Random Access Memory alebo pamäť s náhodným prístupom) - hlavná pracovná oblasť úložného zariadenia stroja. Všetky požiadavky CPU, ktoré nie je možné splniť pomocou vyrovnávacej pamäte, sa odošlú do RAM na spracovanie. Objemy sa pohybujú od stoviek megabajtov až po niekoľko gigabajtov. Prístupový čas je desiatky nanosekúnd.

Nasleduje magnetický disk. Disková pamäť je o dva rády lacnejšia ako RAM na bit a má o dva rády väčšiu veľkosť. Disk má jeden problém – náhodný prístup k údajom na ňom trvá asi o tri rády dlhšie. Dôvodom nízkej rýchlosti pevných diskov (HDD) je, že jednotka je mechanická štruktúra. Pozostáva z jednej alebo viacerých kovových platní rotujúcich špecifickými rýchlosťami, napríklad 7200 ot./min. Objemy diskov teraz rýchlo rastú disky so stovkami gigabajtov sú v predaji pre väčšinu používateľov. Čas prístupu – nie menej ako 10 µs.

Magnetická páska sa často používa na vytváranie záloh na pevný disk alebo na ukladanie veľmi veľkých súborov údajov. Teraz je, samozrejme, zriedkavé, kde môžete nájsť použitie magnetických pások, ale stále sa ešte nevyčerpali. Magnetická páska obsahuje aj CD, DVD a flash pamäť. Čas prístupu sa meria v sekundách.

Okrem opísaných typov majú počítače malé množstvo permanentnej pamäte s náhodným prístupom. Na rozdiel od RAM nestráca svoj obsah ani po vypnutí napájania. Nazýva sa ROM alebo ROM. Pamäť ROM je naprogramovaná počas výroby a jej obsah už nie je možné meniť. Táto pamäť je pomerne rýchla a lacná. Zavádzacie programy počítača používané pri štarte sú umiestnené v ROM. Niektoré I/O karty navyše obsahujú pamäť ROM na ovládanie zariadení na nízkej úrovni. Typ pamäte nazývaný CMOS je volatilný. CMOS sa používa na uloženie aktuálneho dátumu, času a konfiguračných parametrov, ako je napríklad pevný disk, z ktorého sa má zaviesť systém. Táto pamäť čerpá energiu z nainštalovanej batérie.

I/O zariadenia

Operačný systém považuje I/O zariadenia za prostriedky. I/O zariadenia sa zvyčajne skladajú z ovládača a samotného zariadenia.

Radič je súprava čipov na doske vložených do konektora, fyzického ovládacieho zariadenia. Prijíma príkazy operačného systému (napríklad inštrukcie na čítanie údajov zo zariadenia) a vykonáva ich. Samotné ovládanie zariadenia je veľmi zložité a vyžaduje si vysokú mieru detailov. Funkciou regulátora je preto poskytovať jednoduché rozhranie pre operačný systém.

Ďalšou časťou je samotné zariadenie. Zariadenia majú pomerne jednoduché rozhrania, pretože ich možnosti sú obmedzené a je potrebné ich priviesť k jednotnému štandardu. Jeden štandard je potrebný napríklad na to, aby každý diskový radič IDE (Integrated Drive Electronics) mohol spravovať akýkoľvek disk IDE. Rozhranie IDE je štandardné pre mechaniky na počítačoch s procesorom Pentium, ako aj na iných počítačoch. Keďže skutočné rozhranie zariadenia je ovládačom skryté, operačný systém vidí iba rozhranie ovládača, ktoré sa môže veľmi líšiť od rozhrania samotného zariadenia.

Keďže každý typ ovládača je iný, vyžadujú si iný softvér. Program, ktorý komunikuje s radičom, je ovládač zariadenia. Každý výrobca radiča musí poskytnúť ovládače pre podporované operačné systémy. Ak chcete použiť ovládač, musí byť nainštalovaný v operačnom systéme, aby mohol bežať v režime jadra. Existujú tri spôsoby, ako nainštalovať ovládač do jadra:

Prestavte jadro spolu s novým ovládačom a potom reštartujte operačný systém (takto funguje veľa operačných systémov Unix);

Vytvorte záznam v súbore v operačnom systéme, ktorý označuje, že je potrebný ovládač, a potom reštartujte systém; počas počiatočného zavádzania operačný systém sám nájde potrebné ovládače a načíta ich (takto funguje systém Windows);

Operačný systém môže prijímať nové ovládače bez prerušenia prevádzky a rýchlo ich nainštalovať bez potreby reštartu. Táto metóda je čoraz bežnejšia. Zariadenia, ako sú zbernice USB, IEEE 1394 vždy vyžadujú dynamicky načítané ovládače.

Vstup a výstup údajov možno vykonať tromi rôznymi spôsobmi.

Najjednoduchší spôsob: užívateľský program vydá systémovú požiadavku, ktorú jadro preloží do volania procedúry zodpovedajúcej ovládaču, potom ovládač začne I/O proces. Počas tejto doby vykoná krátku programovú slučku a neustále sa pýta na zariadenie, s ktorým pracuje. Po dokončení I/O ovládač umiestni údaje tam, kde sú potrebné, a vráti sa do pôvodného stavu. Operačný systém potom vráti riadenie programu, ktorý uskutočnil volanie. Táto metóda čaká na pripravenosť (aktívne čakanie). Má to jednu nevýhodu: procesor sa musí pýtať zariadenia, kým sa nevypne.

Ovládač spustí zariadenie a požiada ho o prerušenie po dokončení I/O; Potom ovládač vráti riadenie do operačného systému a ten začne vykonávať ďalšie úlohy. Keď kontrolér zistí koniec prenosu dát, vygeneruje prerušenie dokončenia. I/O proces využívajúci prerušenia pozostáva zo štyroch krokov (obrázok 3). V prvom kroku ovládač odošle príkaz riadiacej jednotke a zapíše informácie do registrov zariadení. Potom ovládač spustí zariadenie. Keď radič dokončí čítanie alebo zápis počtu bajtov, ktoré mal preniesť, odošle signál do čipu radiča prerušenia pomocou špecifických vodičov zbernice. Toto je druhý krok. V treťom kroku, ak je ovládač prerušenia pripravený zvládnuť prerušenia, vyšle signál na určitý pin CPU, čím ho informuje. Vo štvrtom kroku radič prerušenia vloží na zbernicu číslo zariadenia, aby CPU vedelo, ktoré zariadenie dokončilo svoju prácu.

Tretím spôsobom vstupu/výstupu informácií je použitie špeciálneho ovládača DMA (Direct Memory Access). DMA riadi tok bitov medzi RAM a niektorými radičmi bez zásahu CPU. Procesor pristupuje k DMA čipu, oznamuje mu počet bajtov na prenos, ako aj adresu zariadenia a pamäte a smer prenosu dát. Po ukončení práce DMA iniciuje prerušenie, ktoré je spracované obvyklým spôsobom.


Obrázok 3 - Akcie vykonané pri spustení I/O zariadenia a prijatí prerušenia


pneumatiky

Z dôvodu zvýšenia rýchlosti procesora a pamäte boli do systému pridané ďalšie zbernice jednak na zrýchlenie komunikácie I/O zariadení a jednak na prenos dát medzi procesorom a pamäťou. Obrázok 4 znázorňuje schému výpočtového systému prvých Pentií.

Tento systém má 8 zberníc (zbernica vyrovnávacej pamäte, lokálna zbernica, pamäťová zbernica, PCI, SCSI, USB, IDE, ISA), každá s vlastnou rýchlosťou prenosu dát a vlastnými funkciami. Operačný systém musí mať informácie o všetkých týchto zberniciach, aby mohol spravovať počítač.

Centrálny procesor prenáša dáta cez lokálnu zbernicu do PCI mostového čipu, ktorý následne pristupuje k pamäti cez vyhradenú zbernicu. Systém Pentium I má vyrovnávaciu pamäť úrovne 1 (L1) zabudovanú v procesore a oveľa väčšiu vyrovnávaciu pamäť úrovne 2 (L2) pripojenú k procesoru na samostatnej zbernici vyrovnávacej pamäte. Zbernica IDE slúži na pripojenie periférnych zariadení k systému (CD-ROM, pevný disk).


Obrázok 4 – Štruktúra systému Pentium


Zbernica USB (Universal Serial Bus) je určená na pripojenie prídavných vstupno/výstupných zariadení, ako je klávesnica, myš, tlačiareň, flash pamäť atď. k počítaču. Postupom času sa objavujú a pridávajú nové, rýchlejšie pneumatiky.

Andrej Robachevskij

Operačný systém UNIX

Poďakovanie

Pri práci na knihe som veľakrát premýšľal nad obsahom tejto príjemnej rubriky, zakaždým som do nej pridával nové a nové mená ľudí, bez pomoci ktorých by táto kniha len ťažko uzrela svetlo sveta.

V prvom rade je to zásluha riaditeľa vydavateľstva "BHV-St. Petersburg" Vadima Sergeeva a môjho kolegu, zamestnanca Vuztelecomcenter a autora úžasného adresára "Žlté stránky internetu. Ruské zdroje" Alexey Sigalov. Boli to oni, ktorí ma presvedčili, že takáto kniha bude užitočná a inšpirovali ma, aby som sa chopil pera.

Som vďačný vedúcim Vuztelecomcentra Vladimirovi Vasilievovi a Sergejovi Khoruzhnikovovi za ich pomoc a pozornosť pri práci na knihe. Ich podpora a tolerantný prístup k plneniu mojich hlavných povinností ako riaditeľa rozvoja vo Vuztelecomcenter mi umožnili dokončiť túto prácu.

Bez pomoci Kirilla Shchukina hrozilo, že kniha vyjde bez ilustrácií, ktoré by ju len ťažko objasnili. Jeho trpezlivosť a profesionalita umožnili premeniť nejasné náčrty na plnohodnotné schémy, z čoho kniha veľmi ťažila.

Opakovane som hľadal radu od odborníkov na UNIX a predovšetkým od môjho kolegu Konstantina Fedorova. Jeho cenné pripomienky a odporúčania mi pomohli knihu doviesť do súčasnej podoby.

Chcel by som sa poďakovať aj špecialistom OLLY a najmä jeho technickému riaditeľovi Vitalijovi Kuzmichevovi, ktorého rady a konzultácie mali priaznivý vplyv na obsah tejto knihy.

Tiež by som chcel vyjadriť hlbokú vďaku recenzentom tejto knihy - Dr. Katedra informatiky, Štátna elektrotechnická univerzita v Petrohrade, doktor technických vied. Profesor D.V. Puzankov a hlav. Katedra informačných a riadiacich systémov, Štátna technická univerzita v Petrohrade, doktor technických vied. Profesor I.G. Chernorutsky za užitočné pripomienky.

Chcel by som poďakovať aj hlave. redakcii vydavateľstva "BHV-St. Petersburg" Elizaveta Karonik, ktorá sa ako prvá oboznámila s rukopisom a vyslovila kladný verdikt, za dôveru a koordináciu prác pri tvorbe knihy. Rád by som poďakoval Tatiane Temkine za skvelú prácu pri úprave knihy. Stávalo sa, že jednotlivé strany rukopisu obsahovali menej hlavného materiálu ako redakčné zmeny, s čím som spravidla vždy súhlasil.

Nedá mi nevysloviť vďaku svojim kolegom z práce Vladimírovi Parfenovovi, Jurijovi Gugelovi, Jurijovi Kirchinovi, Nine Rubinovej, ktorých priateľská podpora bola taká nápomocná.

A samozrejme by som sa chcel poďakovať svojej manželke a dcére za trpezlivosť a vieru v úspešné dokončenie tejto práce. Musím sa im ospravedlniť aj za to, že mi táto práca zabrala značnú časť času, ktorý im právom patril.

O knihe „Operačný systém UNIX“

Venované mojim blízkym

Účel knihy

Táto kniha nenahrádza referenčné knihy a rôzne príručky pre operačný systém UNIX. Okrem toho je niekedy ťažké nájsť informácie uvedené v knihe v dokumentácii dodanej s operačným systémom. Tieto publikácie sú plné praktických odporúčaní, dôsledných popisov nastavení určitých podsystémov, formátov na volanie príkazov atď. V zákulisí pritom často zostávajú otázky ako vnútorná architektúra jednotlivých komponentov systému, ich vzájomné pôsobenie a princípy fungovania. Bez znalosti tejto „anatómie“ sa práca v operačnom systéme zmení na používanie zapamätaných príkazov a nevyhnutné chyby vedú k nevysvetliteľným následkom. Na druhej strane sa v tejto knihe oveľa menej pozornosti venuje problematike administrácie UNIXu, konfigurácii konkrétnych podsystémov a používaným príkazom. Účelom tejto knihy je načrtnúť základnú organizáciu operačného systému UNIX. Treba mať na pamäti, že názov UNIX označuje významnú rodinu operačných systémov, z ktorých každý má svoj vlastný názov a jedinečné vlastnosti. Táto kniha sa pokúša poukázať na to, čo je spoločné pre „genotyp UNIX“, konkrétne: základné používateľské a programové rozhrania, účel hlavných komponentov, ich architektúru a interakciu a na základe toho predstaviť systém ako celok. V relevantných prípadoch sa však uvádzajú odkazy na konkrétnu verziu systému UNIX. Na ilustráciu určitých bodov boli použité nasledujúce operačné systémy: Solaris 2.5 od Sun Microsystems, SCO ODT 5.0 od Santa Cruz Operation, BSDi/386 od Berkeley Software Design.

Zrodu tejto knihy predchádzali viac ako trojročné skúsenosti s prednáškami o systéme UNIX študentom tretieho ročníka na Petrohradskom inštitúte presnej mechaniky a optiky (Technická univerzita), ako aj úvodný kurz pre používateľov UNIX a správcov v rôznych organizáciách. Väčšina materiálu z týchto kurzov sa odráža v knihe.

Kniha môže byť užitočná pri príprave množstva prednáškových programov o operačnom systéme UNIX a základoch operačných systémov vo všeobecnosti. Materiál v kapitole 1 poskytuje dobrý základ pre úvodný kurz do UNIXu. Predstavuje základné pojmy a organizáciu operačného systému ako celku. Táto kapitola tiež poskytuje základné informácie o používateľskom rozhraní a programovacom jazyku interpretera príkazov shellu.

Materiál v kapitole 2 je možné použiť v kurzoch programovania. Podrobná diskusia o hlavných systémových volaniach a funkciách knižnice poskytuje pomerne úplné pochopenie programovacieho rozhrania tohto operačného systému. Uvedené príklady ilustrujú diskutovanú problematiku a môžu sa premietnuť do laboratórnej praxe.

Knihu je možné využiť aj ako učebnicu pre študentov vyšších ročníkov odborov „Informatika a informatika“, „Aplikovaná matematika a informatika“ (pre prípravu bakalárov) a pre odbor „Počítače, systémové komplexy a siete“ (pre príprava inžinierov). Kniha je tiež dobrou pomôckou pre systémových programátorov a správcov UNIXu. Dúfam, že bližší pohľad na vnútornú organizáciu systému im pomôže efektívnejšie riešiť ich problémy a otvorí nové obzory pre experimentovanie.

Napokon, kniha môže byť zaujímavá pre široké spektrum používateľov, ktorí sa chcú o tomto operačnom systéme dozvedieť viac.

Komu je táto kniha určená?

Nemá zmysel pochopiť operačný systém bez práce s ním. V prvom rade je pre administrátora nevyhnutná znalosť operačného systému, jeho organizácie a štruktúry, t.j. osoba zodpovedná za jeho údržbu a konfiguráciu. Úlohy správcu sú početné – od registrácie používateľa po konfiguráciu siete, od vytvárania záloh systému až po ladenie výkonu. Bez pochopenia základnej štruktúry operačného systému sa riešenie všetkých týchto problémov zmení na zapamätanie si príkazov a položiek ponuky a núdzové situácie spôsobujú paniku.

Znalosť operačného systému je nevyhnutná pre vývojára softvéru. Výkon vášho programu závisí od toho, ako efektívne sa využívajú prostriedky operačného systému. Bez pochopenia princípov fungovania je ľahké zmiasť sa v zložitosti systémových volaní a knižničných funkcií. Ak pracujete s jadrom systému – napríklad vyvíjate ovládač zariadenia – bez znalosti systému nepostúpite ani o krok dopredu.

Nakoniec, ak ste len používateľom, znalosť operačného systému je obmedzená na tie úlohy, ktoré musíte vyriešiť počas práce. S najväčšou pravdepodobnosťou ide o niekoľko príkazov a ak pracujete s grafickým shellom, nebudete to potrebovať. Je však práca s čiernou skrinkou naozaj taká príjemná?

Akceptované notácie

Systémové volania, funkcie knižnice a príkazy shellu sú zobrazené kurzívou, ako napríklad open(2) , cat(1) alebo printf(3S) . Sekcia elektronického adresára man(1) je uvedená v zátvorkách (popis adresára je uvedený v prílohe A).

Dátové štruktúry, premenné a interné funkcie podsystémov jadra, zdrojové kódy programov a príklady príkazového riadku sú vytlačené písmom s pevnou šírkou. Napríklad d_open(), sleep() alebo príklad programu:

V príkladoch príkazového riadka je vstup používateľa zobrazený tučným písmom s pevnou šírkou, napríklad:

$ passwd

Zadajte staré heslo:

Názvy súborov sú napríklad zvýraznené tučným písmom /etc/passwd alebo .

Klávesy klávesnice sú zobrazené kurzívou a napríklad v hranatých zátvorkách< Del >alebo< Ctrl >+< C >(v druhom prípade sa zobrazí kombinácia klávesov).

Stiahnuté: 8365

Najznámejším zo všetkých operačných systémov je v súčasnosti nepochybne rodina Windows od spoločnosti Microsoft Corporation. Napriek svojej popularite však Windows nie je prvým ani jediným operačným systémom na svete.


28.04.2014
Nathan Wallace, Anthony Sequeira - register Windows® 2000

Stiahnuté: 596

V prvom rade by sme sa chceli poďakovať Charlotte Carpentier, editorke akvizícií v Coriolis. Špeciálne poďakovanie patrí aj Gregovi Balasovi, ktorý slúžil ako editor projektu, a Peggy Cantrell, ktorá slúžila ako koordinátorka produkcie knihy.


27.04.2014
A. Chekmarev - Windows 7 Administrátorská príručka

Stiahnuté: 12818

Sprievodca operačným systémom Microsoft Windows 7 je zameraný na pokročilých používateľov a správcov siete. Odhalili sa početné možnosti všetkých vydaní systému Windows 7, podrobne sa diskutuje o všetkých aspektoch používania systému: od inštalácie po metódy obnovy.


27.04.2014
M. Russinovich - Vnútorná štruktúra Microsoft Windows

Stiahnuté: 9066

Šieste vydanie tejto legendárnej knihy je venované vnútornej štruktúre a algoritmom fungovania hlavných komponentov operačného systému Microsoft Windows 7, ako aj Windows Server 2008 R2.


17.04.2014
Richard Simon - Microsoft Windows API. Príručka systémového programátora

Stiahnuté: 8967

Operačné systémy rodiny Windows posunuli metodiku vývoja aplikačných aplikácií, ktoré bežia pod kontrolou týchto operačných systémov, na úplne novú kvalitatívnu úroveň. Napriek množstvu výkonných nástrojov na tvorbu softvéru je znalosť aplikačného programového rozhrania (API) - základov toho všetkého - kľúčom k písaniu programov, ktoré môžu dosiahnuť dôstojnú pozíciu na trhu.


17.04.2014
Arnold Robbins, Elbert Hannah a Linda Lamb – Learning the vi and Vim Editors. 7. vyd.

Stiahnuté: 799

Neexistuje nič, o čom by zarytí používatelia Unixu a Linuxu boli viac fanatickí ako ich textový editor. Redaktori sú predmetom zbožňovania a uctievania, alebo pohŕdania a výsmechu, v závislosti od toho, či je témou diskusie váš redaktor alebo niekto iný.“ s. vi je štandardným editorom už takmer 30 rokov. Populárna na Unixe a Linuxe, má rastúcu sledovanosť aj v systémoch Windows. Najskúsenejší správcovia systému citevi ako svoj nástroj voľby. A od roku 1986 je táto kniha sprievodcom pre vi.


1Začíname s operačnými systémami

1.1 Účel a funkcie operačných systémov

Počítačový operačný systém je súbor vzájomne prepojených programov, ktoré fungujú ako rozhranie medzi aplikáciami a používateľmi na jednej strane a počítačovým hardvérom na strane druhej. Operačný systém vykonáva dve skupiny funkcií:

Poskytuje používateľovi alebo programátorovi rozšírený virtuálny stroj namiesto skutočného počítačového hardvéru;

Zvyšuje efektívnosť používania počítača racionálnym riadením jeho zdrojov v súlade s určitým kritériom.

Používateľa spravidla nezaujímajú detaily hardvéru počítača, vidí ho ako súbor aplikácií, ktoré je možné napísať v niektorom z programovacích jazykov. Operačný systém poskytuje programátorovi množstvo schopností, ktoré môžu programy využívať prostredníctvom špeciálnych príkazov nazývaných systémové volania. Preto softvérová aplikácia obsahuje mnoho systémových volaní potrebných napríklad na prácu so súbormi. Operačný systém skrýva detaily hardvéru pred programátorom a poskytuje pohodlné rozhranie na spustenie systému operačného prostredia.

Operačný systém zároveň funguje ako správca zdrojov. Podľa tohto prístupu je úlohou operačného systému zabezpečiť organizovanú a riadenú distribúciu procesorov, pamäte a I/O zariadení medzi rôzne programy. Operačný systém má nasledujúce vlastnosti:

Funkcie operačného systému fungujú rovnako ako ostatné softvéry - sú implementované vo forme jednotlivých programov alebo súboru programov, ktoré vykonávajú procesy;

Operačný systém musí delegovať riadenie na iné procesy a čakať, kým mu procesor opäť poskytne čas na vykonanie svojich povinností.

Správa zdrojov zahŕňa riešenie nasledujúcich všeobecných úloh, ktoré nezávisia od typu zdroja:

Plánovanie zdrojov – teda určenie, ktorý proces, kedy a v akom množstve (ak je možné zdroj alokovať po častiach) má byť daný zdroj pridelený;

Uspokojovanie požiadaviek na zdroje;

Monitorovanie stavu a zaznamenávanie využívania zdroja – teda udržiavanie prevádzkových informácií o tom, či je zdroj vyťažený alebo voľný a aký podiel zdroja už bol distribuovaný;

Riešenie konfliktov medzi procesmi.

Riadenie zdrojov zahŕňa ich multiplexovanie (distribúciu) dvoma spôsobmi: v čase a v priestore. Keď je zdroj alokovaný v priebehu času, rôzni používatelia a programy ho striedajú. Najprv jeden z nich získa prístup na používanie zdroja, potom ďalší atď. Napríklad niekoľko programov chce získať prístup k centrálnemu procesoru. Operačný systém v tejto situácii najskôr povolí prístup k procesoru jednému programu, potom, po dostatočnom spustení, ďalšiemu programu, potom ďalšiemu a nakoniec opäť prvému. Určenie toho, ako dlho sa bude zdroj v priebehu času používať, kto bude ďalší a ako dlho mu bude zdroj poskytnutý, je úlohou operačného systému. Ďalším typom distribúcie je priestorové multiplexovanie. Namiesto striedavej práce dostáva každý klient časť zdroja. RAM je zvyčajne zdieľaná medzi niekoľkými spustenými programami, takže všetky môžu byť uložené v pamäti súčasne (napríklad pomocou centrálneho procesora). Za predpokladu, že je k dispozícii dostatok pamäte na uloženie viacerých programov, je efektívnejšie alokovať v pamäti viacero programov naraz, než prideliť všetku pamäť jednému programu, najmä ak potrebuje iba malú časť dostupnej pamäte. Samozrejme, že to vyvoláva problémy spravodlivej distribúcie, ochrany pamäte atď., a operačný systém existuje na riešenie takýchto problémov.

1.2 História vývoja operačných systémov

História vývoja operačných systémov je zvyčajne spojená s históriou vývoja počítačov. Prvý nápad na počítač navrhol anglický matematik Charles Babbage v polovici devätnásteho storočia. Vyvinul takzvaný mechanický „analytický motor“, ktorý však nikdy nefungoval správne. Nasledujú generácie počítačov a ich vzťah k operačným systémom.

Prvá generácia 1945-1955

Počítače pozostávali z vákuových trubíc a patch panelov. Najvyšším úspechom je výroba diernych štítkov. Dierovaný štítok vyrobený z tenkého kartónu predstavuje informáciu o prítomnosti alebo neprítomnosti dier na určitých miestach na karte. Neexistuje žiadny operačný systém.

Druhá generácia 1955-1965

Základom počítačov sú tranzistory a systémy dávkového spracovania. Charakterizované balíčkami diernych štítkov a zariadeniami na nahrávanie magnetických pások. Hlavne naprogramované v jazykoch Fortran a Assembly pre operačné systémy Fortran Monitor System (FMS) a IBSYS.

Tretia generácia 1965-1980

Obdobie je charakteristické objavením sa integrovaných obvodov, ako aj multitaskingom alebo, ako sa inak nazýva, multiprogramovaním. IBM vyrába rôzne série strojov, počnúc IBM/360. Bol pre nich napísaný operačný systém OS/360, ktorý bol približne 1000-krát väčší ako FMS druhej generácie. V tejto fáze sa objavuje priemyselná implementácia multitaskingu - spôsobu organizácie výpočtového procesu, v ktorom bolo niekoľko programov súčasne uložených v pamäti počítača a striedavo vykonávaných na jednom procesore.

Ďalšími významnými operačnými systémami tohto obdobia boli CTSS (Compatible Time Sharing System) a MULTICS (Multiplex Information and Computing Service), ktorý bol navrhnutý tak, aby poskytoval prístup k jednému stroju pre stovky používateľov naraz. Ďalší vývoj tohto systému prerástol do UNIXu.

Štvrtá generácia 1980-súčasnosť

Toto obdobie je spojené s nástupom rozsiahlych integrovaných obvodov. V roku 1974 Intel uviedol na trh prvý univerzálny 8-bitový procesor Intel 8080. Začiatkom 80-tych rokov IBM vyvinula osobný počítač IBM PC. Zároveň sa objavila prvá verzia MS-DOS. Všetky dovtedy vyvinuté operačné systémy podporovali iba textový režim komunikácie s používateľom.

Prvý pokus o vytvorenie užívateľsky príjemného grafického rozhrania bol realizovaný na Apple Macintosh. Microsoft Corporation, ovplyvnená svojimi úspechmi, vydáva grafický shell pre MS-DOS – Windows. A od roku 1995 bol vydaný Windows 95, ktorý sa stal samostatným systémom. Následne na báze Windows 95 a ďalšieho systému Windows NT boli vyvinuté aktuálne existujúce operačné systémy - Windows 2000, XP, Vista a ďalšie.

1.3 Klasifikácia operačných systémov

Operačných systémov je veľa a nie každý ich pozná. Ďalej zvážime 7 typov rôznych operačných systémov od veľkých po malé úrovne.

Operačné systémy pre sálové počítače

Mainframe je vysokovýkonný počítač na všeobecné použitie so značným množstvom pamäte RAM a externej pamäte, navrhnutý na vykonávanie intenzívnej výpočtovej práce. Zvyčajne ide o počítače veľkosti miestnosti a nachádzajú sa vo veľkých korporáciách. Sálové počítače zvyčajne obsahujú tisíce diskov a terabajtov pamäte RAM.

Operačné systémy pre sálové počítače sú primárne navrhnuté tak, aby zvládali viacero simultánnych úloh, z ktorých väčšina vyžaduje obrovské množstvo I/O. Systém musí reagovať na tisíce požiadaviek za sekundu. Príkladom je OS/390, ktorý sa vyvinul z operačného systému 3. generácie OS/360.

Serverové operačné systémy

Tieto operačné systémy bežia na serveroch, ktorými sú osobný počítač, pracovná stanica alebo dokonca mainframe. Servery poskytujú možnosť pracovať s tlačovými zariadeniami, súbormi alebo internetom. Medzi takéto operačné systémy patria Unix, Linux, Windows 2003 Server atď.

Viacprocesorové operačné systémy

Tieto systémy sa používajú na počítačoch s viacerými centrálnymi procesormi. Vyžadujú špeciálne operačné systémy, ale zvyčajne ide o modifikácie operačných systémov pre servery.

Operačné systémy pre osobné počítače

Hlavným kritériom týchto systémov je pohodlné rozhranie pre jedného používateľa. Najznámejšie systémy: Windows 98, 2000, XP, séria Vista; Macintosh, Linux.

Operačné systémy v reálnom čase

Hlavným parametrom týchto systémov je čas. V systémoch riadenia priemyselných procesov je potrebné jasne synchronizovať prevádzkový čas dopravníka a rôznych priemyselných robotov. Toto je náročný systém v reálnom čase. Existujú aj flexibilné systémy v reálnom čase, kde sú zmeškané termíny dokončenia operácie prijateľné, napríklad multimediálne systémy. Operačné systémy v reálnom čase zahŕňajú VxWorks a QNX.

Vstavané operačné systémy

Patria sem operačné systémy PDA (Personal Digital Assistant). Okrem toho vstavané systémy fungujú na autách, televízoroch a mobilných telefónoch. Tieto operačné systémy majú zvyčajne všetky charakteristiky operačných systémov v reálnom čase s obmedzeniami pamäte, napájania atď. Príkladmi systémov sú PalmOS, Windows CE.

Operačné systémy pre čipové karty

Čipová karta je zariadenie veľkosti kreditnej karty obsahujúce centrálnu procesorovú jednotku. Takéto systémy podliehajú vážnym obmedzeniam výkonu a pamäte. Niektorí zvládajú len jednu operáciu – napríklad elektronickú platbu. Vybrané smart karty zahŕňajú podporu pre Java Virtual Machine.

1.4 Prehľad počítačového hardvéru

Operačný systém úzko súvisí s hardvérom počítača, na ktorom musí bežať. Hardvér ovplyvňuje sadu príkazov operačného systému a správu jeho zdrojov. Koncepčne môže byť jednoduchý počítač reprezentovaný modelom znázorneným na obrázku 1. Táto štruktúra bola použitá na prvých modeloch IBM PC.

Obrázok 1 - Niektoré komponenty osobného počítača


Na obrázku sú centrálny procesor, pamäť a vstupno/výstupné zariadenia prepojené systémovou zbernicou, prostredníctvom ktorej si vymieňajú informácie.

CPU

„Mozgom“ počítača je centrálna procesorová jednotka (CPU). Vyberá príkazy z pamäte a vykonáva ich. Typický cyklus procesora vyzerá takto: načíta prvú inštrukciu z pamäte, dekóduje ju, aby určil jej typ a operandy, vykoná inštrukciu a potom načíta a dekóduje nasledujúce inštrukcie. Takto sa vykonávajú programy.

Každý procesor má sadu inštrukcií, ktoré je schopný vykonať. Keďže prístup k pamäti na prijímanie inštrukcií alebo získavanie údajov trvá oveľa dlhšie ako vykonávanie týchto inštrukcií, všetky procesory obsahujú interné registre na ukladanie premenných a medzivýsledkov. Preto inštrukčná sada zvyčajne obsahuje inštrukcie na načítanie slova z pamäte do registra a uloženie slova z registra do pamäte. Okrem hlavných registrov používaných na ukladanie premenných má väčšina procesorov niekoľko špeciálnych registrov používaných na ukladanie premenných, ako aj špeciálne registre viditeľné pre programátorov.

Keď je procesor časovo multiplexovaný, operačný systém zastaví spustený program a spustí ďalší. Zakaždým, keď dôjde k takémuto prerušeniu, musí operačný systém uložiť všetky registre procesora, aby ich neskôr, keď bude prerušený program pokračovať v behu, bolo možné obnoviť.

Aby sa zvýšila rýchlosť CPU, ich vývojári opustili jednoduchý model, keď je možné prečítať, dekódovať a vykonať iba jeden príkaz v jednom hodinovom cykle. Moderné procesory majú schopnosť vykonávať viacero príkazov súčasne.

Väčšina CPU má dva prevádzkové režimy: režim jadra a používateľský režim. Ak procesor beží v režime jadra, môže vykonávať všetky inštrukcie v inštrukčnej sade a využívať všetky možnosti hardvéru. Operačný systém beží v režime jadra a poskytuje prístup ku všetkému hardvéru. Na rozdiel od toho užívatelia pracujú v užívateľskom režime, ktorý umožňuje spúšťanie podmnožiny programov a sprístupňuje len časť hardvéru.

pamäť

Druhou hlavnou súčasťou každého počítača je pamäť. V ideálnom prípade by pamäť mala byť čo najrýchlejšia (rýchlejšia ako spracovanie jedinej inštrukcie, aby procesor nespomalil prístup k dostatočne veľkej a extrémne lacnej pamäti). Dnes neexistujú žiadne technológie, ktoré by spĺňali všetky tieto požiadavky. Preto existuje iný prístup.

Pamäťový systém je konštruovaný vo forme hierarchie vrstiev, ktoré sú znázornené na obrázku 2. Ako sa pohybujete v hierarchii zhora nadol, zvyšujú sa dva parametre: prístupový čas, veľkosť pamäte.

Vrchnú vrstvu tvoria vnútorné registre CPU, takže pri prístupe k nim nedochádza k oneskoreniu. Interné registre uchovávajú menej ako 1 kB informácií. Programy môžu manipulovať s registrami bez zásahu hardvéru. Prístup k registrácii je najrýchlejší – niekoľko nanosekúnd.

Ďalšia vrstva obsahuje vyrovnávaciu pamäť, väčšinou riadenú hardvérom. Najčastejšie používané oblasti vyrovnávacej pamäte sú uložené vo vysokorýchlostnej vyrovnávacej pamäti umiestnenej vo vnútri procesora. Keď program potrebuje prečítať slovo z pamäte, čip vyrovnávacej pamäte určí, či je požadovaný riadok vo vyrovnávacej pamäti; ak áno, potom dôjde k prístupu do vyrovnávacej pamäte. Veľkosť vyrovnávacej pamäte je obmedzená kvôli jej vysokej cene. Moderné počítače majú dve alebo tri úrovne vyrovnávacej pamäte, pričom každá je pomalšia a väčšia ako predchádzajúca. Veľkosti vyrovnávacej pamäte sa pohybujú od desiatok kilobajtov až po niekoľko megabajtov. Čas prístupu je o niečo dlhší ako pri registroch.


Obrázok 2 – Hierarchická štruktúra pamäte


Nasleduje RAM (RAM - Random Access Memory alebo pamäť s náhodným prístupom) - hlavná pracovná oblasť úložného zariadenia stroja. Všetky požiadavky CPU, ktoré nie je možné splniť pomocou vyrovnávacej pamäte, sa odošlú do RAM na spracovanie. Objemy sa pohybujú od stoviek megabajtov až po niekoľko gigabajtov. Prístupový čas je desiatky nanosekúnd.

Nasleduje magnetický disk. Disková pamäť je o dva rády lacnejšia ako RAM na bit a má o dva rády väčšiu veľkosť. Disk má jeden problém – náhodný prístup k údajom na ňom trvá asi o tri rády dlhšie. Dôvodom nízkej rýchlosti pevných diskov (HDD) je, že jednotka je mechanická štruktúra. Pozostáva z jednej alebo viacerých kovových platní rotujúcich špecifickými rýchlosťami, napríklad 7200 ot./min. Objemy diskov teraz rýchlo rastú disky so stovkami gigabajtov sú v predaji pre väčšinu používateľov. Čas prístupu – nie menej ako 10 µs.

Magnetická páska sa často používa na vytváranie záloh na pevný disk alebo na ukladanie veľmi veľkých súborov údajov. Teraz je, samozrejme, zriedkavé, kde môžete nájsť použitie magnetických pások, ale stále sa ešte nevyčerpali. Magnetická páska obsahuje aj CD, DVD a flash pamäť. Čas prístupu sa meria v sekundách.

Okrem opísaných typov majú počítače malé množstvo permanentnej pamäte s náhodným prístupom. Na rozdiel od RAM nestráca svoj obsah ani po vypnutí napájania. Nazýva sa ROM alebo ROM. Pamäť ROM je naprogramovaná počas výroby a jej obsah už nie je možné meniť. Táto pamäť je pomerne rýchla a lacná. Zavádzacie programy počítača používané pri štarte sú umiestnené v ROM. Niektoré I/O karty navyše obsahujú pamäť ROM na ovládanie zariadení na nízkej úrovni. Typ pamäte nazývaný CMOS je volatilný. CMOS sa používa na uloženie aktuálneho dátumu, času a konfiguračných parametrov, ako je napríklad pevný disk, z ktorého sa má zaviesť systém. Táto pamäť čerpá energiu z nainštalovanej batérie.

I/O zariadenia

Operačný systém považuje I/O zariadenia za prostriedky. I/O zariadenia sa zvyčajne skladajú z ovládača a samotného zariadenia.

Radič je súprava čipov na doske vložených do konektora, fyzického ovládacieho zariadenia. Prijíma príkazy operačného systému (napríklad inštrukcie na čítanie údajov zo zariadenia) a vykonáva ich. Samotné ovládanie zariadenia je veľmi zložité a vyžaduje si vysokú mieru detailov. Funkciou regulátora je preto poskytovať jednoduché rozhranie pre operačný systém.

Ďalšou časťou je samotné zariadenie. Zariadenia majú pomerne jednoduché rozhrania, pretože ich možnosti sú obmedzené a je potrebné ich priviesť k jednotnému štandardu. Jeden štandard je potrebný napríklad na to, aby každý diskový radič IDE (Integrated Drive Electronics) mohol spravovať akýkoľvek disk IDE. Rozhranie IDE je štandardné pre mechaniky na počítačoch s procesorom Pentium, ako aj na iných počítačoch. Keďže skutočné rozhranie zariadenia je ovládačom skryté, operačný systém vidí iba rozhranie ovládača, ktoré sa môže veľmi líšiť od rozhrania samotného zariadenia.

Keďže každý typ ovládača je iný, vyžadujú si iný softvér. Program, ktorý komunikuje s radičom, je ovládač zariadenia. Každý výrobca radiča musí poskytnúť ovládače pre podporované operačné systémy. Ak chcete použiť ovládač, musí byť nainštalovaný v operačnom systéme, aby mohol bežať v režime jadra. Existujú tri spôsoby, ako nainštalovať ovládač do jadra:

Prestavte jadro spolu s novým ovládačom a potom reštartujte operačný systém (takto funguje veľa operačných systémov Unix);

Vytvorte záznam v súbore v operačnom systéme, ktorý označuje, že je potrebný ovládač, a potom reštartujte systém; počas počiatočného zavádzania operačný systém sám nájde potrebné ovládače a načíta ich (takto funguje systém Windows);

Operačný systém môže prijímať nové ovládače bez prerušenia prevádzky a rýchlo ich nainštalovať bez potreby reštartu. Táto metóda je čoraz bežnejšia. Zariadenia, ako sú zbernice USB, IEEE 1394 vždy vyžadujú dynamicky načítané ovládače.

Vstup a výstup údajov možno vykonať tromi rôznymi spôsobmi.

Najjednoduchší spôsob: užívateľský program vydá systémovú požiadavku, ktorú jadro preloží do volania procedúry zodpovedajúcej ovládaču, potom ovládač začne I/O proces. Počas tejto doby vykoná krátku programovú slučku a neustále sa pýta na zariadenie, s ktorým pracuje. Po dokončení I/O ovládač umiestni údaje tam, kde sú potrebné, a vráti sa do pôvodného stavu. Operačný systém potom vráti riadenie programu, ktorý uskutočnil volanie. Táto metóda čaká na pripravenosť (aktívne čakanie). Má to jednu nevýhodu: procesor sa musí pýtať zariadenia, kým sa nevypne.

Ovládač spustí zariadenie a požiada ho o prerušenie po dokončení I/O; Potom ovládač vráti riadenie do operačného systému a ten začne vykonávať ďalšie úlohy. Keď kontrolér zistí koniec prenosu dát, vygeneruje prerušenie dokončenia. I/O proces využívajúci prerušenia pozostáva zo štyroch krokov (obrázok 3). V prvom kroku ovládač odošle príkaz riadiacej jednotke a zapíše informácie do registrov zariadení. Potom ovládač spustí zariadenie. Keď radič dokončí čítanie alebo zápis počtu bajtov, ktoré mal preniesť, odošle signál do čipu radiča prerušenia pomocou špecifických vodičov zbernice. Toto je druhý krok. V treťom kroku, ak je ovládač prerušenia pripravený zvládnuť prerušenia, vyšle signál na určitý pin CPU, čím ho informuje. Vo štvrtom kroku radič prerušenia vloží na zbernicu číslo zariadenia, aby CPU vedelo, ktoré zariadenie dokončilo svoju prácu.

Tretím spôsobom vstupu/výstupu informácií je použitie špeciálneho ovládača DMA (Direct Memory Access). DMA riadi tok bitov medzi RAM a niektorými radičmi bez zásahu CPU. Procesor pristupuje k DMA čipu, oznamuje mu počet bajtov na prenos, ako aj adresu zariadenia a pamäte a smer prenosu dát. Po ukončení práce DMA iniciuje prerušenie, ktoré je spracované obvyklým spôsobom.


Obrázok 3 - Akcie vykonané pri spustení I/O zariadenia a prijatí prerušenia


pneumatiky

Z dôvodu zvýšenia rýchlosti procesora a pamäte boli do systému pridané ďalšie zbernice jednak na zrýchlenie komunikácie I/O zariadení a jednak na prenos dát medzi procesorom a pamäťou. Obrázok 4 znázorňuje schému výpočtového systému prvých Pentií.

Tento systém má 8 zberníc (zbernica vyrovnávacej pamäte, lokálna zbernica, pamäťová zbernica, PCI, SCSI, USB, IDE, ISA), každá s vlastnou rýchlosťou prenosu dát a vlastnými funkciami. Operačný systém musí mať informácie o všetkých týchto zberniciach, aby mohol spravovať počítač.

Centrálny procesor prenáša dáta cez lokálnu zbernicu do PCI mostového čipu, ktorý následne pristupuje k pamäti cez vyhradenú zbernicu. Systém Pentium I má vyrovnávaciu pamäť úrovne 1 (L1) zabudovanú v procesore a oveľa väčšiu vyrovnávaciu pamäť úrovne 2 (L2) pripojenú k procesoru na samostatnej zbernici vyrovnávacej pamäte. Zbernica IDE slúži na pripojenie periférnych zariadení k systému (CD-ROM, pevný disk).


Obrázok 4 – Štruktúra systému Pentium


Zbernica USB (Universal Serial Bus) je určená na pripojenie prídavných vstupno/výstupných zariadení, ako je klávesnica, myš, tlačiareň, flash pamäť atď. k počítaču. Postupom času sa objavujú a pridávajú nové, rýchlejšie pneumatiky.

OS/2, VMS, VAX, Win32, UNIX - čitateľ „Úvod do operačných systémov“ od D.V. Irtegova sa oboznámi s týmito operačnými systémami. Architektúra operačného systému, alokácia pamäte, súborové systémy, bezpečnosť a oveľa viac sú zahrnuté v tomto návode.

Moderný používateľ, samozrejme, pozná operačné systémy rodiny Win32, ale je nepravdepodobné, že by vedel o existencii samotnej rodiny, možno počul o niečom, čo sa nazýva Linux, ale všetky OS podobné UNIXu dáva dokopy bez toho, aby medzi nimi niečo urobil rozdiel, si taký systém ako OS/2 sotva pamätá a určite nevie, že súčasná vetva rodiny MS Windows vďačí za svoju existenciu práve jemu. Určite nemá ani najmenšiu predstavu o OS, ktorý je mimoriadne špecifický pre banky a obranné štruktúry, ako je VMS. Učebnica „Úvod do operačných systémov“ vypĺňa túto medzeru vo vzdelávaní čitateľa, hovorí o architektúre všetkých týchto operačných systémov, ich súborových systémoch, práci s hardvérom a udalosťami, implementácii multitaskingu a transakčného spracovania, bezpečnostných systémoch operačných systémov a ďalších problémoch absolútne nevyhnutné pre budúcich špecialistov v oblasti výpočtovej techniky.

Dnes je ťažké predstaviť si moderného človeka, ktorý nevlastní počítač. Aby používateľ mohol efektívne pracovať s touto technikou, musí rozumieť rôznym formátom súborov Microsoft Windows. Medzi najpopulárnejšie textové, grafické a zvukové formáty patria TeX, PDF, TIFF, HTML, GIF, AVI, MPEG, JPEG, CGML, MIME, QuickTime, PNDZIP, VRML, XXE, UUE, WAVE atď.

Kniha hovorí, ako správne rozbaliť súbory, ktoré boli komprimované rôznymi archivátormi, a ako správne kódovať a dekódovať údaje. Po preštudovaní referenčnej knihy „Formáty súborov Microsoft Windows XP“ (autor Boris Leontiev) sa čitateľ naučí identifikovať „stopy“ tých nástrojov, ktoré ovplyvnili súbory, ktoré skončili v jeho počítači.

Charakteristickým znakom tejto učebnice je dobre zostavená kombinácia teoretických základov budovania operačného systému s príkladmi implementovanými v praxi. Tretie vydanie tejto učebnice sa podrobne zaoberá algoritmami správy pamäte. Základy prenosu správ a medziprocesorovej interakcie sú načrtnuté podrobnejšie, každý z procesov je podrobne popísaný. Zohľadňujú sa koncepty, ako sú semafory, monitory a ovládače zariadení. Pozornosť je venovaná implementácii informačného vstupu/výstupu, vývoju súborových systémov a zabezpečeniu ochrany a bezpečnosti dát.

Učebnica E. Tanenbaum, A. Woodhull „Operačné systémy. Vývoj a implementácia“ je navyše vybavený CD so zdrojovým kódom bežiaceho OS MINIX kompatibilného s UNIX. To umožňuje v praxi podrobne preskúmať vlastnosti fungovania každej z jeho komponentov a operačného systému ako celku.

Publikácia určená pre tých, ktorí sa zaujímajú o vývoj moderného softvéru a vývoj produktov spoločnosti Microsoft, hovorí o aplikáciách na platforme 2003. Informácie zozbieral „z prvej ruky“ - „Programátorský almanach“ bol vytvorený na základe časopisov, ktorých autormi sú vývojári a testeri diskutovaných aplikácií.

Táto učebnica vychádza už v druhom vydaní a je oficiálne odporúčanou učebnicou ruského ministerstva školstva. Dôsledne popisuje štruktúru UNIXových systémov – ich architektúru, rozhrania, rutiny, interakciu s hardvérom a sieťovú interakciu. Kniha „UNIX Operating System“ od Robachevského a Nemnyugina bola aktualizovaná v súlade s požiadavkami doby a bude užitočná pre profesionálnych programátorov a správcov systému.

Publikácia je venovaná základným mechanizmom OS Windows. Kniha pokrýva všetky fázy operácií, od prístupu k registru procesora až po zobrazenie správy GUI na obrazovke. Veľká pozornosť sa venuje systémovým prechodom z jedného režimu do druhého, dôvodom výskytu „modrých obrazoviek smrti“ a vlastnostiam systému súborov NTFS. Russinovichova kniha „Vnútorná štruktúra Microsoft Windows: Windows Server 2003, Windows XP, Windows 2000. Hlavná trieda“ je súborom informácií, ktoré sú najužitočnejšie pre systémových administrátorov veľkých organizácií a zamestnancov servisných stredísk.

Túto učebnicu vytvorili učitelia Petrohradskej štátnej univerzity leteckých prístrojov na základe materiálov z rovnomenného kurzu. Kniha sa vyznačuje objemom a všestrannosťou - zahŕňa úvahy o problémoch od najjednoduchších, najmä od základných pojmov systémového programovania, až po pomerne zložité. Napríklad k vlastnostiam mikroarchitektúry x86 procesorov. Súlad so štátnym štandardom vám umožňuje používať „Systémový softvér“ od Gordeeva a Molchanova ako návod na prípravu na vedomostné testy. Hlavná hodnota knihy však spočíva v jej užitočnosti pri praktickej činnosti správcu systému alebo programátora.

Kniha popisuje možnosti a zraniteľnosti systému Windows 2000, ktoré málokto pozná a málokedy ich využíva. Pozostáva z niekoľkých veľkých kapitol navrhnutých na zlepšenie zručností profesionálov a príloh so zoznamami príkazov Kernel Debugger, funkcií rozhrania API jadra a prvkov rutín OS. V časti „Nedokumentované funkcie systému Windows 2000“ hovorí Sven Schreiber o práci s natívnym rozhraním API, používaní mechanizmov ladenia systému Windows 2000 a skúmaní jeho pamäte, prístupe k jadru systému z používateľského režimu, vývoji ovládačov v režime jadra a oveľa viac. Kniha bude teda užitočná pre špecialistov, ktorí chcú vytvárať najefektívnejšie aplikácie a sú pripravení porozumieť dielam spoločnosti Microsoft na mimoriadne hlbokej úrovni.

Referenčný a tutoriál Windows Embedded napísaný profesionálnym vývojárom bude užitočný nielen pre začiatočníkov, ale aj pre profesionálnych programátorov, pretože obsahuje širokú škálu praktických informácií - od „tipov pre začiatočníkov“ až po profesionálne tajomstvá autora.

Microsoft Windows Embedded 2009 je dnes najstabilnejší a najrozšírenejší zo všetkých vstavaných systémov Windows, vytvorený na báze Windows XP. Napriek všetkým svojim podobnostiam s XP je však dostatočne odlišný od svojho predka, že naučiť sa preň programovať si vyžaduje samostatné štúdium. Kniha Stanislava Pavlova „Fundamentals of Windows Embedded Standard 2009“ pokrýva nielen technické problémy, ktorým čelí vývojár softvéru Windows Embedded, ale aj ďalšie praktické informácie, o ktorých autor učebnice píše na základe osobných profesionálnych skúseností.

Príručka bude užitočná ako pre začínajúcich vývojárov – za predpokladu, že dôsledne ovládajú látku kapitolu po kapitole – tak aj pre profesionálnych programátorov, ktorí tu nájdu množstvo užitočných referenčných informácií. Skúsení vývojári budú ťažiť aj z odborných rád autora, ktoré sú podporené aj „živými“ príkladmi z praxe.

Táto učebnica, ktorá sa venuje skúmaniu koncepcie operačných systémov ako takých, a nie konkrétnemu OS, je určená pre študentov bakalárskeho a postgraduálneho štúdia, ktorí študujú informatiku a nie programovanie ako také.

Táto kniha, schválená ministerstvom školstva, je určená pre študentov odboru „Informatika a informatika“ ako učebnica predmetu „Operačné systémy“ a postgraduálnych študentov zaoberajúcich sa teoretickou stránkou informatiky v jej pôvodnom chápaní, tj. , „veda o spracovaní informácií“. Nenájdete tu informácie o zostavení systémového jadra pre konkrétny procesor, nastavení režimov grafickej karty alebo optimalizácii súborového systému, správe rolí používateľov a skupín - na rozdiel od mnohých workshopov a referenčných kníh venovaných Windows alebo Unix sa tento tutoriál zaoberá ide z čisto teoretického hľadiska o koncepciu operačných systémov ako takých. Základné princípy návrhu operačného systému, o ktorých sa hovorí v tejto knihe, sú platné pre takmer všetky súčasné operačné systémy.

Pre praktizujúcich IT špecialistov môže byť učebnica „Network Operating Systems“ od Natalye a Victora Oliferovových tiež užitočná ako zdroj „akademických“ vedomostí pri pohovoroch vo firmách, kde sa primárne zameriavajú na akademickú povahu oficiálneho vzdelávania a nie na praktické zručnosti. žiadateľov.



Súvisiace články: