poniedziałek , 9 września 2024

Budowa systemu komputerowego

Aby dobrze zrozumieć i w pełni zrozumiale strukturę budowy systemu komputerowego, to najpierw przedstawię Wam podstawowe pojęcia systemu komputerowego.

Podstawowe pojęcia dotyczące sprzętu komputerowego

  • System komputerowy (ang. computer system) – to układ współdziałających ze sobą dwóch składowych: sprzętu komputerowego (ang. hardware) i oprogramowania (software). Organizacja sprzętu komputerowego to opis zależności sprzętowych, przedstawienie poszczególnych podzespołów komputera, które funkcjonują według pewnych reguł i zasad, współpracują ze sobą, by osiągnąć określony cel.
  • Oprogramowanie systemowe – kontroluje i koordynuje użycie zasobów sprzętowych przez różne programy użytkowe.
  • Oprogramowanie narzędziowe (ang. utilities) – wspomaga zarządzanie zasobami sprzętowymi przez dogodne interfejsy użytkowe oraz usprawnia i modyfikuje oprogramowanie systemowe.
  • Oprogramowanie użytkowe (ang. application programs) – określa sposób, w jaki zostają użyte zasoby systemowe do rozwiązywania problemów obliczeniowych zadanych przez użytkownika (kompilatory, systemy baz danych, gry, oprogramowanie biurowe).
  • Użytkownicy (ang. users) – ludzie, urządzenia lub inne komputery mające bezpośredni kontakt z oprogramowaniem użytkowym; realizują różne zadania za pomocą programów użytkowych na sprzęcie komputerowym pod nadzorem systemu operacyjnego.

Warstwy systemu komputerowego

Strukturę systemu komputerowego podzielono na warstwy. Każda z warstw realizuje odmienne zadania. Wyróżnia się następujące warstwy:

  • warstwa sprzętowa,
  • system operacyjny,
  • programy narzędziowe,
  • programy użytkowe,
  • użytkownicy

Warstwa sprzętowa – zapewnia podstawowe możliwości obliczeniowe. Najbardziej elementarny podział zestawu komputerowego to podział ze względu na przeznaczenie jego urządzeń składowych:

  • urządzenia wejścia (np. klawiatura, mysz, skaner, mikrofon, kamera),
  • urządzenia wyjścia (np. drukarka, monitor),
  • jednostka centralna (płyta główna, procesor, pamięć, karta grafiki, pamięci masowe).

Architektura systemów operacyjnych

System operacyjny (ang. operating system lub OS) – to program lub układ wielu programów umożliwiający komunikację między warstwą sprzętową a użytkownikiem.

Z punktu widzenia użytkownika komputera system operacyjny pomaga mu komunikować się ze sprzętem (także tym udostępnionym przez sieć) i tworzy środowisko, w którym użytkownik uruchamia potrzebne aplikacje.

Ważną cechą wielu systemów operacyjnych jest tzw. graficzny interfejs użytkownika (ang. Graphical User Interface), który za pomocą grafiki ułatwia korzystanie ze sprzętu.

Zadaniem systemu operacyjnego jest tworzenie bezpiecznego i niezawodnego środowiska, w którym użytkownik może wykonywać swoje prace w sposób wygodny i wydajny.

Pod względem sposobu komunikacji z użytkownikiem rozróżnia się:

  • systemy tekstowe – komunikujące się za pomocą wydawanych z linii poleceń komend, np. DOS,
  • systemy graficzne – komunikujące się za pomocą graficznych okienek i symboli (ikon), np. Windows, Linux.

W każdym systemie operacyjnym występują, mniej lub bardziej wyodrębnione, warstwy spełniające różne funkcje. Są to;

  • jądro – warstwa odpowiedzialna za wykonywanie podstawowych zadań systemu operacyjnego,
  • powłoka – specjalny program, który służy do komunikacji użytkownika z systemem operacyjnym,
  • system alokacji plików – warstwa odpowiedzialna za sposób organizacji i zapisu danych na nośniku.

