Podstawy Informatyki i Technologii Informacyjnej



Podobne dokumenty
PLD Linux Day. Maciej Kalkowski. 11 marca Wydziaª Matematyki i Informatyki UAM

Wykład 2. Budowa komputera. W teorii i w praktyce

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz

SVN - wprowadzenie. 1 Wprowadzenie do SVN. 2 U»ywanie SVN. Adam Krechowicz. 16 lutego Podstawowe funkcje. 2.1 Windows

Android. Podstawy tworzenia aplikacji. Piotr Fulma«ski. March 4, 2015

System komputerowy - hardware (schemat uproszczony) System operacyjny. Składniki systemu. Struktury systemów operacyjnych

Systemy operacyjne. Paweł Pełczyński

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

Technologie informacyjne (1) Zdzisław Szyjewski

Wprowadzenie do systemów operacyjnych

Sieci komputerowe cel

Podstawowe zagadnienia

Praca Dyplomowa Magisterska

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011

SYSTEMY OPERACYJNE. kik.pcz.czest.pl/so. (C) KIK PCz Materiały pomocnicze 1 PROWADZI: PODSTAWOWA LITERATURA: ZAJĘCIA: STRONA

Podstawy modelowania w j zyku UML

Rzut oka na zagadnienia zwi zane z projektowaniem list rozkazów

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Bazy danych. Andrzej Łachwa, UJ, /15

System komputerowy. System komputerowy

Podstawy obsªugi Linux: obsªuga procesorów i pami ci, obsªuga procesów, komunikacja mi dzyprocesowa. Zarz dzanie procesami w systemie Linux.

System operacyjny System operacyjny

Rozwiązywanie nazw w sieci. Identyfikowanie komputerów w sieci

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1

Podstawy modelowania w j zyku UML

Podstawy Informatyki i Technologii Informacyjnej

Tytuł pracy. Praca dyplomowa inżynierska. Filip Piechocki. Tytuł Imię i Nazwisko

Projekt systemy operacyjne 2 - Systemowe mechanizmy synchr

Dostp do zasobów dyskowych uytkowników lcme10 przez protokół SMB (Microsoft Networking)

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

1 Klasy. 1.1 Denicja klasy. 1.2 Skªadniki klasy.

Warstwy systemu Windows 2000

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

INFORMATOR TECHNICZNY WONDERWARE

J zyk C dla sterowników programowalnych GeFanuc

InsERT GT Własne COM 1.0

Automatyzacja procesu publikowania w bibliotece cyfrowej

Emulacja maszyny. Program udaje zupełnie inną architekturę. Musi przetłumaczyć instrukcje emulowane na instrukcje platformy, na której działa

Regulamin Usªugi VPS

Wprowadzenie do systemów operacyjnych

Metody numeryczne i statystyka dla in»ynierów

Opis efektów kształcenia dla modułu zajęć

System kontroli wersji SVN

Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące.

Wirtualizacja. Metody, zastosowania, przykłady

MiASI. Modelowanie systemów informatycznych. Piotr Fulma«ski. 18 stycznia Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

Bazy danych. Joanna Grygiel

PS IMAGO 3.0 /// instrukcja instalacji

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Wzorce projektowe strukturalne cz. 1

Budowa systemów komputerowych

API transakcyjne BitMarket.pl

Podstawy informatyki. Izabela Szczęch. Politechnika Poznańska

SVN - wprowadzenie. 1 Wprowadzenie do SVN. 2 U»ywanie SVN. Adam Krechowicz 24 czerwca Podstawowe funkcje. 2.1 Windows

KARTA PRZEDMIOTU. Forma prowadzenia zajęć

Subversion - jak dziaªa

... Ireneusz Mrozek. Wydział Informatyki

MiASI. Modelowanie analityczne. Piotr Fulma«ski. 18 stycznia Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

przewidywania zapotrzebowania na moc elektryczn

DOTACJE NA INNOWACJE. Zapytanie ofertowe

1. Wprowadzenie do C/C++

Sieci komputerowe. Definicja. Elementy

Propozycja integracji elementów ±wiata gry przy u»yciu drzew zachowa«

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8

Microsoft Management Console

Sprawozdanie nr 1 Projekt Podstawy In»ynierii Oprogramowania, Wydziaª Elektryczny

Klonowanie MAC adresu oraz TTL

Systemy operacyjne. Informatyka Zakres rozszerzony

Rozwi zywanie Ukªadów Równa«Liniowych Ax=B metod dekompozycji LU, za pomoc JAVA RMI

