SYSTEM(1), Informatyka


Systemy operacyjne,

powłoki systemu operacyjnego

W każdym komputerze lub systemie komputerowym istnieje obfitość (uciążliwych) zadań, którymi użytkownik nie chciałby sobie zawracać głowy. Obróbka tych (uciążliwych) problemów organizacyjnych wewnątrz komputera jest zadaniem systemu operacyjnego.

System operacyjny jest swego rodzaju strefą buforową miedzy oprogramowaniem stosowanym i przebiegami wewnątrz komputera. Rysunek wyjaśnia dokładniej to przejście od sprzętu w górę.

0x08 graphic

. Od sprzętu do rozwiązania problemu

Z punktu widzenia użytkownika system operacyjny nie jest więc niczym innym jak koniecznym środkiem pomocniczym, aby uwolnić użytkownika od:

Zadania systemu operacyjnego

Zadaniem systemów operacyjnych jest skuteczne zarządzanie różnymi rodzajami i przebiegami pracy komponentów sprzętowych komputera.

System operacyjny jest zbiorem programów, który oddziela użytkownika od skomplikowanego sprzętu, a więc upraszcza użytkowanie i obsługiwanie komputera.

Wynika stąd, że nie istnieje żaden pełny opis zadań systemu operacyjnego. Na pewno jednak należą do tego zadania następujące:

Wprowadzanie-wydawanie danych

Wszystkie przebiegi biegną pod reżyserię systemu operacyjnego. Jeżeli na przykład. naciskamy klawisz podczas użytkowania systemu do przetwarzania tekstu, to naciśniecie wyzwala funkcję systemu operacyjnego „weź znak z klawiatury”.

Zarządzanie plikami

Jak szuka system operacyjny?

Zadaniem logicznym, opierającym się na zarządzaniu wejściem-wyjściem, jest zarządzanie wszystkimi danymi. Przy tym system operacyjny nie może stosować metod „chaotycznych”. Z zapytaniem

„Gdzie znajdę wyliczenie zapłaty dla Kowalskiego?”

system operacyjny może dać radę sobie tylko przez ściśle hierarchiczny porządek (rysunek ).

Jak użytkownik chciałby szukać?

Do zarządzania plikami należy jednak nie tylko umiejętność ustalenia, gdzie się odpowiednie dane znajdują, ale także dysponowanie nimi wtedy, kiedy są potrzebne. Komfortowe sposoby szukania rozwiązują to przez analogiczne, „maskowane” powłoki, na których można poszukiwać prawie „normalnie”. Jednak powłoki te są w rzeczywistości dodatkowymi „nakładkami oprogramowania”, które czynią sterowanie systemu istotnie wygodniejszym

0x08 graphic
Gdzie znajdę ... (jako system operacyjny)

Wewnętrzna struktura systemów plików

Wewnętrzna struktura systemów plików wygląda podobnie jak drzewo genealogiczne. Mówi się o hierarchicznej strukturze drzewiastej (rys.). Korzeń drzewa odpowiada plikowi korzenia (root). Nie ma on żadnej własnej nazwy. Węzły odgałęzień odpowiadają katalogom (directories). Na liściach znajdują się pliki (files). Nazwa pliku jest całkowicie i jednoznacznie opisana przez absolutna nazwę ścieżki. Absolutna nazwa ścieżki składa się ze wszystkich nazw katalogów, które leżą „na śladzie” od korzenia do szukanego pliku. Dlatego na rysunku absolutna nazwa pliku texta brzmi

/usr/roemer/asterix/texta.

Plik ten jest zresztą różny od

/usr/roemer/idefix/texta.

Oba należą do różnych katalogów! Wewnątrz jednego katalogu każda nazwa powinna pojawić się tylko jeden raz.

Katalog roboczy (working directory)

Każdy użytkownik ma podczas pracy przy komputerze ciągle aktualny katalog (working directory), w którym właśnie pracuje. Wewnątrz aktualnego katalogu (np. asterix) znajdujące się w nim pliki mogą być przywoływane bez kompletnych absolutnych nazw ścieżki. Wystarcza po prostu nazwa pliku. Dla przykładu na rys. oznacza to, że aby jednoznacznie przywołać plik:

dla aktualnego katalogu asterix

wystarcza sama nazwa pliku texta

zamiast absolutnej ścieżki pliku /usr/roemer/asterix/texta.

Uregulowanie prawa dostępu (password)