Pod względem architektury systemy operacyjne dzieli się na systemy z:

  • jądrem monolitycznym – o najprostszej strukturze; ich zaletami są: stabilność, prostota, łatwość komunikacji między różnymi modułami jądra, a wadą – trudność w rozwijaniu programu oraz wykrywaniu błędów; przykładami takiego jądra mogą być Linux, OpenBSD.
  • mikrojądrem – wykonuje mniej zadań niż jądro monolityczne i odpowiada za podstawowe funkcje niezbędne do pracy systemu operacyjnego; bardziej złożone zadania wykonują specjalne bloki funkcjonalne lub jako zwykłe procesy w trybie użytkownika, a nie w trybie jądra.
  • jądrem hybrydowym – łączy cechy obu powyższych jąder; podstawowe funkcje niezbędne do pracy systemu operacyjnego działają w trybie jądra, pozostałe również, tylko z mniejszym priorytetem; dzięki temu zachowano stabilność jądra monolitycznego do najważniejszych zadań; obecnie większość systemów operacyjnych opiera się na jądrze hybrydowym (np. rodzina MS Windows).

Cechy jądra systemu operacyjnego:

  • wielozadaniowość – możliwość równoczesnego uruchamiania wielu procesów (programów i aplikacji),
  • wielowątkowość – wykonywanie kilku niezależnych wątków w ramach jednego procesu,
  • skalowalność – możliwość rozwoju lub miniaturyzacji sprzętu,
  • wywłaszczalność – zdolność jądra do wstrzymanie aktualnie wykonywanego zadania, aby umożliwić przeprowadzenie innego zadania (dzięki temu zawieszenie jednego procesu nie powoduje blokady całego systemu).

Najważniejsze cechy decydujące o użyteczności systemu:

  • łatwość instalacji i użytkowania systemu,
  • współegzystencja z innymi systemami – możliwość czytania i zapisywania danych na partycjach innych systemów oraz współpraca i wymiana danych między komputerami w sieci lokalnej i internecie,
  • zgodność sprzętowa – możliwość instalacji na konkretnym komputerze jest czasem utrudniona przez brak odpowiednich sterowników do określonych urządzeń,
  • wymiana danych – możliwość czytania i wymiany dokumentów między różnymi aplikacjami przystosowanymi do różnych systemów,
  • przystosowanie do pracy w internecie – możliwość i wygoda w przeglądaniu witryn, stosowanie standaryzowanych protokołów internetowych itp.
  • cena,
  • liczba aplikacji działających na danym systemie – nawet najlepiej działający system będzie niewiele wart bez bogatego oprogramowania przystosowanego do swojej platformy,
  • lokalizacja (możliwość porozumienia się z systemem w języku narodowym).

Od architektury systemu operacyjnego zależą takie cechy użytkowe systemu, jak efektywność i stabilność działania. Komunikacja użytkownika z systemem operacyjnym może odbywać się przez interfejs graficzny. Interfejs to tylko jeden z wielu elementów – istotny, ale nie najważniejszy.

Przykładowo, interfejs graficzny Windows przyczynił się do popularyzacji tego systemu, ale w żaden sposób nie wpływa on na stabilność systemu.

Systemom operacyjnym komputerów stawia się wiele zadań, w zasadzie identycznych dla wszystkich. Sposób realizacji zadań, szybkość, a nierzadko nawet możliwość ich wykonania zależą od architektury systemu. Również od architektury systemu zależy jego stabilność – cecha bardzo istotna w wielu zastosowaniach, a zawsze bardzo przydatna.

