Linux FAQ's & Manuals
- Linux Scripts
- Debian Install
- Bash For Beginners
- Bugzilla
- Consultants Guide
- GCC Manual
- Linux Command Line Tools
- Gnu Pascal Coding Standards
- Linux Installation Disk
- Labolatorium Linux(PL)
- Budowa systemu Linux(PL)
- Linux Dictionary
- Network Administrators
- Rescue Disk for Linux
- Red Hat Installation
- Red Hat Customization
- Red Hat Getting Started
- Red Hat Security
- Secure & Optimize
- Slackware Manual
- Suse Support
- Suse FAQ
Free Software Magazine: GNU/Linux on the Desktop: A Modest Business Proposal
With the bickering about what Dell will and won't do to provide Linux on their desktop machines, it seems to me there's a much easier way to introduce GNU/Linux into the world. Scrap it...!
Editor's Note: Runners, Take Your Mark
There is a fair to middlin' chance that GPL v3 will be announced this weekend at the Free Software Foundation's annual associate member and activist meeting in Cambridge, MA...
Linux DevCenter: Where Fedora Went Wrong
Actually it was more of a rant than an announcement. ESR's scatter shot attack on Fedora was wrong in more ways than I care to comment about here...
LinuxDevices: Linux, Opera Help Fight HIV AIDS in Malawi
Opera Software reports that Linux and the Opera browser are being used by a non-government organization combatting HIV AIDs in Malawi...
LinuxWorld: Microsoft and Open Source Face Off Over IP Telephony
Things are getting tense in the business telephony world. Microsoft is heading for a face-off with the increasingly influential open source company Digium...
With the bickering about what Dell will and won't do to provide Linux on their desktop machines, it seems to me there's a much easier way to introduce GNU/Linux into the world. Scrap it...!
Editor's Note: Runners, Take Your Mark
There is a fair to middlin' chance that GPL v3 will be announced this weekend at the Free Software Foundation's annual associate member and activist meeting in Cambridge, MA...
Linux DevCenter: Where Fedora Went Wrong
Actually it was more of a rant than an announcement. ESR's scatter shot attack on Fedora was wrong in more ways than I care to comment about here...
LinuxDevices: Linux, Opera Help Fight HIV AIDS in Malawi
Opera Software reports that Linux and the Opera browser are being used by a non-government organization combatting HIV AIDs in Malawi...
LinuxWorld: Microsoft and Open Source Face Off Over IP Telephony
Things are getting tense in the business telephony world. Microsoft is heading for a face-off with the increasingly influential open source company Digium...
do spisu tresci tematu 01

autor: nguyen vu hung
1.1.1 architektura systemu:ogolny schemat
spis tresci
- wprowadzenie
- diagram blokowy jadra systemu:
- architektura systemu: wprowadzenie, funkcje systemowe, podsystem plikow, podsystem sterujacy procesami,
- bibliografia
- pytania i odpowiedzi
wprowadzenie
- system operacyjny jest wazna czescia prawie kazdego systemu komputerowego.system komputerowy mozna podzielic na cztery czesci skladowe:sprzet,system operacyjny,programy uzytkowy i uzytnikow.
- sprzet(procesor,czyli jednostka centralna,pamiec i urzadzenia wejscie-wyjscie)stanowi podstawowe zasoby systemu komputerowego.
- programy uzytkowe(kompilatory,systemy baz danych,...) okreslaja sposoby uzycia tych zasobow do rozwiazania zadan' stawianych przez uzytnikow.
- system operacyjny jest programem,ktory dziala jako posrednik miedzy uzytnikiem komputera a sprzetem komputerowym.system operacyjny nadzoruje i koordynuje poslugiwanie sie sprzetem przez rozne program uzytkowe ,ktore pracuja na zlecenie roznych uzytkownikow.system operacyjny wykonuje rozne operacje podstawowe w imieniu procesow uzytkownika.
- oto zestaw uslug dostarczanych przez system operacyjny:
- sterowanie wykonaniem procesow,przez umozliwienie ich tworzenia,konczenia, zawierzenia i komunikowania sie.
- sprawiedliwe szeregowanie procesow ubiegajacych sie o czas centralnego procesa.procesy korzystaja z cpu na zasadzie podzialu czasu--cpu wykonuje proces,jadro zawierza go po uplywie kwantu czasu i wybierta do wykonania inny,pozniej wznawia wykonanie zawieszonego procesu.
- przydzielenie wykonywaniemu procesowi pamieci glownej.jadro pod pewnymi warunkami umozliwia procesom wspoldzielenie czesci ich przestrzeni adresowej,lecz chroni prywatna czesc przestrzeni adresowej procesu przed niepowolanym dostepem z zewnatrz.kiedy system zaczyna brakowac pamieci wolnej, jadro zwalnia pamiec przepisujac procesczasowo do pamiec pomocnicznej,zwanej urzadzaniem do realizacji wymianej.jesli jadro wysyla cale procesy na urzadzenie pomocnicze,to implementacje nazywa sie systemem z wymiana.jesli zas' zapisuje strony pamiecji,to nazywa sie ja systemem stronicujacym.
- przydzielanie pamieci pomocniczej na efektywne przechowywanie i odczytywanie danych uzytkowych.ta usluga obejmuje system plikow.jadro przydziela pamiec pomocnica na plik uzytkowe,odzyskuje nieuzywana pamiec,nadaje systemowi plikow czytelna strukture ichroni pliki uzytkowe przed niepowolanym dostepem.
- umozliwianie procesom kontrowanego dostepu do urzadzen'peryferyjnych,takich jak terminale, stacje tasm,stacje dyskow i urzadzenia sisciowe.
diagram blokowy jadra systemu

