Systemy operacyjne. część 1. Artur Gramacki Instytut Informatyki i Elektroniki. Zalecana literatura



Podobne dokumenty
Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania

Podstawy informatyki. Izabela Szczęch. Politechnika Poznańska

Działanie systemu operacyjnego

Działanie systemu operacyjnego

Działanie systemu operacyjnego

Definicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) Miejsce systemu operacyjnego w architekturze systemu komputerowego

SYSTEMY OPERACYJNE. kik.pcz.czest.pl/so. (C) KIK PCz Materiały pomocnicze 1 PROWADZI: PODSTAWOWA LITERATURA: ZAJĘCIA: STRONA

Działanie systemu operacyjnego

Systemy Operacyjne. wykład 1. Adam Kolany. Październik, Instytut Techniczny Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Struktury systemów operacyjnych

E-I-0006-s3. Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Systemy operacyjne i sieci komputerowe Szymon Wilk System operacyjny 1

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Program wykładów. Strona WWW przedmiotu: Program ćwiczeń projektowych

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Warstwy systemu Windows 2000

WIELODOSTĘPNE SYSTEMY OPERACYJNE 1 (SO1)

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

E-1IZ2-06-s4. Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

Informatyka. informatyka i nauki komputerowe (computer science)

Systemy Operacyjne struktura

Podstawy Informatyki Systemy operacyjne

Podstawowe zagadnienia

System operacyjny wstęp

Systemy operacyjne. Paweł Pełczyński

PRZEWODNIK PO PRZEDMIOCIE

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak

System operacyjny System operacyjny

PRZEWODNIK PO PRZEDMIOCIE

System operacyjny komputera Informacje podstawowe

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011

Wprowadzenie do systemów operacyjnych

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2009/2010

Paweł Skrobanek. C-3, pok

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja

Komputery przemysłowe i systemy wbudowane

Zakład Systemów Rozproszonych

1. Etapy rozwoju systemów komputerowych

KARTA PRZEDMIOTU. Systemy operacyjne C5

Pracownia komputerowa. Dariusz wardecki, wyk II

"Klasyczna" struktura systemu operacyjnego:

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

Systemy operacyjne III

System komputerowy. System komputerowy

Paweł Skrobanek. C-3, pok pawel.skrobanek.staff.iiar.pwr.wroc.pl

Czujniki obiektowe Sterowniki przemysłowe

POSIX ang. Portable Operating System Interface for Unix

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2013/2014

System plików. Warstwowy model systemu plików

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows.

Sieciowe Systemy Operacyjne

Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) Niestacjonarne (stacjonarne / niestacjonarne)

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Rok akademicki: 2016/2017 Kod: IIN s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Opis efektów kształcenia dla modułu zajęć

Podsumowanie. Klasyfikacja ze względu na sposób przetwarzania. Klas. ze względu na liczbę wykonywanych zadań

Jądro systemu operacyjnego

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Wstęp do Informatyki. Klasyfikacja oprogramowania

IdyllaOS. Prosty, alternatywny system operacyjny. Autor: Grzegorz Gliński. Kontakt:

Struktury systemów operacyjnych Usługi, funkcje, programy. mgr inż. Krzysztof Szałajko

Zaliczenie przedmiotu:

Systemy operacyjne. Literatura do zagadnień wykładowych (1) Literatura do zagadnień wykładowych (2) Program przedmiotu. Forma zaliczenia przedmiotu

Systemy operacyjne. Wojciech Kwedlo Wydział Informatyki PB, p. 127 aragorn.pb.bialystok.pl/~wkwedlo

Opis efektów kształcenia dla modułu zajęć

Egzamin pisemny z przedmiotu: Systemy operacyjne Semestr I

Podsumowanie. Systemy operacyjne Podsumowanie 1. Klasyfikacja ze względu na sposób przetwarzania

Podsumowanie. Klasyfikacja ze względu na. liczbę użytkowników. Klasyfikacja ze względu na. Inne rodzaje systemów operacyjnych. sposób przetwarzania

Systemy operacyjne. Program przedmiotu. Forma zaliczenia przedmiotu. Dariusz Wawrzyniak 1

Systemy operacyjne. Program przedmiotu

System plików Linuksa

