logo

Samouczek dotyczący systemu operacyjnego

System operacyjny (OS) to oprogramowanie, które zarządza i obsługuje zasoby sprzętowe i programowe systemu komputerowego. Zapewnia interakcję pomiędzy użytkownikami komputerów i sprzętem komputerowym. System operacyjny jest odpowiedzialny za zarządzanie i kontrolowanie wszystkich działań i udostępniania zasobów komputera. System operacyjny to oprogramowanie niskiego poziomu, które obejmuje wszystkie podstawowe funkcje, takie jak zarządzanie procesorem, zarządzanie pamięcią, wykrywanie błędów itp.

Ten samouczek dotyczący systemu operacyjnego obejmie wszystkie podstawowe i zaawansowane koncepcje systemu operacyjnego, takie jak struktura systemu, planowanie procesora, zakleszczenie, zarządzanie plikami i dyskami i wiele innych.

Najnowsze artykuły na temat systemów operacyjnych

  • Podstawy
  • Struktura systemu
  • Harmonogramowanie procesora
  • Synchronizacja procesów
  • Impas
  • Procesy i wątki
  • Zarządzanie pamięcią
  • Zarządzanie plikami i dyskami
  • Różne

Podstawy:

  1. Wprowadzenie systemu operacyjnego
  2. Rodzaje systemów operacyjnych
  3. Funkcje systemu operacyjnego
  4. Systemy czasu rzeczywistego
  5. Zadania w systemach czasu rzeczywistego
  6. Różnica między wielozadaniowością, wielowątkowością i wieloprocesorowością
  7. Rodzaje pamięci komputera (RAM i ROM)
  8. Różnica między 32-bitowymi i 64-bitowymi systemami operacyjnymi
  9. Co się stanie gdy włączymy komputer?
  10. Blok rozruchowy
  11. UEFI (Unified Extensible Firmware Interface) i czym różni się od BIOS-u

Struktura systemu:

  1. Mikrojądro
  2. Podsystem we/wy jądra (system we/wy)
  3. Jądro monolityczne i kluczowe różnice w stosunku do mikrojądra
  4. Wprowadzenie wywołania systemowego
  5. Pobierz/Ustaw limity zasobów procesu w C
  6. Operacje w trybie podwójnym w systemie operacyjnym
  7. Instrukcje uprzywilejowane i nieuprzywilejowane

Planowanie procesora:

  1. Proces | (Wprowadzenie i różne stany)
  2. Stany procesu
  3. Tabela procesu i blok sterowania procesem (PCB)
  4. Harmonogram procesów
  5. Harmonogramowanie procesora
  6. Planowanie z wywłaszczaniem i bez wywłaszczania
  7. Zmierzyć czas spędzony przy zmianie kontekstu?
  8. Różnica między dyspozytorem a planistą
  9. Harmonogram FCFS | Zestaw 1
  10. Harmonogram FCFS | Zestaw 2
  11. Efekt konwoju w systemach operacyjnych
  12. Anomalia Belady'ego
  13. Najkrótsze planowanie pierwszej pracy (lub SJF) | Zestaw 1 (niewywłaszczający)
  14. Program planowania najkrótszego zadania (SJF) | Zestaw 2 (wywłaszczający)
  15. Najkrótsze zadanie Pierwsze planowanie z przewidywanym czasem impulsu
  16. Program dotyczący najdłuższego pozostałego czasu (LRTF).
  17. Algorytm najpierw najdłuższego pozostałego czasu (LRTF).
  18. Harmonogram okrężny
  19. Samolubne planowanie okrężne
  20. Harmonogram okrężny z różnymi czasami przybycia
  21. Planowanie priorytetowe
  22. Program do planowania procesora z wywłaszczaniem priorytetów
  23. Planowanie priorytetowe z innym czasem przybycia – zestaw 2
  24. Głód i starzenie się systemów operacyjnych
  25. Następny harmonogram z najwyższym współczynnikiem odpowiedzi (HRRN).
  26. Wielopoziomowe planowanie kolejek
  27. Wielopoziomowe planowanie kolejki opinii
  28. Planowanie procesu loterii
  29. Planowanie wielu procesorów

>> Quiz na temat planowania procesora



algorytm r