architektura systemu operacyjnego
wprowadzenie
- system operacyjny czyli "jadro" sa dwa glowne skladniki to:podsystem plikow i podsystem sterujacy procesami.podsystem plikow zarzadza plikami,a podsystem sterujacy procesami odpowiednialny jest za synchronizacja procesy,komunikacja miedzy nimi,zarzadzania pamiecia i szeregowanie procesow.
- rysunek przedstawia diagram blokowy jadra,pokazuje rozne moduly i ich wzajemne zwiazki.po lewej stronie jest umieszczony podsystem plikow,a po prawej podsysytem sterujacy procesami.diagram obrazuje wygodne logiczne spojrzenie na jadro.
funkcje systemowe
- funkcje systemowe tworza intefejs miedzy wykonywanym programem a systemem operacyjnym.ogolnie biorac,mozna z nich korzystac za pomoca instrukcji w jezyku asemblera.
- zbior funkcji systemowych podzielono na te,ktore wspolpracuja z podsystemem plikow i te wspolpracujace z podsystemem syterowania procesami.
- funkcje systemowe mozna z grubsza podzielic na piec podstawowych kategorii: nadzorowanie procesow,operacje na plikach,operacje na urzadzeniach,komunikacja i utrzymawania informacji.
- rodzaj funkcji systemowych
- zakonczenie(exit),zaniechanie;
- zaladowanie,wykonanie(exec);
- utworzenia(fork),zakonczenie proces(exit);
- pobranie artybutow procesu(getegid,getgid,getpid ..),okreslenie artybutow procesu(setgid,setuid);
- czekanie czasowo(wait);
- oczekiwanie na zdarzenie(wait),sygnalizacja zdarzenia(signal);
- przydzial i zwolnienie pamiec;
- utworzenie pliku(creat);,usuwanie;
- otwarcie(open),zamkniecie(close);
- czytanie(read),pisanie(write),zmiana polozenie;
- pobranie artybutow pliku,okreslenie artybutow pliku;
- zamowienie urzadzenia,zwolnienia urzadzenia;
- czytanie urzadzenia,pisanie urzadzenia,zmiana polozenie;
- pobranie artybutow urzadzenia,okreslenie artybutow urzadzenia;
- logiczne przylaczanie lub odlaczenie urzadzen;
- pobranie czas(time,stime),okreslenie czas(time);
- pobranie danych systemowych,okreslenie danych systemowych;
- pobranie lub okreslenie artrybutow proces,plik i urzadzenenie;
- utworzenie,usuniecie polaczenia komunikacyjnego;
- nadawanie,odbieranie komunikatow;
- przekazanie informacja o stanie;
- przylaczenie lub odlaczenie urzadzen wymiennych;
podsystem plikow
podsystem plikow zarzadza plikami:- przydzielaja na nie pamiec.
- administruja pamiecia wolna.
- steruje dostepem do plikow.
- udostepnia uzytkownikom dane.
- podsytem plikow udostepnia dane z pliku za pomoca mechanizmu buforowania.ktory reguluje przeplyw danych miedzy jadrem i urzadzeniami pamieci pomocniczej.mechanizm buforowania wspoldziala z podprogramami obslugi blokowych urzadzen' wejscie-wyjscia w celu zainicjowania transmisji danych do i z jadra.podprogramy obslugi urzadzen sa modulami jadra,ktore steruja praca urzadze peryferyjnych. blokowe urzadzennia wejscia-wyjscia sa urzadzenniami pamieci o dostepie bezposrednim lub tez to ich podprogramy obslugi tworza dla reszty systemu iluzje takich urzadzen.podprogram obslugi tasmy moze np:pozwolic jadru na traktowanie jednostki tasmowej jak urzadzennia pamieci o dostepie bezposrednim.podsystemem wejscia-wyjscia wspolpracuje takze bezposrednio z podprogramami obslugi surowych urzadzen wejscia-wyjscia bez uruchamiania mechanizmu buforowania.urzadzennia surowe,czasami nazywane znakowymi, obejmuja wszystkie urzadzennia,ktore nie sa blokowe.
- proces komunikuja sie z podsystem plikow za pomoca specjalnego zbioru funkcji systemowych. do funkcji systemowych sluzacych do urzadzenia plikow naleza:creat()-tworzenie plikow, open()-otwierzania pliku z prawem czytania pisanie lub wykonanie ...,close()- zamkniecie pliku,read(),write(),stat()-do zadawania pytan o artybutoy pliki, chmod()-do zmiana wlasciciela pliku.poza tym sa jeszcze duzo funkcje jak lseek(), chdir(),chroot(),chown(),fstat(),dup(),pipe() .... wiecej informacja o tych funkcji jest na temat06(system plikow-funkcje systemowe).
podsystem sterujacy procesami
podsystem sterowania procesami odpowiednialny jest za:- synchronizacja procesy.
- komunikacja miedzy nimi.
- zarzadzania pamiecia.
- szeregowanie procesow.
- podsystem sterowania procesami wspolpracuje z podsystemem plokow podczas ladowania pliku do pamieci w celu wykonania,podsystem sterowania procesami czyta pliki wykonalne do pamieci przed rozpoczeciem ich wykonania. podsystem sterowania procesami czyta plik uzytkonywalne do pamieci przed rozpoczeciem ich wykonywania wtedy wspolpracuje z podsystemem plikow
- proces jest wykonaniem programu i sklada sie za zbiorowosci bajtow,ktore cpu interpretuje jako instrukcje maszynowe,dane i stos.jadro steruje wykonaniem procesow.kilka procesow moze byc wcieleniem jednego programu.jadro identifikuje kazdy proces za pomoca jego numer,zwanego identifikatorem procesu(pid).proces 0 jest procesem specjalnym,tworzonym "recznie".
- do funkcji systemowych sluzacych do sterowania procesami naleza:fork()-utworz nowy proces,exec()-naloz obraz program na program wykonywanego procesu,exit()- zakoncz wykonywanego procesu,wait()-zsynchronizuje wykonywanie prosecu z zakonczeniem wykonania procesu utworzonego wczesniej za pomoca funkcji fork, brk()-skontroluj rozmiar pamieci przydzielonej procesowi,signal()-ustal reakcje procesu na nietypowe zdarzenia. wiecej informacja o tych funkcji jest na temat02(zarzadzanie procesami).
- komunikacja miedzyprocesowa jest kilka sposobow--od asynchronicznego sygnalizowania zdarzen do synchronicznej transmisji komunikatow miedzy procesami,np lacza niezwane- pipe,komunikaty. wiecej informacja o tym jest na temat03(komunikacja miedzy procesami).
- modul zarzadzajacy pamiecia steruje przydzialem pamieci.jesli nie ma dosc pamieci fizycznej na wszystkie procesy,to jadro przesyla je miedzy pamiecia gowna i pamiecia pomocnicia tak,aby wszystkie mialy szanse wykonac.dwie strategie:wymiany i stronicowanie na zadanie. wiecej informacja o tym jest na temat04(zarzadzania pamiecia).
- modul odpowiedzalny za dostep do cpu przydzial go procesom.ustala kolejnosc wykonywania procesow,tzn.korzystaja one z procesa az do chwili.gdy same zwolnia cpu podczas oczekiwania na jakis zasob lub gdy jadro odbierze im procesor po uplywie przyzielonego kwantu czasu. wowczas proces szeregujacy wybiera proces gotowy do wykonania o najwyzszym priorytecie.
modul sterujacy sprzetem
- modul sterujacy sprzetem odpowiedzialny za obssulge przerwan' i za komunikowanie sie z komputerem.urzadzenia takie jak dyski czy terminale moga przerywac przce cpu podczas wykonywania procesu.jesli tak sie zdarzy.jadro moze wznowic wykonywanie przerwanego procesu po ukonczeniu obslugi przerwania.przerwania nie sa obslugiwanie przez specjalne procesy, lecz przez specjalne funkcje jadra,wywolywane w kontekscie wykonywanego wlasnie procesu.
bibliografia
- abraham silberschatz, james l. peterson,peter b. galvin: podstawowy systemow operacyjnych
- a. m. lister,r. d. eager:wprowadzenie do systemow operacyjnych
- maurice j.bach: budowa systemu operacyjnego unix
autor: nguyen vu hung