T: Charakteryzowanie systemów wielodostępowych.
Zadanie 1:
Wykorzystując serwis internetowy Wikipedii odszukaj informacje na temat systemu operacyjnego Linux.
System operacyjny (ang. Operating System, OS) - to oprogramowanie zarządzające sprzętem komputerowym, tworzące środowisko dla innych programów i umożliwiające komunikację użytkownika z komputerem.
Systemy operacyjne można podzielić biorąc pod uwagę liczbę użytkowników, których system potrafi obsłużyć w jednym czasie. Starsze systemy operacyjne oraz niektóre nowoczesne systemy typowe dla komputerów osobistych przeznaczone były i są dla jednego użytkownika. W systemach tych wszystkie zasoby komputera. Dostępne są jedynie dla jednej osoby (operatora), nie ma lub są bardzo ograniczone mechanizmy autoryzacji dostępu do danych oraz ochrony informacji. Do tego typu systemów zalicza się m.in. Windows (wszystkie wersje poza serwerowymi). Na drugim biegunie mamy do czynienia z systemami wielodostępowymi. W tym przypadku na jednym komputerze może jednocześnie pracować wielu użytkowników, albo bezpośrednio korzystając z lokalnych urządzeń wejścia/wyjścia, lub zdalnie - z poziomu terminala czy też innego systemu komputerowego. Najlepszym przykładem takiego systemu operacyjnego jest współcześnie Linux.
Wielodostępność (z ang. multiuser) - to cecha systemu operacyjnego, umożliwiająca wielu użytkownikom pracę w tym samym czasie na jednym systemie.
Cechy charakterystyczne systemów wielodostępowych:
- praca wielodostępna w uproszczeniu polega na umożliwieniu dostępu do zasobów wielu użytkownikom jednocześnie (np. mocy obliczeniowej, pamięci, określonych plików i programów),
- należy jednak zapewnić sprawiedliwy podział dostępu do zasobów, a przy tym odpowiednio zabezpieczyć system przed niepowołanym dostępem zarówno do całego systemu jak i poszczególnych zasobów,
- pierwsza zasada polega na tym, że każdy z użytkowników ma przydzielony niepowtarzalny identyfikator oraz hasło dostępowe,
- identyfikatory użytkowników związane są z prawami dostępu (uprawnieniami), dzięki temu administrator systemu może kontrolować dostęp do plików i innych zasobów,
- dodatkowo użytkownik może być członkiem jednej lub wielu grup użytkowników, dzięki czemu uzyskuje dodatkowe uprawnienia, jest to szczególnie funkcjonalne, gdy w systemie istnieje wielu użytkowników o podobnych uprawnieniach,
- tworzeniem nowych kont użytkowników, grup oraz nadawaniem uprawnień zajmuje się uprzywilejowany użytkownik w systemie - administrator, w systemach klasy Unix użytkownik ten nosi nazwę root.
Wielozadaniowość systemów operacyjnych:
- Wielozadaniowość jest cechą systemu operacyjnego umożliwiającą wykonywanie wielu procesów (programów) na raz. Za poprawną realizację wielozadaniowości odpowiedzialne jest jądro systemu operacyjnego.
- Prawdziwa wielozadaniowość możliwa jest wtedy, gdy system ma do dyspozycji więcej niż jeden procesor, w innym przypadku możemy jedynie mówić o quasi-wielozadaniowości.
- Na jednym procesorze wielozadaniowość sprowadza się do wykonywania po fragmencie każdego z programów w bardzo niewielkich odstępach czasu.
- Wielozadaniowość polega na wykonywaniu zadań z podziałem czasu. Dodatkowo pomiędzy poszczególnymi fazami wykonania zadań występuje tzw. czas przełączania, co wydłuża czas wykonania obu zadań łącznie. Paradoksalnie wykonanie zadań w quasi-wielozadaniowości trwa dłużej niż kolejne, nie równoczesne wykonywanie tych zadań.
Wielozadaniowość z wywłaszczeniem:
- W tym rodzaju wielozadaniowości to system operacyjny ściśle nadzoruje czas, na jaki dana aplikacja uzyskuje dostęp do zasobów i pozwolenie na wykonywanie się.
- Przydzielaniem czasu zajmuje się tzw. scheduler. Mechanizm ten w każdej chwili może odebrać dostęp do zasobów jednemu procesowi i przekazać go innemu.
- Dodatkowo każdy z procesów ma przyporządkowany priorytet, dzięki czemu scheduler może kierować do wykonania procesy o wyższym priorytecie, a zatrzymywać procesy o niższym priorytecie.
Wielozadaniowość bez wywłaszczenia:
- W tym przypadku system operacyjny ma niewiele do powiedzenia, cała rola schedulera sprowadza się do przełączania pomiędzy procesami, ale dopiero wtedy, gdy aktualnie wykonujący się proces zwolni dostęp do zasobów. Innymi słowy scheduler nie ma możliwości przerywania procesów.
- W takim przypadku, aby uzyskać wielozadaniowość to sam programista musi pisać swoje oprogramowanie tak, aby poszczególne procesy zwalniały dostęp do zasobów, co jakiś czas.
Więcej informacji na: http://wojtek.wsi.edu.pl/psiia-so-lab1.ppt
Zestaw poleceń do przeanalizowania:
w
who
whoami
users
fuser
Alt + Ctrl + [F1 - F7]
uptime