Synchronizacja procesów:

  1. Synchronizacja procesów | Wstęp
  2. Synchronizacja procesów | Zestaw 2
  3. Krytyczny fragment
  4. Komunikacja międzyprocesowa
  5. Komunikacja międzyprocesowa: metody
  6. IPC poprzez pamięć współdzieloną
  7. IPC korzystający z kolejek wiadomości
  8. Komunikacja oparta na komunikatach w IPC (komunikacja między procesami)
  9. Komunikacja między dwoma procesami za pomocą sygnałów w języku C
  10. Semafory w systemie operacyjnym
  11. Mutex kontra semafor
  12. Synchronizacja procesów | Monitory
  13. Algorytm Petersona dla wzajemnego wykluczania | Zestaw 1 (podstawowa implementacja C)
  14. Algorytm Petersona dla wzajemnego wykluczania | Zestaw 2 (cykle procesora i zabezpieczenie pamięci)
  15. Algorytm Petersona (wykorzystywanie procesów i pamięci współdzielonej)
  16. Algorytm Dekkera
  17. Algorytm piekarniczy
  18. Producent Konsument Problem z użyciem semaforów | Zestaw 1
  19. Problem filozofa jedzącego przy użyciu semaforów
  20. Rozwiązanie dla jadalni i filozofów wykorzystujące monitory
  21. Problem czytelników-pisarzy | Zestaw 1 (rozwiązanie dotyczące wprowadzenia i preferencji czytelników)
  22. Rozwiązanie typu Reader-Writer wykorzystujące monitory
  23. Problem ze śpiącym fryzjerem
  24. Zablokuj mechanizm synchronizacji zmiennej
  25. Blokada Mutex dla synchronizacji wątków systemu Linux
  26. Odwrócenie priorytetów: Co do cholery!
  27. Jaka jest różnica między inwersją priorytetów a dziedziczeniem priorytetów?
  28. Synchronizacja procesów
  29. Komunikacja międzyprocesowa: metody

>> Quiz na temat zarządzania procesami w systemie operacyjnym

Zakleszczenie:

  1. Wprowadzenie do zakleszczenia
  2. Wykrywanie i odzyskiwanie zakleszczeń
  3. Zakleszczenie, głód i blokada życia
  4. Zapobieganie i unikanie zakleszczeń
  5. Algorytm Bankiera
  6. Wykres alokacji zasobów (RAG)
  7. Metody alokacji zasobów do procesów według systemu operacyjnego
  8. Program dla algorytmu bankiera
  9. Algorytm Bankera: Wydrukuj cały bezpieczny stan (lub bezpieczne sekwencje)
  10. Algorytm wykrywania zakleszczenia
  11. Program zapewniający stan wolny od zakleszczeń w systemie operacyjnym
  12. Wykrywanie zakleszczeń w systemach rozproszonych
  13. Techniki stosowane w scentralizowanym podejściu do wykrywania zakleszczeń w systemach rozproszonych

>> Quiz na temat zakleszczenia

Procesy i wątki:

  1. System operacyjny | Nitka
  2. Wątki i ich rodzaje
  3. System operacyjny | Wątek na poziomie użytkownika a wątek na poziomie jądra
  4. Wielozadaniowość oparta na procesach i wątkach
  5. Modele wielowątkowe
  6. Korzyści z wielowątkowości
  7. Procesy zombie i ich zapobieganie
  8. Maksymalna liczba procesów Zombie, które system może obsłużyć
  9. System operacyjny | Zdalne wywołanie procedury (RPC)

Zarządzanie pamięcią :

  1. Projektowanie hierarchii pamięci i jego charakterystyka
  2. Wprowadzenie do pamięci i jednostek pamięci
  3. Różne typy pamięci RAM (pamięć o dostępie swobodnym)
  4. System Buddy: Technika alokacji pamięci
  5. Zarządzanie pamięcią | Metoda alokacji partycji
  6. Stałe (lub statyczne) partycjonowanie w systemie operacyjnym
  7. Zmienne (lub dynamiczne) partycjonowanie w systemie operacyjnym
  8. Alokacja nieciągła w systemie operacyjnym
  9. Adres logiczny a adres fizyczny w systemie operacyjnym
  10. Stronicowanie
  11. Wymagania systemu zarządzania pamięcią
  12. Zarządzanie pamięcią – mapowanie adresu wirtualnego na adres fizyczny
  13. Wpisy tabeli stron
  14. Pamięć wirtualna
  15. Przeplatanie pamięci
  16. Pytania dotyczące pamięci wirtualnej
  17. Wirtualizacja oparta na systemie operacyjnym
  18. Odwrócona tabela stron
  19. Zamień przestrzeń
  20. Obsługa błędów strony
  21. Stałe (lub statyczne) partycjonowanie w systemie operacyjnym
  22. Segmentacja
  23. Segmentacja pamięci w mikroprocesorze 8086
  24. Program do algorytmu Next Fit w zarządzaniu pamięcią
  25. Nakładki w zarządzaniu pamięcią
  26. Algorytmy zastępowania stron
  27. Program do algorytmów zastępowania stron | Zestaw 1 (LRU)
  28. Program do optymalnego algorytmu zastępowania stron
  29. Implementacja pamięci podręcznej LFU (najrzadziej używanej).
  30. Zasady wymiany strony drugiej szansy (lub zegara).
  31. Techniki radzenia sobie z biciem
  32. Alokacja pamięci jądra (system koleżeński i system płytowy)
  33. Program do schematu alokacji pamięci znajomych w systemach operacyjnych | Zestaw 1 (przydział)
  34. Program do schematu alokacji pamięci znajomych w systemach operacyjnych | Zestaw 2 (delokacja)
  35. Biblioteki statyczne i dynamiczne | Zestaw 1
  36. Praca z bibliotekami współdzielonymi | Zestaw 1
  37. Praca z bibliotekami współdzielonymi | Zestaw 2
  38. Nazwany potok lub FIFO z przykładowym programem C
  39. Śledzenie zużycia pamięci w systemie Linux