Do zarządzania plikami należy także uregulowanie praw dostępu. W większości systemów operacyjnych przed „wejściem” sprawdzane się, za pomocą hasła (password), uprawnienie do dostępu. Czytanie, zapisywanie i przetwarzanie plików może być przy tym oddzielnie udostępniane lub blokowane. Uprawnienia dostępu można ustalać oddzielnie dla

Tylko właściciel pliku i zarządca systemu mogą zmienić uprawnienia dostępu.

0x08 graphic

Struktura drzewiasta systemu plików

Zarządzanie pamięcią

Innym centralnym zadaniem systemu operacyjnego jest zarządzanie pamięcią. Najprostszą tego formą jest sztywne segmentowanie.

Organizacja pamięci podczas segmentowania sztywnego

Większość systemów operacyjnych stosuje segmentowanie zmienne. Polega ono na „wsortowywaniu” procesów „nowych” - w zależności od wymaganego zapotrzebowania pamięci. Pamięć, jaką mamy do dyspozycji, jest wtedy fragmentowana (dzielona na części). Dlatego podczas skutecznego zarządzania pamięcią procesy są „zsuwane do siebie”, ścieśniane, upakowywane

Do zarządzania pamięcią należy również bieżące przydzielanie procesowi dodatkowej pamięci głównej, jeżeli takiej potrzebuje (dynamic memory allocation). Mamy do czynienia z takim przypadkiem wtedy, gdy ilość danych do przetworzenia nie jest ustalona z góry, ponieważ zależy na przykład od użytkownika.

Bardzo ważnym zadaniem jest ochrona obszarów pamięci przed niezamierzonym zlikwidowaniem. Jeżeli ochrona taka nie istnieje, to procesy, które są równocześnie w pamięci głównej, mogą sobie wzajemnie zniszczyć dane lub kod programowy, w ekstremalnym przypadku możliwe jest nawet zniszczenie samego systemu operacyjnego (jak na przykład w DOS).

Zarządzanie zadaniami i procesami

Do zadań systemu operacyjnego należy również zarządzanie zadaniami i procesami. Wchodzące „zamówienia” trzeba przetwarzać na przykład partiami lub według priorytetów. Podczas zarządzania procesami musimy mieć pewność, że „proces” obróbki pojedynczego programu w każdym stadium przebiegnie jednoznacznie i bez „zakleszczeń”. Mogą przy tym wystąpić następujące stany:

gotowy

program mógłby biec, ale procesor nie jest wolny;

aktywny

procesor przejął program i obrabia go;

oczekujący

program żąda zdarzenia zewnętrznego w procesorze i jest przestawiany w stan „oczekujący”; procesor jest wolny dla innych procesów.

Oczywiście mogą przy tym wystąpić problemy, na przykład:

W tym przypadku oba procesy pozostają (na zawsze, aż do wyłączenia komputera z sieci) w stanie „oczekujący”. Taka sytuacja nazywana jest zakleszczeniem (deadlock). Może ona wystąpić nie tylko podczas zarządzania procesami systemu operacyjnego, lecz także podczas koordynacji dwóch robotów, które oczekują na określoną czynność swego sąsiada. Warunki powstania takiego „zakleszczenia” są następujące:

Typową sytuacją zakleszczenia w życiu codziennym jest ruchu kołowy, gdzie obowiązuje zasada „nadjeżdżający z prawej przed nadjeżdżającym z lewej”:

Zakleszczenia można rozpoznawać, można ich unikać lub się im przeciwstawiać, jeżeli się je ciągle sprawdza. Problemy te mogą występować nie tylko w systemach operacyjnych, ale zawsze wtedy, gdy kilka maszyn i urządzeń jest powiązanych z komputerami. Dlatego przy wszystkich programach użytkowych już w stadium projektu należy zwracać dokładną uwagę na możliwe zakleszczenia. Do tego nadaje się między innymi sieci Petri'ego.

Rodzaje systemów operacyjnych

Przyporządkowanie do generacji komputera

Systemy operacyjne, zasługujące na tę nazwę, pojawiły się po raz pierwszy w komputerach drugiej generacji, a więc od roku 1958. Zawierały one:

Wraz z trzecią generacją komputerów (od roku 1968) dochodziły do tego stopniowo następujące elementy:

Dziś również systemy operacyjne komputerów osobistych mają prawie wszystkie te elementy. Prostsze systemy operacyjne stosuje się głównie w sterowaniach maszyn i urządzeń.

Dla obszaru komputerów osobistych najbardziej rozpowszechnionym w „świecie IBM” jest system operacyjny MS-DOS.

