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



    Podstrony: 1 [2] [3] [4] [5]
    Przeczytaj także...
    Interpreter – program komputerowy wykonujący inne programy. Jest kluczowym elementem znacznej części implementacji języków skryptowych oraz języków kompilowanych do kodu bajtowego. Odra 1300 – seria polskich komputerów mainframe z serii Odra produkowanych w Elwro na licencji angielskiej firmy ICL.
    Przykład graficznego interfejsu systemu operacyjnego wraz z uruchomionym oprogramowaniem

    System operacyjny (ang. operating system, skrót OS) – oprogramowanie zarządzające systemem komputerowym, tworzące środowisko do uruchamiania i kontroli zadań.

    W celu uruchamiania i kontroli zadań użytkownika system operacyjny zajmuje się:

  • planowaniem oraz przydziałem czasu procesora poszczególnym zadaniom,
  • kontrolą i przydziałem pamięci operacyjnej dla uruchomionych zadań,
  • dostarczaniem mechanizmów do synchronizacji zadań i komunikacji pomiędzy zadaniami,
  • obsługą sprzętu oraz zapewnieniem równolegle wykonywanym zadaniom jednolitego, wolnego od interferencji dostępu do sprzętu.
  • Dodatkowe przykładowe zadania, którymi może, ale nie musi, zajmować się system operacyjny to:

    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.
  • ustalanie połączeń sieciowych,
  • zarządzanie plikami.
  • Większość współczesnych systemów operacyjnych posiada środowiska graficzne ułatwiające komunikację maszyny z użytkownikiem.

    Geneza[ | edytuj kod]

    Wczesne komputery były urządzeniami bardzo kosztownymi, wobec czego właścicielom tych urządzeń zależało na maksymalnym wykorzystaniu ich możliwości, czyli najczęściej wykonania możliwie jak największej liczby prac. Miało to efektywniej wykorzystać nakłady poniesione na zakup komputera. Komputer zainstalowany w ośrodku obliczeniowym pracował niekiedy nie tylko na potrzeby swojego właściciela, ale realizował usługi dla innych podmiotów gospodarczych. Rozpoczęto poszukiwania możliwości zwiększenia wydajności komputera oraz ułatwienie jego programowania, a ponieważ proste rozwiązania w postaci zmiany CPU na szybszą itp. nie wchodziły w grę (ze względu na koszt), zaczęto szukać innych możliwości polepszenia sytuacji.

    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.

    Szybko dostrzeżono fakt, że szybkość działania interfejsów wejścia/wyjścia jest niewspółmiernie mniejsza niż jednostki centralnej (zresztą ta zależność utrzymuje się dzisiaj i zdaje się pogłębiać). Wprowadzanie programu i danych z kart perforowanych, a nawet taśm magnetycznych czy drukowanie wyników trwało dużo dłużej niż same obliczenia.

    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.

    Pierwszą drogą jaką znaleziono było umieszczenie na stałe w pamięci komputera oprogramowania realizującego obsługę sprzętu oraz komunikację sprzętu z użytkownikiem. Dzięki temu nie było już konieczne każdorazowe ładowanie kodu obsługi sprzętu i komunikacji z użytkownikiem przy ładowaniu programu użytkowego. Uzyskano w ten sposób pewną oszczędność czasu oraz zwiększono efektywność.

    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.

    Dalsze ulepszenia polegały na dostrzeżeniu faktu, że podczas samego wprowadzania programu lub wyprowadzania danych na drukarkę procesor komputera jest niewspółmiernie mniej obciążony pracą niż podczas wykonywania obliczeń. Zrodził się więc pomysł aby w tym czasie procesor był zajęty przetwarzaniem innego programu. Taka funkcjonalność, w której komputer wykonuje kilka zadań w tym samym czasie nazywa się wielozadaniowością i jest jedną z podstawowych cech nowoczesnych systemów operacyjnych.

    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.

    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).

    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.

    Jakąkolwiek czynność zadania użytkownika chcą wykonać na sprzęcie, 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.

    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.Library of Congress Control Number (LCCN) – numer nadawany elementom skatalogowanym przez Bibliotekę Kongresu wykorzystywany przez amerykańskie biblioteki do wyszukiwania rekordów bibliograficznych w bazach danych i zamawiania kart katalogowych w Bibliotece Kongresu lub u innych komercyjnych dostawców.

    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, o tyle interfejs użytkownika jest elementem opcjonalnym.

    Wirtualizacja – proces symulowania przez oprogramowanie istnienia zasobów logicznych, które wykorzystują ustalone podczas konfiguracji zasoby fizyczne. np. wirtualna maszyna stosuje wirtualizację w celu emulowania pracy maszyny z danym systemem operacyjnym pozwalając przez to badać zachowanie tej maszyny i jej oprogramowania bez wpływania na realny system operacyjny, na którym pracujemy. VMware Workstation – komercyjny pakiet oprogramowania dostarczany przez firmę VMware Inc (będącą obecnie własnością EMC Corporation). Najważniejszym jego składnikiem jest stacja robocza, składająca się z maszyny wirtualnej odpowiedniej dla komputera w architekturze x86, która pozwala na tworzenie i uruchamianie wielu wirtualnych komputerów jednocześnie. Każda maszyna wirtualna, tzw. host, może uruchamiać własny system operacyjny, tzw. gościa, takiego jak m.in. Microsoft Windows, Linux, systemy z rodziny BSD oraz wiele innych. Aplikacja VMware Workstation pozwala uruchamiać wiele systemów operacyjnych jednocześnie na jednej fizycznej maszynie. Dodatkowo, systemy uruchamiane jako wirtualne mogą komunikować się między sobą za pomocą protokołów internetowych. Pozwala to np. na testowanie tworzonych rozwiązań klient-serwer. Inne produkty VMware pomagają w zarządzaniu maszynami wirtualnymi, ułatwiając między innymi ich przenoszenie pomiędzy wieloma maszynami rzeczywistymi.


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




    Warto wiedzieć że... beta

    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ń.
    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.
    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.036 sek.