VLAN Ethernet. być konfigurowane w dowolnym systemie operacyjnym do ćwiczenia nr 6. Od ćwiczenia 7 należy pracować ć w systemie Linux.

Programowanie wspóªbie»ne

Bash i algorytmy. Elwira Wachowicz. 20 lutego

Lab. 02: Algorytm Schrage

Filozoa Clojure. Mateusz Dereniowski. 15 lipca Instytut Informatyki Uniwersytetu Wrocªawskiego

1. Wprowadzenie do C/C++

Projekt konceptualny z Baz Danych "Centralny system zarz dzania salami na AGH"

Systemy Operacyjne. informacje dodatkowe

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

OPIS PRZEDMIOTU ZAMÓWIENIA

Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych

Systemy operacyjne III

Listy i operacje pytania

Zarządzanie Zasobami by CTI. Instrukcja

Rozwi zania klasycznych problemów w Rendezvous

Systemy Operacyjne. informacje dodatkowe

Szeregowanie zada« Przedmiot fakultatywny 15h wykªadu + 15h wicze« dr Hanna Furma«czyk. 7 pa¹dziernika 2013

ZAŠ CZNIK DANYCH TECHNICZNYCH

1. Co to jest system operacyjny

Numer albumu: Imi i nazwisko:...

Parowanie urządzeń Bluetooth. Instrukcja obsługi

epuap Ogólna instrukcja organizacyjna kroków dla realizacji integracji

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Kompilowanie programów

-planowaniem oraz przydziałem czasu procesora poszczególnym zadaniom,

Model obiektu w JavaScript

Transkrypt:

Automatyka i Robotyka, Rok I Wprowadzenie do systemów operacyjnych PWSZ Gªogów, 2009

Denicja System operacyjny (ang. OS, Operating System) oprogramowanie zarz dzaj ce sprz tem komputerowym, tworz ce ±rodowisko do uruchamiania i kontroli zada«u»ytkownika.

Gªówne zadania 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«, dostarcza mechanizmy do synchronizacji zada«i komunikacji pomi dzy zadaniami (wielozadaniowo± ), obsªuguje sprz t oraz zapewnienia równolegle wykonywanym zadaniom jednolity, wolny od interferencji dost p do sprz tu (wzajemne wykluczanie). Dodatkowe przykªadowe zadania, którymi mo»e, ale nie musi zajmowa si system operacyjny to: ustalanie poª cze«sieciowych zarz dzanie plikami...

Elementy skªadowe i budowa OS musi udost pnia interfejs programowy pozwalaj cy na wykonanie pewnych operacji (np. metody pozwalaj ce na uruchomienie lub zatrzymanie wskazanego zadania) Zazwyczaj jest to zestaw funkcji zwanych API (Application Programming Interface) lub wywoªa«systemowych. Budowa systemu operacyjnego - gªówne elementy: j dro systemu wykonuj ce i kontroluj ce zadania u»ytkownika powªoka specjalny program komunikuj cy u»ytkownika z systemem operacyjnym system plików deniuje sposób i umo»liwia zapis danych na no±niku.

Elementy skªadowe i budowa 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

Interfejs u»ytkownika Dzi ki niemu mo»liwa jest bezpo±rednia interakcja u»ytkownika z komputerem (np. bezpieczne wyª czenie maszyny) O ile interfejs programowy (API lub wywoªania systemowe) jest elementem koniecznym to interfejs u»ytkownika jest elementem opcjonalnym Obecnie zwykle jest to interfejs graczny (GUI - Graphical User Interface) zintegrowany z systemem operacyjnym b d¹ jako tzw. nakªadka dawniej tak»e interfejs tekstowy (np. DOS) lub nawet wiersz polece«

GUI: przykªady Microsoft Windows 1.01

GUI: przykªady Microsoft Windows 1.01

GUI: przykªady Microsoft Windows 3.11 for Workgroups

GUI: przykªady Microsoft Windows 7 (formalnie NT 6.1)

GUI: przykªady Amiga OS 3.5

GUI: przykªady IBM OS/2 Warp4

GUI: przykªady Apple Macintosh MacOS 9.2.2

GUI: przykªady Apple MacOS X 10.5

GUI: przykªady Linux, dystrybucja Red Hat 8.0

