sysop wprowadzenie


Wykład nt. podstawy systemów operacyjnych -- wprowadzenie Instytut Informatyki Politechniki Łódzkiej w Łodzi mgr inż. Bartosz Lis Wykład nt. Podstawy systemów operacyjnych dla potrzeb Studium Podyplomowego "Inżynierskie Zastosowania Informatyki" Poprzedni | Spis treści | Następny Rozdział 1: Wprowadzenie Architektura współczesnych komputerów - maszyna von Neumanna W drugiej połowie lat 40. John von Neumann zaproponował schemat blokowy elektronicznej maszyny liczącej (rys. 1.1). Schemat ten aż do dzisiaj z niewielkimi modyfikacjami jest podstawą budowy komputerów. Gdzie: Procesor (ang. processor) - układ dokonujący operacji na danych zgromadzonych w pamięci lub płynących z/do urządzeń wejścia wyjścia, sterowany programem, którego kod znajduje się w pamięci. Do przechowywania swojego wewnętrznego stanu procesor wyposażony jest w peną ilość rejestrów, z których najważniejsze to: Wskaźnik instrukcji (ang. instruction pointer) - wskazuje komórkę pamięci, z której pobrany będzie następna instrukcja do wykonania. Rejestr flag stanu (ang. flag register, flags) - składają się na niego jednobitowe flagi przechowujące informacje o stanie procesora (np. dopuszczalności przerwań) lub rezultacie ostatnio wykonanej instrukcji (np. czy otrzymano zero). Wskaźnik stosu (ang. stack pointer) - wskazuje pierwszą wolną komórkę pamięci na stosie procesora - strukturze danych typu FILO (ang. first in last out - pierwszy przyszedł,ostatni wyszedł) wykorzystwanej przy skokach do podprogramów dla przechowywania adresu powrotu i zmiennych lokalnych. Akumulator (ang. accumulator) - służy jako argument a zarazem miejsce umieszczania rezultatów operacji arytmetycznych. Pamięć (pamięć operacyjna, ang memory) - przechowuje dane i kod prgramu. Jeżeli jej konstrukcja umożliwia oprócz odczytu dokonywanie w niej modyfikacji nazywamy ją RAM (ang. random access memory), jeśli jej konstrukcja pozwala jedynie na odczyt nazywana jest ROM (ang. read only memory). Obecnie konstruaowane pamięci RAM tracą swoją zawartość w chwili wyłączenia zasilania w przeciwieństwie do ROM. Niezależnie od typu, pamięć dzieli się na komórki, z których każda jest w stanie przechować liczbę całkowitą z ustalonego dla danej architektury zakresu. Najczęściej jest to 0, 1,...,255. Do zakodowania takich liczb potrzeba 8 bitów t.j. 1 bajt. Każda komórka pamięci posiada unikalny numer zwany adresem fizycznym, który służy procesorowi do owoływania się do niej. Jeśli nie decydują o tym inne ważne względy, komórkom pamięci przydziela się adresy fizyczne poczynając od zera bez luk w numeracji. Zegar - odmierza cykle wykonywania instrukcji programu. Magistrale (ang. buses) służą do przesyłania danych i synchornizacji między elementami komputera: Magistrala danych (ang. data bus) służy do przesyłania danych między pamięcią, układami we/wy a procesorem. Ilość użytych tutaj linii jest równa długości słowa masynowego i jest równa rozmiarowi komórki pamięci, lub jest jego wielokrotnością. Magistrala adresów (ang. address bus) służy procesorowi do wysyłania numerów komórek pamięci lub rejestrów we/wy na których będzie doknane następne przesłanie danych. Ilość użytych tutaj linii decyduje o ilości pamięci jaką można zaadresować. Magistrala sterująca (ang. control bus) służy do wzajemnej synchronizacji oraz przekazywania i potwierdzania przyjęcia/wykonania zleceń. Wejście/Wyjście pozwala kompuerowi kontaktować się z zewnętrznym światem (klawiatura, monitor, czytniki, adaptery sieciowe itp) lub przechowywać dane poza pamięcią operacyjną (dyski). Na wejście wyjście składają się następujące układy i urządzenia: Sprzętowe sterowniki wejścia wyjścia. Układy te potrafią się porozumiewać z procesorem poprzez rejestry we/wy, przerwania, kanały DMA i własną adresowalną przez procesor pamięć układu. Wykonując zlecenia procesora sterują urządzeniami wejścia wyjścia. W technologii mikrokomputerowej są montowane jako karty rozszerzające wewnątrz obudowy komputera. Urządzenia zewnętrzne - zapewniają kontakt komputera ze światem. Mogą to być klawiatury, monitory, dyski, drukarki, modemy ale także czujniki i ramiona robotów w procesie produkcyjnym. Interfejsy. Interfejs jest to specyfikacja sposobu przesyłania danych między dwoma urządzenami. Pojęcie to bywa często przenoszone na realizację sprzętową interfejsu w postaci gniazd, wtyków i kabli. Bywa też rozszerzane na komunikację człowiek-maszyna, mówimy wtedy o interfejsie użytkownika. Pod względem funkcjonalnym komputer von Neumanna składa się z uwidocznionego na rys. 1.1 sprzętu i oprogramowania zawartego w pamięci (nieuwidocznionego).  Przez system komputerowy (informatyczny) rozumie się komputer (sprzęt + oprogramowanie) i osoby związane z jego działaniem. Wśród osób związanych z działaniem komputera wyodrębnia się następujące typy: Użytkownicy - wykorzystują komputery jako narzędzia ułątwiające pewne rutynowe czynności przetwarzania informacji. Administratorzy - personel dbający o poprawne działanie systemu informatycznego. Twórcy oprogramowania - tworzą oprogramowanie działająceme w systemie informatycznym i zapewniają mu serwis. Dostawcy sprzętu - produkują i dostarczają sprzęt działający w systemie informatycznym oraz zapewniają mu serwis. Definicja systemu operacyjnego Definicje Oprogramowanie komputera daje się podzielić na oprogramowanie wykonujące użyteczne dla użytkownika obliczenia i oprogramowanie dbające o poprawną pracę systemu komputerowego jako całości, jednakże nie zawsze ten podział jest oczywisty i precyzyjny. Oprogramowanie tworzone z przeznaczeniem do wykonywania użytecznych obliczeń nazywamy aplikacjami. Oprogramowania tworzone z przeznaczeniem do zapewniania poprawnej pracy systemowi informatycznemu nazywamy oprogramowaniem systemowym. Rdzeniem oprogramowania systemowego jest system operacyjny. Z powodu trudności w precyzyjnym zdefiniowaniu tego co jest, a co nie jest systemem operacyjnym, niektórzy autorzy definiują system operacyjny jako wszystko to opragramowanie, które producent wkłada do pudełka z taką nazwą. Silberschatz et al w [2] podają następujące definicje systemu operacyjnego: System operacyjny jest dystrybutorem zasobów komputera. System operacyjny jest programem sterującym. Program sterujący nadzoruje działanie programów użytkownika, przeciwdziała błędom i zapobiega niewłaściwemu użyciu komputera. Zajmuje się zwłaszcza obsługiwaniem i kontrolowaniem pracy urządzeń wejścia/wyjścia. Nie ma [...] w pełni adekwatnej definicji systemu operacyjnego. Istnienie systemów operacyjnych jest uzasadnione tym, że pozwalają one w rozsądny sposób rozwiązać problem kreowania użytecznego środowiska pracy. Przez zasoby rozumie się wszystkie te elementy komputera, którymi daje się dysponować jako odrębnymi obiektami, np: procesor (w sensie przydziału jego czasu pracy), obszary pamięci, obszary dyskowe, drukarki itp. Na potrzeby niniejszego wykładu system operacyjny zostanie zdefiniowany jako zbiór programów i podprogramów wywoływanych przez inne programy lub użytkownika, które mają zapewnić użytkownikowi i jego aplikacjom niezawodne, zestandaryzowane, wygodne i wydajne środowisko pracy. Można w związku z powyższym przyjąć, że oprogramowanie rozdziela się na dwie warstwy, system operacyjny jest tą warstwą, która separuje warstwę aplikacji od sprzętu, a przez to je od niego uniezależnia (rys. 1.2). Dla użytku aplikacji system operacyjny tworzy pewne abstrakcje zasobów sprzętowych, zrealizowane w postaci pewnych struktur danych i podprogramów, w dalszej części wykładu również zwane zasobami. Separację aplikacji od sprzętu należy rozumieć w ten sposób, że aplikacje nie sterują bezpośrednio sprzętem, a jedynie posługują się strukturami danych dostarczonymi przez system operacyjny (abstrakcjami zasobów sprzętowych) i wywołują systemowe podprogramy. Zalety istnienia w komputerze systemu operacyjnego możliwość posługiwania się komputerem przez osoby nie będące ekspertami budowy komputerów oraz możliwość wydajnej pracy tych osób, brak konieczności gruntownych szkoleń personelu w razie wymiany komputerów lub ich podzespołów, minimalizacja ilości oprogramowania do wymiany w razie wymiany komputerów lub ich podzespołów, możliwość zamawiania, tworzenia, czy wreszcie kupowania aplikacji bez konieczności dokładnego precyzowania parametrów sprzętu, możliwość tworzenia sterowników programowych urządzeń niezależnie od aplikacji, które ja wykorzystają, w połączeniu z językami programowania wysokiego poziomu, można we względnie łątwy sposób tworzyć wersje oprogramowania dla różnych komputerów, możliwość wyegzekwowania zasad ochrony danych przed niepowołąnym dostępem, dostępu do innych zasobów (jak drukarki) czy przestrzegania godzin pracy systemu, możliwość rozliczania użytkowników/klientów za wykorzystanie czasu pracy procesora i innych zasobów. Struktura systemu operacyjnego Jądro systemu Aby zabezpieczyć się przed możliwością bezpośredniego sterowania sprzętem przez aplikacje, konstruktorzy procesorów podzielili zbiór instrukcji procesora na dwie części (niekiedy na więcej, ale pominiemy te przypadki). Jeden zbiór instrukcji, zawierający jedynie instrukcje nie sterujące bezpośrednio sprzętem i odwołujące się do wydzielonych obszarów pamięci, dopuszczono do użytku przez aplikacje (i oczywiście system operacyjny). Drugi zbiór, zawierający instrukcje sterujące sprzętem, lub odwołujące się do dowlnych miejsc w pamięci dopuszczono do użytku tylko przez system operacyjny. Aby w praktyce zorganizować właściwe użycie tych instrukcji wprowadzono także dwa tryby pracy procesora: tryb użytkownika i tryb jądra. W trybie użytkownika dopuszczone są tylko instrukcje nie sterujące sprzętem i o ograniczonym dostępie do pamięci, jest on przeznaczony dla aplikacji. W trybie jądra dopuszczone są wszystkie instrukcje, jest on przeznaczony dla systemu operacyjnego. Nie cały system operacyjnym musi się wykonywać w trybie jądra, wobec czego wyodrębnia się z systemu operacyjnego zbiór podprogramów o żywotnym znaczeniu. Zbiór ten nosi nazwę jądra systemu operacyjnego. Wywołanie podprogramu jądra przez aplikację (w celu dostępu do zasobów) powoduje natychmiastowe przełączenie się procesora w tryb jądra, w trybie tym wykonuje się wielokrotnie sprawdzony podprogram jądra, który tuż przed powrotem do aplikacji przełącza się z powrotem do trybu użytkownika. Twórcy nowoczesnych systemów operacyjnych nadają jądru modułową budowę, co między innymi pozwala wydzielić grupy podprogramów zwane sterownikami programowymi we/wy (ang. driver) obsługujących konkretne urządzenia i włączać je do jądra zależnie od potrzeb. Programy Użytkownik nie może wywoływać bezpośrednio podprogramów jądra systemu operacyjnego. Oprogramowanie, które może być wywoływane bezpośrednio przez użytkownika nazywamy programami. Zgodnie z tym, co zostało powiedziane wcześniej programami są aplikacje i część systemu operacyjnego przeznaczona do bezpośredniego wywoływania przez użytkownika tj. powłoki i programy narzędziowe. Podstawową rzeczą jaką system operacyjny musi udostępnić użytkownikowi jest możliwość wywoływania aplikacji i innych programów. Do tego służą powłoki. Powłoka jest to program przeznaczony do bezpośredniej konwersacji z użytkownikiem, przyjmowania od niego zleceń i wywoływania na jego polecenie innych programów. Zadaniem programów narzędziowych jest wsparcie administratorów w pielęgnacji komputera. Zadaniem programów usługowych (zwanych serwerami lub demonami) jest wspieranie jądra w tych czynnościach, których samo nie może z różnych względów wykonać (np. wymiatanie pamięci podręcnej) lub zarządzanie abstrakcyjnymi zasobami (np. kolejki wydruków, silniki baz danych, serwery stron www). Start komputera W czasie startu komputera (ang. boot) pierwsze ładowane jest jądro (np. w MS-DOS są to pliki IO.SYS i MSDOS.SYS), następnie jądro ładuje wymagane sterowniki (w MS-DOS następuje to w trakcie interpretacji pliku CONFIG.SYS), startuje programy usługowe i uruchamia powłokę (COMMAND.COM w MS-DOS). Jeśli system przewiduje kontrolę dostępu, przed uruchomieniem powłoki autentykuje użytkownika. Po starcie powłoki użytkownik może podjąć pracę, jao że powłoka daje mu możliwość uruchamiania własnych aplikacji. Często startująca powłoka wykonuje skrypt startowy aby skonfigurować środowisko użytkownika i uruchamia przy tym odpowiednie aplikacje (w MS-DOS skryptem startowym jest AUTOEXEC.BAT). Poprzedni | Spis treści | Następny Wszelkie uwagi i komentarze: bartoszl@stud.ics.p.lodz.pl

Wyszukiwarka

Podobne podstrony:
sysop up
WYKŁAD 1 Wprowadzenie do biotechnologii farmaceutycznej
wprowadz w11
sysop pa
Medycyna manualna Wprowadzenie do teorii, rozpoznawanie i leczenie
00 Spis treści, Wstęp, Wprowadzenie
wprowadzenie
czwiczenie 2 wprowadzenie
62 FOR ostrzega Wprowadzenie klauzuli przeciwko unikaniu opodatkowania może być niezgodne z Konstytu
01 Wprowadzenie do programowania w jezyku C
wprowadzenie do buddyzmu z islamskiego punktu widzenia
1 wprowadzenie do statystyki statystyka opisowa

więcej podobnych podstron