• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • System operacyjny



    Podstrony: [1] 2 [3] [4] [5] [6]
    Przeczytaj także...
    Inferno to rozproszony system operacyjny zaprojektowany do pracy na wielu komputerach połączonych siecią komputerową. Może być uruchomiony jako autonomiczny system operacyjny, jako aplikacja w istniejącym już systemie, lub jako wtyczka do Internet Explorera. Aplikacje dla tego systemu pisane są w języku Limbo.Komputer osobisty (ang. personal computer) – mikrokomputer przeznaczony przede wszystkim do użytku osobistego w domu i biurze. Służy głównie do uruchamiania oprogramowania biurowego, dostępu do zasobów Internetu, prezentacji treści multimedialnych (tekst, obrazy, dźwięki, filmy i inne), jak i gier.
    System operacyjny jako interfejs pomiędzy maszyną a człowiekiem[edytuj kod]
    Schemat warstw logicznych obrazujący relacje pomiędzy elementami systemu komputerowego

    Aby można było mówić, że system operacyjny tworzy środowisko niezbędne do uruchamiania i kontroli zadań musi on udostępniać interfejs pozwalający na wykonanie pewnych operacji. Przykładowo musi dostarczać metody pozwalające na uruchomienie lub zatrzymanie wskazanego zadania. Zazwyczaj system operacyjny udostępnia w tym celu zestaw funkcji zwanych API (Application Programming Interface) lub wywołań systemowych. Programista aplikacyjny może skorzystać z tych funkcji w celu uzyskania żądanego efektu, przykładowo odczytu danych z pliku dyskowego (o ile system operacyjny posiada system plików).

    Plik (ang. file) – uporządkowany zbiór danych o skończonej długości, posiadający szereg atrybutów i stanowiący dla użytkownika systemu operacyjnego całość. Nazwa pliku nie jest częścią tego pliku, lecz jest przechowywana w systemie plików.Środowisko – ogół elementów nieożywionych i ożywionych, zarówno naturalnych, jak i powstałych w wyniku działalności człowieka, występujących na określonym obszarze oraz ich wzajemne powiązania, oddziaływania i zależności. Jest to pojęcie podrzędne w stosunku do przyrody, obejmującej również elementy ożywione.

    Jakąkolwiek czynność na sprzęcie chcą wykonać zadania użytkownika, korzystają zawsze z interfejsu systemu. Ma to tę zaletę, że o szczegółach obsługi sprzętu jest poinformowany tylko i wyłącznie system operacyjny a same zadania nie muszą znać specyfiki obsługi urządzeń. Ułatwia to zadanie programistom aplikacyjnym oraz rozwiązuje potencjalne problemy.

    Programowanie komputerów to proces projektowania, tworzenia, testowania i utrzymywania kodu źródłowego programów komputerowych lub urządzeń mikroprocesorowych (mikrokontrolery). Kod źródłowy jest napisany w języku programowania, z użyciem określonych reguł, może on być modyfikacją istniejącego programu lub czymś zupełnie nowym. Programowanie wymaga dużej wiedzy i doświadczenia w wielu różnych dziedzinach, jak projektowanie aplikacji, algorytmika, struktury danych, znajomość języków programowania i narzędzi programistycznych, wiedza nt. kompilatorów, czy sposób działania podzespołów komputera. W inżynierii oprogramowania, programowanie (implementacja) jest tylko jednym z etapów powstawania programu.Jednostka zarządzania pamięcią (skr. MMU od ang. Memory Management Unit) – zestaw układów realizujących dostęp do pamięci fizycznej żądanej przez CPU. Wśród zadań tych układów znajdują się funkcje translacji pamięci wirtualnej do pamięci fizycznej, ochronę pamięci, obsługę pamięci podręcznej, zarządzanie szynami danych oraz, w prostszych (szczególnie 8-bitowych) systemach, przełączanie banków pamięci.

    Innym rodzajem interfejsu jest interfejs użytkownika. Dzięki niemu możliwa jest bezpośrednia interakcja użytkownika z komputerem, choćby tak trywialna jak bezpieczne wyłączenie maszyny. Należy przy tym zwrócić uwagę, że o ile interfejs programowy (API lub wywołania systemowe) jest elementem koniecznym to interfejs użytkownika jest elementem opcjonalnym.

    Komputer (z ang. computer od łac. computare – liczyć, sumować; dawne nazwy używane w Polsce: mózg elektronowy, elektroniczna maszyna cyfrowa, maszyna matematyczna) – maszyna elektroniczna przeznaczona do przetwarzania informacji, które da się zapisać w formie ciągu cyfr albo sygnału ciągłego.Stronicowanie jest jednym ze sposobów rozwiązania problemu zewnętrznej fragmentacji polegającym na dopuszczeniu nieciągłości rozmieszczenia logicznej przestrzeni adresowej procesu w pamięci fizycznej. Zostało użyte przez polskiego inżyniera Jacka Karpińskiego w architekturze komputera K-202.

    Budowa systemu operacyjnego[edytuj kod]

    Schematyczna budowa systemu komputerowego

    Przyjęto podział na trzy główne elementy budowy systemu operacyjnego:

  • jądro systemu wykonujące i kontrolujące ww. zadania.
  • powłoka – specjalny program komunikujący użytkownika z systemem operacyjnym,
  • system plików – sposób zapisu struktury danych na nośniku.
  • Jądro składa się z następujących elementów funkcjonalnych:

  • planisty czasu procesora, ustalającego które zadanie i jak długo będzie wykonywane,
  • przełącznika zadań, odpowiedzialnego za przełączanie pomiędzy uruchomionymi zadaniami,
  • Dodatkowo:
  • modułu zapewniającego synchronizacje i komunikację pomiędzy zadaniami,
  • modułu obsługi przerwań i zarządzania urządzeniami,
  • modułu obsługi pamięci, zapewniającego przydział i ochronę pamięci.
  • innych zależnie od funkcji i przeznaczenia systemu.
  • Podział systemów operacyjnych[edytuj kod]

    Najszerszym, ale najbardziej podstawowym kryterium podziału systemów operacyjnych jest podział na:

    Algorytm szeregowania (ang. scheduler - planista) to algorytm rozwiązujący jedno z najważniejszych zagadnień informatyki - jak rozdzielić czas procesora i dostęp do innych zasobów pomiędzy zadania, które w praktyce zwykle o te zasoby konkurują.Komputerowe systemy operacyjne (ang. operating systems, skrót OSes) dostarczają zestawu funkcji wymaganych i używanych przez większość aplikacji uruchamianych na komputerze, a także tych pozwalających kontrolować i synchronizować pracę sprzętu komputerowego. Pierwsze komputery nie były wyposażone w systemy operacyjne, przez co każdy program uruchamiany na nich potrzebował pełnej specyfikacji sprzętu, żeby poprawnie pracować i wykonywać podstawowe zadania. Dodatkowo każdy taki program musiał być wyposażony we własne sterowniki do urządzeń peryferyjnych, takich jak drukarki, czy czytniki kart perforowanych. Wzrost złożoności komputerów oraz programów pracujących na nich sprawił, że systemy operacyjne stały się niezbędne do codziennego użytku.
  • system operacyjny czasu rzeczywistego (RTOS)
  • systemy operacyjne czasowo niedeterministyczne
  • Podział ten odnosi się do najbardziej podstawowej funkcjonalności systemu operacyjnego jakim jest planowanie i przydział czasu procesora poszczególnym zadaniom.

    Ze względu na sposób realizacji przełączania zadań systemy operacyjne można podzielić na:

  • systemy z wywłaszczaniem zadań
  • systemy bez wywłaszczania.
  • Inny rodzaj podziału to podział na:

    Asembler (z ang. assembler) – termin informatyczny związany z programowaniem i tworzeniem kodu maszynowego dla procesorów. W języku polskim oznacza on program tworzący kod maszynowy na podstawie kodu źródłowego (tzw. asemblacja) wykonanego w niskopoziomowym języku programowania bazującym na podstawowych operacjach procesora zwanym językiem asemblera, popularnie nazywanym również asemblerem. W tym artykule język programowania nazywany będzie językiem asemblera, a program tłumaczący – asemblerem.Pamięć operacyjna (ang. internal memory, primary storage) – pamięć adresowana i dostępna bezpośrednio przez procesor, a nie przez urządzenia wejścia-wyjścia procesora. W pamięci tej mogą być umieszczane rozkazy (kody operacji) procesora (program) dostępne bezpośrednio przez procesor i stąd nazwa pamięć operacyjna. W Polsce często pamięć ta jest utożsamiana z pamięcią RAM, choć jest to zawężenie pojęcia, pamięcią operacyjną jest też pamięć nieulotna (ROM, EPROM i inne jej odmiany) dostępna bezpośrednio przez procesor, a dawniej używano pamięci o dostępie cyklicznym.
  • otwarte systemy operacyjne
  • wbudowane systemy operacyjne.
  • Systemy otwarte można uruchomić na dowolnej maszynie wskazanego rodzaju np. PC i w określonym stopniu modyfikować. Systemy wbudowane jak sama nazwa wskazuje są zaszyte (wbudowane) wewnątrz urządzeń użytkowych, maszyn pojazdów itp. Aby uzyskać wysoką niezawodność pracy minimalizuje się w takich przypadkach możliwość dokonywania zmian w konfiguracji systemu operacyjnego.

    Karta dziurkowana, karta perforowana - nośnik danych stosowany do zapisu informacji w maszynach z automatycznym przetwarzaniem danych. Używana do programowania komputera począwszy od ich konstrukcji aż do lat 80. XX wieku, stosowana współcześnie z papierową taśmą dziurkowaną.Podmiot gospodarczy – obecnie termin kolokwialny wywodzący się z przepisów prawa wynikających z ustawy o działalności gospodarczej z 1988 roku. Ma za zadanie określać każdego uczestnika działalności gospodarczej, jak m.in. osoby fizyczne wykonujące działalność gospodarczą, przedsiębiorstwa państwowe, spółdzielnie oraz spółki osobowe bądź kapitałowe.

    Pod względem środowiska użytego do implementacji systemu można wprowadzić podział na:

  • programowe
  • sprzętowe.
  • Sprzętowe systemy operacyjne to: sprzętowo programowe rozwiązania integrowane z wybraną architekturą procesora. W takim przypadku sprzętowa część systemu przyśpiesza wybrany zakres czynności wykonywanych przez system (przykładowo przełączania zadań i zachowywanie ich kontekstu).

    Można ustalić pewną relację pomiędzy wymienionymi kryteriami podziału. Zazwyczaj jako otwarte systemy operacyjne spotyka się systemy w pełni programowe, czasowo niedeterministyczne stosujące wywłaszczenie przy przełączaniu zadań. Wbudowane systemy operacyjne są najczęściej czasowo deterministyczne, zazwyczaj nie stosują wywłaszczenia zadań, bywa, że są realizowane również w sprzęcie.

    Interfejs programowania aplikacji (ang. Application Programming Interface, API) – sposób, rozumiany jako ściśle określony zestaw reguł i ich opisów, w jaki programy komunikują się między sobą. API definiuje się na poziomie kodu źródłowego dla takich składników oprogramowania jak np. aplikacje, biblioteki czy system operacyjny. Zadaniem API jest dostarczenie odpowiednich specyfikacji podprogramów, struktur danych, klas obiektów i wymaganych protokołów komunikacyjnych.Programowanie obiektowe (ang. object-oriented programming) — paradygmat programowania, w którym programy definiuje się za pomocą obiektów — elementów łączących stan (czyli dane, nazywane najczęściej polami) i zachowanie (czyli procedury, tu: metody). Obiektowy program komputerowy wyrażony jest jako zbiór takich obiektów, komunikujących się pomiędzy sobą w celu wykonywania zadań.


    Podstrony: [1] 2 [3] [4] [5] [6]



    w oparciu o Wikipedię (licencja GFDL, CC-BY-SA 3.0, autorzy, historia, edycja)

    Warto wiedzieć że... beta

    Jądro systemu operacyjnego (ang. kernel) – podstawowa część systemu operacyjnego, która jest odpowiedzialna za wszystkie jego zadania.
    Interferencja procesów - szkodliwe zjawisko spotykane w środowiskach wielozadaniowych systemów operacyjnych. Jest skutkiem przypadkowego dostępu poszczególnych procesów (zadań) do tych samych zasobów (plików, urządzeń IO) komputera.
    Xen - monitor maszyn wirtualnych (ang. Hypervisor) wydany na licencji open source, opracowany na Uniwersytecie Cambridge, obecnie rozwijany przez firmę XenSource.
    Procesor (ang. processor), także CPU (ang. Central Processing Unit) – urządzenie cyfrowe sekwencyjne, które pobiera dane z pamięci, interpretuje je i wykonuje jako rozkazy. Wykonuje on ciąg prostych operacji (rozkazów) wybranych ze zbioru operacji podstawowych określonych zazwyczaj przez producenta procesora jako lista rozkazów procesora.
    Wywłaszczenie – technika używana w środowiskach wielozadaniowych, w której algorytm szeregujący (scheduler) może wstrzymać aktualnie wykonywane zadanie (np. proces lub wątek), aby umożliwić działanie innemu. Dzięki temu rozwiązaniu zawieszenie jednego procesu nie powoduje blokady całego systemu operacyjnego. W systemach bez wywłaszczenia zadania jawnie informują scheduler, w którym momencie chcą umożliwić przejście do innych zadań. Jeżeli nie zrobią tego w odpowiednim czasie, system zaczyna działać bardzo wolno. Oprócz tego wywłaszczanie umożliwia szczegółowe określanie czasu, w jakim dany proces może korzystać z procesora. Wywłaszczanie w niektórych systemach operacyjnych może dotyczyć nie tylko programów, ale także samego jądra – przykładem takiego systemu jest Linux.
    Wielozadaniowość – cecha systemu operacyjnego umożliwiająca mu równoczesne wykonywanie więcej niż jednego procesu. Zwykle za poprawną realizację wielozadaniowości odpowiedzialne jest jądro systemu operacyjnego.
    MERA 300 – to polski minikomputer o 8-bitowej architekturze, a także nazwa serii komputerów stanowiących kolejne rozwinięcia komputera MERA 300.

    Reklama

    Czas generowania strony: 0.045 sek.