Nomenklatura program: obiekt pasywny - ci g rozkazów i instrukcji do wykonania przez procesor proces: jednostka pracy systemu, obiekt aktywny z licznikiem rozkazów, stosem procesu itp. (sam program nie jest procesem); mamy: procesy systemu operacyjnego, procesy u»ytkowe itd. Ka»dy proces otrzymuje unikalny numer, tzw. numer PID (ang. Process IDentier) w tek (ang. thread): - podstawowa jednostka wykorzystania procesora, w tki sa efektywniejsze w dziaªaniu od klasycznych procesów szybsze przeª czanie, stan w tku jest zdeniowany maª ilo±ci odr bnych danych, ªatwa i szybka komunikacja pomi dzy w tkami st d popularno± systemów wielow tkowych; w tki mog by obsªugiwane przez j dro systemu operacyjnego (MS Windows) lub zbiór funkcji bibliotecznych na poziomie u»ytkownika (Linux, biblioteka pthread). W tki wykonywane wspóªbie»nie w ramach 1 zadania (programu, procesu) wspóªdziel przestrze«adresow i struktury systemowe (np. listy otwartych plików). Pojawia si jednak problem synchronizacji w tków w celu unikni cia bª dnego wykonania programu (rozwi zanie: semafory, sekcje krytyczne)

Nomenklatura zadanie (ang. task): - w zasadzie to»same z procesem, poj cie u»ywane ci gle z powodów historycznych wieloprogramowo± : idea polega na takim wykonywaniu zada«,»eby procesor byª zawsze wykorzystany; gdy bie» ce zadanie czeka np. na zako«czenie operacji wej±cia-wyj±cia, system przechodzi do wykonania innego zadania wspóªbie»no± : mo»liwo± wykonywania wielu zada«jednocze±nie wielozadaniowo± : logiczne rozszerzenie wieloprogramowo±ci - jednocze±nie jest wykonywanych wiele zada«wielu u»ytkowników (dziel cych jeden komputer), przy czym ka»dy z u»ytkowników ma wra»enie,»e pracuje na na pojedynczej maszynie wielodost pno± : cecha, umo»liwiaj ca wielu u»ytkownikom prac na jednym systemie (komputerze)

Nomenklatura wielow tkowo± (ang. multithreading): cecha systemu operacyjnego, dzi ki której w ramach jednego procesu mo»e wykonywa kilka w tków lub jednostek wykonawczych. Nowe w tki to kolejne ci gi instrukcji wykonywane oddzielnie. Wszystkie w tki tego samego procesu wspóªdziel kod programu i dane. W systemach nie obsªuguj cych wielow tkowo±ci poj cia procesu i w tku uto»samiaj si. Wielow tkowo± mo»e tak»e odnosi si do samych procesorów. W takim wypadku oznacza to mo»liwo± jednoczesnego wykonywania wielu w tków sprz towych na pojedynczej jednostce wykonawczej rdzeniu procesora (ang. core), np. Hyper-Threading Technology rmy Intel dla procesorów Pentium 4 oraz Atom i Core i7.

Podziaª ogólny strategie dziaªania Ze wzgl du na cele do którego jest u»ywany system operacyjny mo»emy dokona podziaªu na (Nutt, 1997) systemy wsadowe (ang. batch): system wykonuje sekwencyjnie zadania przygotowane w tzw. pliku wsadowym, u»ytkownik nie ma wpªywu na wykonanie programów, gdy jest przetwarzany wsad systemy z podziaªem czasu (ang. timesharing), inaczej wielozadaniowe: procesor wykonuje na przemian wiele ró»nych zada«, przy czym przeª czenia nast puj tak szybko,»e u»ytkownicy mog wspóªdziaªa z ka»dym programem podczas jego wykonania systemy jednostanowiskowe (ang. personal computing): dedykowane komputerom osobistym, gdzie pojedynczy u»ytkownik uruchamia wiele programów na dedykowanej maszynie. Celem nadrz dnym zwykle jest dostarczenie u»ytkownikowi niezb dnej wygody i wªa±ciwej reakcji systemu na jego wymagania. Obecnie takie systemy s zarówno wielodost pne jak i wielozadaniowe. Nutt, G. (1997), Operating Systems: A Modern Perspective, First Edition, Addison-Wesley, Reading, MA.