DOS COMMAND.COM. Rys. 2. Główne moduły programowe systemu operacyjnego DOS. Interpreter poleceń. Rys. 3. Warstwowa struktura systemu DOS

SYSTEMY OPERACYJNE SYLABUS A. Informacje ogólne

Tworzenie i obsługa wirtualnego laboratorium komputerowego

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Proces instalacji systemu operacyjnego Linux Red Hat 7.3 (1)

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.

Systemy operacyjne. Wojciech Kwedlo Wydział Informatyki PB, p. 205 aragorn.pb.bialystok.pl/~wkwedlo/dydaktyka.

Przedmiot: SYSTEMY OPERACYJNE Czas trwania: semestr IV Przedmiot: obowiązkowy Język wykładowy: polski POZIOM

Systemy Operacyjne - struktura

Struktury systemów operacyjnych

Systemy operacyjne Operating Systems

Podstawy obsługi komputerów. Budowa komputera. Podstawowe pojęcia

Budowa systemów komputerowych

Systemy operacyjne. wykład 1- System operacyjny i jego zadania. dr Marcin Ziółkowski

PAMIĘĆ OPERACYJNA...107

Systemy wbudowane. Systemy operacyjne czasu rzeczywistego

Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski

Sieci komputerowe. Jerzy Skurczyński Instytut Matematyki Uniwersytetu Gdańskiego Gdańsk, 2002 r.

UNIX SYSTEM PLIKÓW. UNIX System plików

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Technologia informacyjna. Urządzenia techniki komputerowej

Transkrypt:

Systemy operacyjne część 1 Artur Gramacki Instytut Informatyki i Elektroniki Zalecana literatura 1. Abraham Silberschatz, Peter B. Galvin, Greg Gagne, Podstawy systemów operacyjnych, WNT Warszawa, 2005, ISBN 83-204- 2961-7 2. Kurt Wall, Linux programowanie w przykładach, MIKOM, 2000, ISBN 83-7279-082-5 3. W. Richard Stevens, Programowanie w środowisku systemu UNIC, WNT Warszawa, 2002, ISBN 83-204-2669-3 (seria: Klasyka informatyki) 4. Neil Matthew, Richard Stones, Linux programowanie, Wydawnictwo RM Warszawa, 1999, ISBN 83-7243-020-9 (pliki źródłowe: http://www.wrox.com) 5. Mark Mitchell, Jeffrey Oldham, Linux. Programowanie dla zaawansowanych, Wydawnictwo Rm Warszawa, 2002, ISBN 83-7243-217-1 6. dokumentacja systemowa man oraz info 7. no i oczywiście internet! 2 1

Plan wykładów Zalecana literatura Własne środowisko UNIX-owe Problem standaryzacji systemów z rodziny UNIX Struktura i klasyfikacja systemów operacyjnych Wywołania systemowe Obsługa terminala Niskopoziomowa praca z plikami i katalogami Procesy, Sygnały, Demony Komunikacja między procesami: potoki i kolejki FIFO Pamięć dzielona Semafory, kolejki komunikatów Programowanie gniazd i TCP/IP 3 Własne środowisko UNIX-owe Niezależna instalacja środowiska UNIX (najbezpieczniej najpierw zainstalować Windows, a potem dopiero UNIX mniejsze prawdopodobieństwo pogryzienia się systemów) LINUX FreeBSD inne UNIX boot-owalny z płyty CD/DVD KNOPPIX LiveCD inne Wirtualne środowisko komputera PC Virtual PC (http://www.microsoft.com/windows/virtualpc/default.mspx) MSDN Academic Alliance (http://www.weit.uz.zgora.pl/elms/index.php) VMware Player (http://www.vmware.com/) 4 2

Problem standaryzacji systemów UNIX ANSI American National Standards Institute instytucja niekomercyjna (nonprofit) ustalająca normy techniczne obowiązujące w USA ISO International Standard of Standardization sieć krajowych organizacji normalizacyjnych, obecnie należy do niej ok. 150 państw w Polsce: Polski Komitet Normalizacyjny w USA: ANSI wszyscy członkowie ISO są równi, w głosowaniu każdy dysponuje tylko jednym głosem Standardy języka C ANSI C Standard X3 159-1898 pewną modyfikacją tego pierwszego jest: ISO 9899:1990 język zgodny z normą ISO, określany jest nieformalnie C89 najnowsza wersja nosi nazwę ISO 9899:1999 nieformalna nazwa to C99 5 Problem standaryzacji systemów UNIX, c.d. ANSI C ma zapewnić przenośność programów w C między różnymi platformami operacyjnymi (nie tylko w ramach systemów UNIX) Definiuje składnię i semantyke języka oraz opisuje bibliotekę standardową Przykłady plików nagłówkowych C zdefiniowanych w normie: <ctype.h> - typy znakowe <stdio.h> - standardowa biblioteka wej-wyj <errno.h> - kody błędów <float.h> - stałe dotyczące liczb zmiennopozycyjnych <signal.h> - sygnały <stdlib.h> - różne funkcje pomocnicze <time.h> - data i czas <math.h> - stałe matematyczne <pwd.h> - plik haseł /etc/passwd... zwykle zlokalizowane w /usr/include 6 3

Problem standaryzacji systemów UNIX, c.d. Fragment z pliku <pwd.h> /* The passwd structure. */ struct passwd { char *pw_name; /* Username. */ char *pw_passwd; /* Password. */ uid_t pw_uid; /* User ID. */ gid_t pw_gid; /* Group ID. */ char *pw_gecos; /* Real name. */ char *pw_dir; /* Home directory. */ char *pw_shell; /* Shell program. */ }; Fragment z pliku <math.h> /* Some useful constants. */ # define M_E 2.7182818284590452354 /* e */ # define M_LOG2E 1.4426950408889634074 /* log_2 e */ # define M_LOG10E 0.43429448190325182765 /* log_10 e */ # define M_LN2 0.69314718055994530942 /* log_e 2 */ # define M_LN10 2.30258509299404568402 /* log_e 10 */ # define M_PI 3.14159265358979323846 /* pi */ Fragment z pliku <limits.h> # define CHAR_BIT 8 # define LONG_MAX 2147483647L # define UCHAR_MAX 255 7 Problem standaryzacji systemów UNIX, c.d. POSIX Portable Operating System Interface (przenośny interfejs do systemu operacyjnego) rozwijany przez organizację IEEE próba standaryzacji różnych odmian systemu UNIX w praktyce definiuje całą rodzinę standardów, np.: POSIX 1003.1 definiuje interfejs programistyczny (API) definiuje interfejs a nie jego implementację, nie czyni więc podziału na funkcje systemowe i biblioteczne POSIX 1003.2 definiuje właściwości powłoki (ang. shell) i jeszcze kilkanaście innych choć wywodzi się z systemów UNIX nie jest tylko do nich ograniczony (np. środowisko Cygwin dla Microsoft Windows umożliwia w tym systemie korzystanie z POSIX-owego interfejsu programistycznego) przykłady systemów zgodnych (lub prawie zgodnych) z POSIXem: QNX, Linux, FreeBSD normę trzeba kupić i nie jest ona podobno tania! 8 4

Elementy systemu komputerowego System operacyjny pośredniczy pomiędzy użytkownikiem a sprzętem, dostarczając wygodnego środowiska do wykonywania programów. Odseparowuje niejako użytkownika od sprzętu Dwa pojęcia systemu operacyjnego: funkcjonalny oraz marketingowy użytkownik 1 użytkownik 2 użytkownik 3 użytkownik n gcc asm vi mysql Programy systemowe i użytkowe System operacyjny Sprzęt komputerowy 9 Struktura systemu operacyjnego Programy systemowe oraz interpreter nie są formalnie częścią jądra, ale są bardzo z nim zintegrowane Interpreter może być częścią jądra albo stanowić jeden z programów systemowych (np. tak jest w UNIX-ach) Interpreter poleceń Programy systemowe System operacyjny Sprzęt komputerowy 10 5

Struktura systemów operacyjnych, c.d. Definicja System operacyjny jest programem, który działa jako pośrednik między użytkownikiem komputera a sprzętem komputerowym. Zadaniem systemu operacyjnego jest tworzenie środowiska, w którym użytkownik może wykonywać programy w sposób wygodny i wydajny [1] Zadania oraz składowe systemu operacyjnego zarządzanie procesami zarządzanie pamięcią operacyjną zarządzanie plikami zarządzanie systemem wejścia wyjścia zarządzanie pamięcią pomocnicza system ochrony, obsługa błędów interpreter poleceń 11 Zarządzanie procesami Definicja procesu: egzemplarz programu w trakcie wykonywania System operacyjny w ramach zarządzania procesami wykonuje następujące czynności: tworzy i usuwa procesy wstrzymuje i wznawia procesy dostarcza mechanizmów synchronizacji procesów dostarcza mechanizmów komunikacji procesów dostarcza mechanizmów obsługi zakleszczeń 12 6

Zarządzanie pamięcią operacyjną Aby możliwe było wykonanie programu należy go umieścić w pamięci operacyjnej. Nowoczesne systemy przechowują w pamięci wiele programów/procesów, w związku z tym wykonują następujące czynności: przydzielają i zwalniają bloki pamięci przechowują informacji o zajętych blokach pamięci oraz komu zostały przydzielone decydują o tym, jaki proces ma wykorzystać wolną przestrzeń 13 Zarządzanie plikami System operacyjny definiuje jednolity logiczny model przechowywanych informacji niezależny od fizycznych własności nośników danych i urządzeń Informacje są dzielone na logiczne bloki nazywane plikami, które zazwyczaj zorganizowane są w katalogach W ramach zarządzania plikami można wyróżnić: tworzenie i usuwanie plików i katalogów wykonywanie podstawowych operacji na plikach i katalogach (np. nadawanie atrybutów, czytanie, zapisywanie) odwzorowanie bloków pamięci pomocniczej w postaci plików składowanie plików na trwałych nośnikach 14 7

Zarządzanie systemem wejście wyjście Podsystem wejścia wyjścia składa się z: części zarządzającej pamięcią wykonującej buforowanie przechowywanie podręczne i spooling ogólnego interfejsu do modułów sterujących urządzeń modułów sterujących (programów obsługi, sterowników urządzenia) poszczególnych urządzeń 15 Zarządzanie pamięcią pomocniczą System komputerowy musi posiadać pamięć pomocniczą: pamięć operacyjna zazwyczaj nie jest w stanie pomieścić wszystkich danych i programów zawartość pamięci operacyjnej jest tracona przy zaniku zasilania W ramach zarządzania pamięcią pomocniczą (dyskową) system operacyjny wykonuje następujące czynności: zarządza wolną przestrzenią przydziela i zwalniania bloki pamięci planuje dostęp do dysku 16 8

System ochrony, obsługa błędów Jeżeli system komputerowy ma wielu użytkowników i umożliwia wykonywanie współbieżnie wielu procesów, to poszczególne procesy należy chroniąc przed wzajemnym oddziaływaniem System operacyjny powinien zagwarantować, że pliki, bloki pamięci, procesor oraz inne zasoby są użytkowane przez uprawnione do tego procesy Sytacje awaryjne (krytyczne) muszą być prawidłowo obsłużone przez system operacyjny 17 Interpreter poleceń Interpreter poleceń (ang. command interpreter) jest interfejsem miedzy użytkownikiem a systemem operacyjnym. Jego zadaniem jest pobieranie i wykonywanie poleceń użytkownika. Systemy operacyjne oferują różne powłoki Powłoki tekstowe Bourne shell (sh), Bourne-Again shell (bash), C shell (csh) w systemach Unixowych command.com w systemie DOS cmd w systemach Windows Powłoki graficzne KDE (Konqueror), GNOME (Nautilus) w systemach Unixowych Windows Explorer, Program Manager w Windows Macintosh Finder w Mac OS X 18 9

Klasyfikacja systemów operacyjnych Systemy wsadowe (ang. batch systems) komputer wykonuje w danym momencie jedną i tylko jedną czynność tak działały bardzo wczesne komputery (tzw. mainframe) Systemy z podziałem czasu (wielozadaniowe) Systemy dla jednego użytkownika (np. DOS) Systemy wielodostępne (np. Windows, UNIX) Systemy czasu rzeczywistego (ang. real-time) np. RTLinux Systemy sieciowe i rozproszone Systemy kieszonkowe (kompaktowe, ) np. do telefonów komórkowych (np. Synbian) duże ograniczenia na ilość dostępnych zasobów 19 10