>> Quiz na temat zarządzania pamięcią

Zarządzanie dyskiem:

  1. Systemy plików
  2. Uniksowy system plików
  3. Implementacja zarządzania katalogami przy użyciu skryptu powłoki
  4. Katalog plików | Nazwa ścieżki
  5. Struktury katalogów
  6. Metody alokacji plików
  7. Metody dostępu do plików
  8. Pamięć drugorzędna
  9. Pamięć dodatkowa – dysk twardy
  10. Algorytmy planowania dysku
  11. Program algorytmu planowania dysków SSTF
  12. Na czym dokładnie polega buforowanie?
  13. Różnica między buforowaniem a buforowaniem
  14. Bezpłatne zarządzanie przestrzenią

>> Quiz na temat systemów wejścia i wyjścia

Różne

  1. Wprowadzenie do systemu UNIX
  2. Ważne polecenia systemu Linux (leave, diff, cal, ncal, zlokalizowanie i ln)
  3. Stany procesów i przejścia w procesie UNIX
  4. Wprowadzenie do powłoki systemu Linux i skryptów powłoki
  5. „crontab” w systemie Linux z przykładami
  6. in głębokość i max głębokość w poleceniu find() systemu Linux w celu ograniczenia wyszukiwania do określonego katalogu.

Rodzaje systemu operacyjnego

  • Batch OS (np. Proces Transakcyjny, System Płacowy, itp.)
  • Wieloprogramowy system operacyjny (np. Windows, UNIX, macOS itp.)
  • System operacyjny z podziałem czasu (np. Multics, Linux itp.)
  • System operacyjny czasu rzeczywistego (np. PSOS, VRTX itp.)
  • Rozproszony system operacyjny (np. LOCUS, Solaris itp.)

Funkcje systemu operacyjnego

  • Zarządzanie pamięcią i procesorem
  • Zarządzanie siecią
  • Zarządzanie bezpieczeństwem
  • Zarządzanie plikami
  • Wykrywanie błędów
  • Rachunkowość pracy

Często zadawane pytania dotyczące systemu operacyjnego

P.1 Dlaczego warto uczyć się systemów operacyjnych?

Odpowiedź :

System operacyjny jest najważniejszą częścią komputera. Za pośrednictwem systemu operacyjnego użytkownicy mogą wchodzić w interakcję z oprogramowaniem komputerowym. Zapewnia interfejs pomiędzy sprzętem a procesorem. Zapewnia także platformę do uruchamiania programu i usług dla użytkowników. Wykonuje wszystkie podstawowe zadania wymagane w aplikacji.

po kliknięciu javascript

P.2 Napisz 10 najlepszych przykładów systemów operacyjnych?

Odpowiedź :

Poniżej podano kilka najpopularniejszych przykładów systemów operacyjnych:

co to jest ini pulpitu
  • Okna
  • Linuksa
  • System operacyjny Mac
  • iOS
  • Android
  • Ubuntu
  • CentOS
  • Solaris
  • System operacyjny Chrome
  • Fedora

P.3 Jakie są zalety systemu wieloprocesorowego?

Odpowiedź :

System wieloprocesorowy obejmuje jednoczesne przetwarzanie dwóch lub więcej programów komputerowych, które korzystają z tego samego obszaru pamięci. Zwiększa niezawodność.

P.4 Co to jest wątek w systemie operacyjnym?

Odpowiedź :

Wątek to lekki proces lub podprogram będący częścią procesu lub programu. Wątek ma własne rejestry, stos, stan i licznik programów.

Szybkie linki :

  • Notatki z ostatniej chwili (LMN) | System operacyjny
  • Często zadawane pytania podczas rozmów kwalifikacyjnych na temat systemów operacyjnych
  • „Ćwicz problemy” z systemami operacyjnymi!