Podziaª ogólny strategie dziaªania systemy dedykowane (ang. dedicated): nale» tutaj systemy czasu rzeczywistego (np. QNX), maj ce ±ci±le zdeniowane, staªe ograniczenia czasowe (przetwarzanie danych musi si zako«czy przed upªywem okre±lonego czasu, inaczej system nie speªnia wymaga«). Przykªadem s systemy steruj ce procesami przemysªowymi, robotami, satelitami a tak»e ró»nego rodzaju specjalizowane sterowniki (systemy wbudowane). Dodatkowo mo»na wyró»ni : systemy rozproszone (ang. distributed): system umo»liwia korzystanie przez u»ytkowników z wielu zycznie rozdzielonych zasobów (procesory, pami, itp. ), przy czym istniej 2 podstawowe strategie korzystania z usªug systemu: sieciowe systemy operacyjne gdzie u»ytkownicy s ±wiadomi wielo±ci maszyn (w celu uzyskania dost pu do zasobów zwykle trzeba dokona zdalnej rejestracji na odpowiednich maszynach) w peªni rozproszone systemy operacyjne gdzie u»ytkownicy nie musz by ±wiadomi wielo±ci maszyn, a dost p do zasobów zdalnych uzyskuje si tak samo, jak do zasobów lokalnych

Podziaª ogólny Ze wzgl du na planowanie i przydziaª czasu procesora poszczególnym zadaniom: systemy operacyjne czasu rzeczywistego systemy operacyjne czasowo niedeterministyczne Ze wzgl du na sposób realizacji przeª czania zada«: systemy operacyjne z wywªaszczaniem zada«, np. MS Windows (95, ME, NT, 2000, XP, Vista), systemy uniksowe systemy operacyjne bez wywªaszczania, np. MS Windows 3.x, Mac OS9 Wywªaszczenie - technika u»ywana w ±rodowiskach wielow tkowych, w której algorytm szereguj cy (planista, ang. scheduler) mo»e wstrzyma aktualnie wykonywane zadanie (np. proces lub w tek), aby umo»liwi dziaªanie innemu. zawieszenie jednego procesu nie powoduje blokady caªego systemu operacyjnego 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, np. Linux.

Przeno±no± systemów operacyjnych Podobnie jak dla programów u»ytkowych: systemy pisane w j zyku niskiego poziomu (asembler) s nieprzeno±ne - np. system MS-DOS pisany w asemblerze mikroprocesora Intel 8088 byª dost pny tylko w rodzinie procesorów rmy Intel systemy pisane w j zykach wysokiego poziomu s ªatwo przeno±ne - np. system Unix czy OS/2 napisany w j zyku C mo»e pracowa na wielu ró»nych procesorach

Maszyna wirtualna (ang. Virtual Machine) Ogólna nazwa dla programów tworz cych ±rodowisko uruchomieniowe dla innych programów. Maszyna wirtualna kontroluje wszystkie odwoªania uruchamianego programu bezpo±rednio do sprz tu lub systemu operacyjnego i zapewnia ich obsªug. Dzi ki temu program uruchomiony na maszynie wirtualnej "my±li",»e dziaªa na rzeczywistym sprz cie, podczas gdy w istocie pracuje na sprz cie wirtualnym, "udawanym" przez odpowiednie oprogramowanie (maszyn wirtualn ). Wykonywanym programem mo»e by zarówno pojedyncza aplikacja jak i caªy system operacyjny lub nawet kolejna maszyna wirtualna. S one zupeªnie odizolowane przez maszyn wirtualn od maszyny zycznej, w odró»nieniu od klasycznego systemu operacyjnego, który tylko zarz dza uruchamianiem aplikacji na maszynie zycznej.

Maszyna wirtualna Rodzaje: interpretery, szczególnie kodu bajtowego, emulatory rzeczywi±cie istniej cego sprz tu, np. konsol kompilatory JIT (just-in-time compilation) (kompilacja do kodu maszynowego w locie, np. wirtualna maszyna Javy) kod ¹ródªowy jest kompilowany do kodu po±redniego (bajtowego), program jest rozpowszechniany w postaci kodu po±redniego, na maszynie, na której program zostaje uruchomiony, maszyna wirtualna przeprowadza kompilacj kodu po±redniego do kodu maszynowego.

Maszyna wirtualna Zastosowania: do uruchamiania istniej cych aplikacji i systemów operacyjnych w innych ±rodowiskach ni» pierwotne dla zapewnienia uniwersalnego ±rodowiska uruchomieniowego do bezpiecznego rozdzielania zasobów du»ych maszyn (mainframe, superkomputery) do uruchamiania jednocze±nie ró»nych systemów operacyjnych na jednym komputerze do uruchamiania na jednym komputerze programowych klastrów do uzyskania peªnej kontroli nad systemem operacyjnym, np. podczas analizowania jego pracy do optymalizacji pracy programów, poprzez kontrol ich ±rodowiska dziaªania i procesu translacji kodu Przykªad: MacWindows

Maszyna wirtualna Emulator systemu Windows dla komputerów Macintosh w dziaªaniu