SO
25 flashcards · Computer Science · by aetn23
Co to jest wieloprogramowość?
Sposób organizacji pracy komputera w taki sposób, że SO wybiera zadanie do realizacji i gdy zadania żadą operacji IO, to SO wybiera inne zadanie
Co to jest wielozadaniowość?
Sposób organizacji pracy komputera w taki sposób, że SO daje każdemu zadaniowi kwant czasu. Po upływie kwantu czasu, procesor zaczyna wykonywać inne zadanie
Co to są systemy wieloprocesorowe?
Systemy z wieloma procesorami, gdzie te współdzielą pamięć i zegar
Co to są systemy rozproszone?
Systemy z wieloma procesorami. gdzie każdy ma swoją lokalną pamięć i zegar.
Co to jest proces?
Jest to wykonanie programu
Z iloma programi powiązany jest proces?
Dokładnie z 1
Na co składa się proces?
Na, m. in. : przestrzeń adresową, zbiór rejestrów, zasoby, info administracjne
Co to przestrzeń adresowa?
Jest to przydzielona procesowi pamięć
Jak realizowane jest przełączanie kontekstu?
Może być sprzętowo, ale najlepiej kiedy realizuje to SO
Co to jest przerwanie?
Jest to sygnał, będący żadniem przerwania wykonania procesu i rozpoczęciem wykonywania czegoś innego
Jak wykorzystywane są przerwania w implementacji wielozadaniowości?
Gdy proces żadą wolnej operacji, np IO, jest ona realizowana przez sprzęt (DMA), a w tym czasie procesor wykonuje inne zadanie. Gdy sprzęt skończy realizację wolnej operacji, zgłasza przerwanie i SO wie, co musie dalej zrobić.
Jakie są dwa popularne tryb pracy procesora związane z ochronną zasobów?
Tryb użytkownika i tryb uprzywilejowany.
Co to znaczy, że proces jest wywłaszczalny?
Inny program (SO) może zabrać mu procesor i ten proces nie ma na to wpływu.
Co to znaczy wywłaszczalny jądro? Czy jądro Linuxa jest wywłaszczalne?
Znaczy to, że jądro także można wywłaszczyć jak programy użytkownika. Jądro Linuxa jest wywłaszczalne od wersji jądra 2.6
Jak działa proces w trybie użytkownika? Które procesy są zwykle odpalane w trybie użytkownika?
Nie ma dostępu do pamięci innych procesów (chyba, że zostanie mu jakoś udostępniona, np shmat()). W trybie użytkownika zwkyle odpala się programy użytkownika, ale też niektóre części systemu (np X11), w tym niektóre sterowniki (np Mesa)
Jak działa proces w trybie uprzewilejowanym? Które procesy są zwykle odpalane w trybie uprzewilejowanym?
Ma dostęp do całość sprzętu, pamięci, procesora i peryferiów. Zwykle w tym trybie działa w zasadzie tylko kernel (na kernel składa się dużo rzeczy, w szczególności sterowniki i syscalle)
Procesy w trybie użytkownika nie mają dostępu do sprzętu. Jak więc mogą z niego korzystać?
Poprzez Syscalle
Jak są realizowane syscalle?
Poprzez przerwanie programowe. SO je przechytwuje i wywołuje odpowiednią funkcję
Jak dzielimy szeregowanie krótkoterminowe? Jak działają obydwa sposoby szeregowania?
Na wywłaszające i niewywłaszające. To pierwsze pozwala na zabranie procesowi procesora w dowolnym momencie, w tym drugim tylko sam proces może się go zrzec
Jak działa FCFS?
First come, First served. Po prostu kolejka FIFO. Łatwy do implementacji, średni czas czekania procesu może być długi, duża wariancja czasu czekania
Jak działa SJF?
Shortest Job First, kolejka prioretytowa. Dobry średni czas, w praktyce ciężko zaimplementować, bo ciężko się szacuje czas działania fazy CPU
Jak działa SRTF?
Shortest remaining time first, gdy pojawi się proces o długośći fazy krótszej niż pozostała długość fazy obecnie wykonywanego procesu, dochodzi do wywłaszczenia. Może zagłodzić!
Jak działa RR?
Round-Robin, każdy proces dostaje stały kwant, po jego upływie następny proces.
Jak działa szeregowanie wielopoziomowe?
Istnieje wiele poziomów, procesy nie są na stałe przepisane do danego poziomu
Jakie są warunki koniecznie zakleszczenia?
1) Niepodzielność co najmniej 1 zasobu, 2) przetrzymanie zasoobu przez jakiś proces i czekanie na inny zasób 3) brak wywłaszczeń 4) jest cykl w grafie posiadania zasaobów i czekania na zasoby