Charakterystyczne jest to, że większość systemów operacyjnych powiązana jest z określonymi wytwórcami. Jeżeli zdecydujemy się na określony system operacyjny, to z reguły wiążemy się zarówno z wytwórcą (czy grupą wytwórców) jak również z określonym „klockami” sprzętowymi. „Sławetnym” wyjątkiem jest system operacyjny UNIX a ostatnio LINUX.

Przykład UNIX-a

UNIX był pierwszym i długi czas jedynym rzeczywiście przenośnym i niezależnym od producenta systemem operacyjnym. Przenośność dotyczy kodu źródłowego, to znaczy tylko teksty programu napisane są w wyższym języku programowania dają się przenosić bez kłopotu. Trzeba je jednak na każdym komputerze na nowo tłumaczyć za pomocą właściwego kompilatora. Natomiast znany system operacyjny komputerów osobistych MS-DOS jest przenośny w „świecie Intela” w postaci kodu binarnego. Gotowe, przetłumaczone na kod maszynowy, programy są przenośne. Nie potrzebne jest żadne nowe tłumaczenie. Ale działa to tylko właśnie w świecie IBM/Intel.

System operacyjny UNIX powstał pod koniec lat 60-tych w firmie AT&T (porównaj rysunek ) i w wersji V.4 rozwinął się do wariantu znormalizowanego na całym świecie. Do tej normalizacji przyłączyli się wszyscy wytwórcy europejscy i amerykańscy. Było to w historii rozwoju komputerów zjawiskiem niespotykanym.

Jądro (kernel) systemu operacyjnego UNIX składa się z około 10 000 linijek języka C i około 500 linijek kodu maszynowego każdorazowej maszyny. Jądro realizuje przede wszystkim interfejsy urządzeń peryferyjnych, system plików i zarządzanie procesami. Użytkownik może dotrzeć do funkcji UNIX-a zarówno przez powłokę (shell), jak i przez wywołania systemowe wewnątrz programów użytkowych.

Historia rozwoju UNIX-a

Powłoka (shell) systemu operacyjnego UNIX jest programem interpretującym (opisującym) polecenia i leży, jak sama nazwa wskazuje, wokół systemu operacyjnego. Prowadzi ona dialog z użytkownikiem.

Język C jest wśród zastosowań UNIX-a najbardziej rozpowszechnionym językiem programowania. Łączy on właściwości wyższych języków programowania i języków bliskich maszynowym (na przykład asemblera) i nie jest przy tym zależny od maszyny. Jest on właściwie kluczem do przenośności UNIX-a.

5

powłoki

system operacyjny

rodzaje pracy

sprzęt

powłoka

(shell)

Powłoki bliskie systemowi operacyjnemu

stopień

zorientowania

problemu

kompiler

asembler

edytory,

inne programy systemowe

bazy

danych

środki opisu wyspecjalizowane problemowo

systemy

ekspertowe

metody

sztucznej inteligencji

techniki

wspomagania

komputerowego

(CA..)

wyspecjalizowane

Interfejsy człowiek-komputer

G

H

I

J

K

L

A

B

C

D

E

F

Płaszczyzny hierarchii:

budynek: główny

skrzydło: wschodnie

piętro: 31

pokój: 05

regał: 2

półka: 3

skoroszyt: M

wykaz (katalog): Kowalski

dokument: naliczenie wynagrodzenia

root

file

directory

usr

users

system

dev

roemer

idefix

asterix

texta

textb

textc

texta



Wyszukiwarka

Podobne podstrony:
Wykorzystanie modelu procesow w projektowaniu systemow informatycznych
OK W2 System informacyjny i informatyczny
SYSTEMY INFORMATYCZNE ORGANIZACJI WIRTUALNEJ1
Metodyka punktow wezlowych w realizacji systemu informatycznego
ZINTEGROWANE SYSTEMY INFORMATYCZNE ZARZĄDZANIA
SYSTEMY INFORMATYCZNE MIS
4 Systemy informatyczne 2 ppt
Wykład VII, politechnika infa 2 st, Projektowanie Systemów Informatycznych
Systemy informatyczne
Atrybuty uzytecznosci systemow informatycznych R R Lis
Rekord bibliograficzny, Studia INiB, Formaty danych w systemach informacyjno-wyszukiwawczych
Metodyka punktow wezlowych w realizacji systemu informatycznego, Informatyka, Studia dodać do folder
System informatyczny zarządzania, WSB Bydgoszcz, Informatyka wykłady
Opracowanie ekofizjograficzne, Studia - IŚ - materiały, Semestr 06, Systemy informacji przestrzennej
Finansowe systemy informacyjne prof Kisielnicki
2 PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH& 02 2013
System informacyjny Schengen

więcej podobnych podstron