Podstawowe zadania systemu operacyjnego:

  • Zarządzanie zasobami maszyny – system operacyjny optymalizuje wykorzystanie poszczególnych urządzeń wchodzących w skład komputera oraz steruje nimi. Specjalne moduły wchodzące w skład systemu operacyjnego (sterowniki) udostępniają aplikacjom jednolity sposób programowania urządzeń (interfejs), dzięki czemu każdy nowy sprzęt będzie współdziałać ze wszystkimi aplikacjami, jeśli jego producent przygotuje odpowiedni sterownik.
  • Gromadzenie danych na dyskach i zarządzanie nimi – każdy system operacyjny jest wyposażony w moduł obsługujący system plików. System plików to struktura danych umieszczonych na dysku, która pomaga logicznie uporządkować dane, dzieląc je na pliki i grupując w folderach.
  • Maszyny wirtualne – system operacyjny udostępnia aplikacji tzw. maszynę wirtualną, czyli uproszczony obraz komputera, na którym pracuje aplikacja. W ramach maszyny wirtualnej system udostępnia aplikacji informacje dotyczące komputera oraz dodatkowe rozszerzenia, które ułatwiają pracę (np. folder udostępniony przez sieć aplikacja widzi tak samo jak użytkownik znajdujący się na lokalnym dysku; aplikacja korzystająca z takiego folderu nie zajmuje się obsługą sieci; aby mogła go użytkować, system operacyjny udostępnia go jako folder lokalny.
  • Wielozadaniowość – na jednym komputerze może działać wiele aplikacji jednocześnie. Każda otrzymuje własną maszynę wirtualną i może działać tak, jakby była jedyną aplikacją pracującą na komputerze. Dzięki temu nie trzeba specjalnie przystosowywać aplikacji, aby mogła “podzielić się” komputerem z innymi programami (np. przez udostępnienie możliwości procesora innej aplikacji).
  • Interakcja z użytkownikiem – tę funkcję spełnia zewnętrzna warstwa systemu, nazywana powłoką (ang. shell), która umożliwia użytkownikowi uruchomienie aplikacji. W środowiskach graficznych do tej części systemu zalicza się również standardowe elementy interfejsu wykorzystywane przez aplikacje, np. standardowe okienka dialogowe, kontrolki.
  • Komunikacja z innymi komputerami lub urządzeniami – to jeden z najważniejszych elementów systemu. Dzięki modułom obsługującym sieć jest możliwy dostęp zarówno do internetu, jak i do dysków komputera stojącego na sąsiednim biurku lub do drukarki sieciowej.

O różnicach między systemami decydują głównie sposoby komunikowania się systemu z aplikacjami oraz same rozwiązania realizacji poszczególnych funkcji w systemie.

Wirtualizacja

Wirtualizacja – to proces symulowania przez oprogramowanie istnienia zasobów logicznych, które wykorzystują ustalone zasoby fizyczne.

Przykładowo, wirtualna maszyna stosuje wirtualizację w celu symulowania pracy maszyny z danym systemem operacyjnym bez wpływania na realny system operacyjny, na którym pracujemy.

Pozwala ona na wydajniejsze wykorzystanie sprzętu komputerowego oraz ułatwia pracę z komputerem. System zainstalowany na komputerze fizycznym jest zwany gospodarzem (ang. host), systemy uruchomione na maszynach wirtualnych zaś to goście (ang. guests).

Wirtualizacja polega na uruchomieniu za pomocą narzędzia wirtualizacji, np. Oracle VM VirtualBox lub VMWare, systemu operacyjnego wewnątrz już istniejącego.

Dzięki wirtualizacji otrzymujemy systemy pracujące jednocześnie na tej samej fizycznej maszynie, która rozdziela zasoby sprzętowe (tj. pamięć operacyjną RAM, pamięć masową, czas procesora) gościom według ich potrzeb.

About Klovy

Założyciel serwisu klovy.pl. Moje zainteresowania to: informatyka, słuchanie muzyki (najbardziej typu: Disco Polo, Dance, Pop itp.), czy również sporty (zarówno letnie jak i zimowe). Lubię także pomagać wielu osobom, szczególnie w branży IT, stąd zamysł o platformie Klovy.

Check Also

Ataki Brute Force (Cloudflare) – jak skutecznie uchronić stronę?

Ataki typu Brute Force (siłowe) to jedne z najstarszych i najbardziej powszechnych metod stosowanych przez …

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *