(O)programowanie. Wykład 3. Zagadnienia szczegółowe:



Podobne dokumenty
dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

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

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

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

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

030 OPROGRAMOWANIE. Prof. dr hab. Marek Wisła

Definicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) Miejsce systemu operacyjnego w architekturze systemu komputerowego

System komputerowy. System komputerowy

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

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

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

System operacyjny wstęp

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

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

Podstawy Informatyki Systemy operacyjne

System operacyjny komputera Informacje podstawowe

Przedmiotem zamówienia jest dostawa:

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

Historia systemów operacyjnych - Unix

Wstęp do Informatyki. Klasyfikacja oprogramowania

Wymagania - informatyka

Plan nauczania informatyki Opracował: mgr Daniel Starego

RÓWNOWAŻNOŚĆ ZAOFEROWANCH PAKIETÓW PROGRAMÓW BIUROWYCH

System operacyjny System operacyjny


Król Łukasz Nr albumu:

Tomasz Grześ. Systemy zarządzania treścią

Systemy operacyjne III

Temat. Budowa systemu komputerowego Zakładka 1. Elementy tworzące stanowisko komputerowe.

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

Technologia informacyjna. Semestr zimowy 2017/2018 Zajęcia nr 8 (LibreOffice)

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

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

Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski

Załącznik nr 1e do Formularza Ofertowego

Programowanie w C. dr inż. Stanisław Wszelak

1. Co to jest system operacyjny

KATEGORIA OBSZAR WIEDZY NR ZADANIA Podstawowe informacje i czynności

Systemy operacyjne. Literatura do zagadnień wykładowych (1) Literatura do zagadnień wykładowych (2) Program przedmiotu. Forma zaliczenia przedmiotu

Spis treści 3. Spis treści

DOS COMMAND.COM. Rys. 2. Główne moduły programowe systemu operacyjnego DOS. Interpreter poleceń. Rys. 3. Warstwowa struktura systemu DOS

Wykład I. Wprowadzenie do baz danych

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

WYMAGANIA EDUKACYJNE NIEZBĘDNE DO UZYSKANIA POSZCZEGÓLNYCH ŚRODROCZNYCH I ROCZNYCH OCEN Z ZAJĘĆ KOMPUTEROWYCH W KLASIE IV

Wprowadzenie do systemów operacyjnych

Środowiska i platformy programistyczne

wspiera w swojej specyfikacji podpis elektroniczny zgodnie z Tabelą A.1.1 załącznika 2 Rozporządzenia w sprawie minimalnych Strona 1 z 6

Podstawa programowa Technik informatyk PODSTAWA PROGRAMOWA KSZTAŁCENIA W ZAWODZIE TECHNIK INFORMATYK SYMBOL CYFROWY 312[01]

KOMPUTER. Programy użytkowe i systemy operacyjne

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

Przedmiotem zamówienia jest zakup oprogramowania biurowego dla Urzędu Miasta Lublin, w liczbie 50 licencji.

Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej.

Działanie systemu operacyjnego

Spis treści. Od autorów / 9

Systemy operacyjne. Program przedmiotu. Forma zaliczenia przedmiotu. Dariusz Wawrzyniak 1

Systemy operacyjne. Program przedmiotu

Temat. Budowa systemu komputerowego. Zakładka 1. Elementy tworzące stanowisko komputerowe.

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

5. Arkusz kalkulacyjny Excel 205

SZCZEGÓŁOWY HARMONOGRAM SZKOLENIA

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Programowanie komputerów

Podstawy Techniki Komputerowej. Temat: System operacyjny komputera - charakterystyka

System operacyjny. System operacyjny to program kontrolujący pracę komputera

Działanie systemu operacyjnego

Działanie systemu operacyjnego

Scenariusz szkolenia

APLIKACJE WCHODZĄCE W SKŁAD PAKIETU MS OFFICE DLA UŻYTKOWNIKÓW DOMOWYCH

Wymagania edukacyjne z informatyki dla cyklu dwugodzinnego 1h tygodniowo w pierwszym roku nauczania

3.1. Na dobry początek

Jądro systemu operacyjnego

Struktury systemów operacyjnych

Proporcje podziału godzin na poszczególne bloki. Tematyka lekcji. Rok I. Liczba godzin. Blok

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

WSTĘP. Budowę umiejętności w: zarządzaniu plikami; procesowaniu tekstu i tworzeniu arkuszy; uŝywaniu przeglądarek internetowych oraz World Wide Web;

IdyllaOS. Prosty, alternatywny system operacyjny. Autor: Grzegorz Gliński. Kontakt:

Wymagania dla cyklu dwugodzinnego w ujęciu tabelarycznym. Gimnazjum nr 1 w Miechowie

PROGRAM NAUCZANIA DLA I I II KLASY GIMNAZJUM

Systemy operacyjne i sieci komputerowe Szymon Wilk System operacyjny 1

WYMAGANIA EDUKACYJNE Z ZAJĘĆ KOMPUTEROWYCH DLA KLASY V

Systemy operacyjne. Paweł Pełczyński

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym

Przegląd współczesnych systemów operacyjnych

ROZKŁADY MATERIAŁU PRZEDMIOT ELEMENTY INFORMATYKI KLASA IV, V I VI.

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

PRZEWODNIK PO PRZEDMIOCIE

Spis treści. Rozdział 1. Wprowadzenie, czyli kilka słów o komputerze / 11

O higienie pracy, komputerze, sieciach komputerowych i Internecie

Produkty. MKS Produkty

SYSTEM OPERACYJNY. Monika Słomian

Rozkład materiału nauczania. Lekcje z komputerem. Klasa 4

SZCZEGÓŁOWY OPIS PRZEDMIOTU ZAMÓWIENIA

biegle i poprawnie posługuje się terminologią informatyczną,

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

PAMIĘĆ OPERACYJNA...107

Spis treści. Podstawy posługiwania się komputerem

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Warstwy systemu Windows 2000

Spis treści. Wstęp Rozdział 1. Wprowadzenie do pakietu Office Rozdział 2. Edytory tekstu program Word... 15

Ćwiczenie Nr 6 Przegląd pozostałych najważniejszych mechanizmów systemu operacyjnego Windows

Transkrypt:

Wykład 3 (O)programowanie Zagadnienia szczegółowe: - oprogramowanie i jego podział - pojęcie systemu operacyjnego - struktura systemu operacyjnego - funkcje systemu operacyjnego - klasyfikacje systemów operacyjnych - systemy operacyjne Windows - UNIX: warstwowy model systemu - Linux i jego dystrybucje - translacja, kompilacja, interpretacja - pakiety prac biurowych - programowanie - narzędzia wspomagające programowanie Oprogramowanie: Oprogramowanie (software) to całość informacji w postaci zestawu instrukcji, zaimplementowanych interfejsów i zintegrowanych danych przeznaczonych dla komputera do realizacji wyznaczonych celów. Celem oprogramowania jest przetwarzanie danych w określonym zakresie. Oprogramowanie jest synonimem terminów program komputerowy oraz aplikacja, przy czym stosuje się je zazwyczaj do określania większych programów oraz ich zbiorów. Oprogramowanie tworzą programiści w procesie programowania. Oprogramowanie jako przejaw twórczości jest chronione prawem autorskim, twórcy zezwalają na korzystanie z niego na warunkach określanych w licencji. Oprogramowanie pisane jest zazwyczaj przy użyciu różnych języków programowania z wykorzystaniem algorytmów. Podział oprogramowania: Podstawowy podział oprogramowania wyróżnia: - oprogramowanie systemowe - zestaw programów, które pozwalają zrealizować podstawowe zadania za pomocą komputera, pozwalają zarządzać zasobami systemu komputerowego oraz umożliwiają pracę użytkowników (duża część tego oprogramowania dostarczana jest wraz ze sprzętem) - oprogramowanie narzędziowe i użytkowe - programy ułatwiające pracę i poruszanie się użytkownika w systemie komputerowym - oprogramowanie aplikacyjne - zestawy programów lub pakietów programowych realizujących konkretne zadania merytoryczne i spełniających określone potrzeby użytkowników komputerów Oprogramowanie systemowe - systemy operacyjne 1

- programy i systemy diagnostyki sprzętu - systemy programowania (translatory) - pakiety programów obsługi wielodostępu i sieci komputerowych - pomocnicze programy i pakiety usługowe: * programy do kompresji zbiorów * programy antywirusowe * programy archiwizujące Oprogramowanie narzędziowe i użytkowe - edytory tekstów - arkusze kalkulacyjne - narzędzia wspomagające programowanie - bazy danych - programy do tworzenia grafiki komputerowej - programy do tworzenia multimediów (dźwięki, wideo) - pakiety organizacji prac biurowych Oprogramowanie aplikacyjne - obszar użytkowania: * indywidualne - wykonane na potrzeby pojedynczego użytkownika * standardowe, powszechne - rozpowszechniane w ramach grupy użytkowników o jednorodnych potrzebach - poziom specjalizacji: * pakiety ogólnego przeznaczenia * pakiety specjalizowane - do ściśle określonych celów Miejsce oprogramowania w systemie komputerowym: aplikacje użytkownika oprogramowanie użytkowe i narzędziowe SYSTEM OPERACYJNY sprzęt Pojęcie systemu operacyjnego: System operacyjny (operating system) to zbiór programów: - umożliwiających uruchamianie programów użytkownika - przeznaczonych do dynamicznego zarządzania zasobami komputer i umożliwiających wykorzystanie tych zasobów - umożliwiających wszechstronne wykorzystanie samego sprzętu komputerowego 2

Gdy użytkownik końcowy uruchamia aplikację, na jej potrzeby przydzielane są zasoby systemu komputerowego. Przydziałem tym zarządza system operacyjny, dzięki czemu można uzyskać stosunkowo duży stopień niezależności programów od konkretnego sprzętu oraz odpowiedni poziom bezpieczeństwa i sprawności działania. Definicje systemu operacyjnego: Per Brinch Hansen: System operacyjny jest zbiorem automatycznych i ręcznych procedur, które pozwalają grupie osób na efektywne współdzielenie urządzeń maszyny cyfrowej. Alan Shaw: System operacyjny (nadzorczy, nadrzędny, sterujący) jest to zorganizowany zespół programów, które pośredniczą między sprzętem a użytkownikami, dostarczając użytkownikom zestawu środków ułatwiających projektowanie, kodowanie, uruchamianie i eksploatację programów oraz w tym samym czasie sterują przydziałem zasobów dla zapewnienia efektywnego działania. Abraham Silberschatz: System operacyjny jest programem, który działa jako pośrednik między użytkownikiem komputera, a sprzętem komputerowym. Zadaniem systemu operacyjnego jest tworzenie środowiska, w którym użytkownik może wykonywać programy w sposób wygodny i wydajny. Andrew Tanenbaum: System operacyjny jest warstwą oprogramowania operującą bezpośrednio na sprzęcie, której celem jest zarządzanie zasobami systemu komputerowego i stworzenie użytkownikowi środowiska łatwiejszego do zrozumienia i wykorzystania. Pojęcia podstawowe: Zasób systemu komputerowego (resource) to każdy, niekoniecznie fizyczny, środek, o który mogą ubiegać się użytkownicy i ich programy, zwykle niezbędny do wykonania przez komputer postawionego mu zadania. Zasoby zarządzane przez system operacyjny: - procesor przydział czasu procesora - pamięć alokacja przestrzeni adresowej dla procesów - urządzenia zewnętrzne: * udostępnianie i sterowanie pamięciami zewnętrznymi * alokacja przestrzeni dyskowej * udostępnianie i sterowanie urządzeniami zewnętrznymi - informacja (system plików) * organizacja i udostępnianie informacji * ochrona i autoryzacja dostępu do informacji Proces to obiekt opisujący pracę systemu komputerowego, któremu przydzielony został procesor, własny obszar pamięci operacyjnej oraz zbiór innych, potrzebnych zasobów. Proces określany jest przez kod programu wykonywanego w trakcie swego istnienia: 3

- kod programu użytkownika (proces użytkownika) - kod systemowy (proces systemowy) Proces może posiadać wiele podobiektów wątków. Wątek to część programu (procesu), która może być wykonywana asynchronicznie, podczas gdy główny kod programu zajmuje się innymi zadaniami. Wątek jest podstawową jednostką, której przydzielony jest czas pracy procesora. Wątki są wykonywane we wspólnej przestrzeni adresowej i współdzielą zasoby. Struktura systemu operacyjnego: powłoka jądro systemu sprzęt jądro systemu wykonuje główne zadania systemu powłoka pośredniczy w komunikacji użytkownika z systemem operacyjnym i sprzętem system plików określa sposób zapisu danych na nośnikach Jądro systemu (kernel) podstawowa część systemu operacyjnego, wykonuje główne zadania systemu, ukrywa szczegóły sprzętowej realizacji systemu komputerowego: - jądro monolityczne wszystkie zadania są wykonywane przez jądro, będące jednym, dużym programem działającym w trybie jądra (Linux) - mikrojądro z monolitycznego jądra zostaje tylko jego podstawowa część, części odpowiedzialne za bardziej wyrafinowane funkcje są wydzielone do funkcjonalnych bloków albo realizowane jako zwykłe procesy (Windows) - jądro hybrydowe kompromis między architekturą jądra monolitycznego i mikrojądra (Windows) Powłoka (shell) - pośredniczy w komunikacji użytkownika z systemem operacyjnym i sprzętem - tworzy ją: * interpreter poleceń komunikujący użytkownika z systemem, który: - pobiera polecenia od użytkownika - interpretuje polecenia - wykonuje polecenia - przekazuje użytkownikowi wyniki wykonania poleceń oraz informuje o problemach lub błędach * programy systemowe do obsługi poleceń 4

- przykłady: cmd.exe (Windows), sh (UNIX), KDE (Linux) System plików określa sposób zapisu danych w postaci plików, metodę przechowywania plików, zarządzania plikami i informacjami o nich. plik - jest podstawową jednostką zapisu i przechowywania danych w komputerze - jest ciągiem bitów, opatrzonym nazwą i atrybutami - bity danych są interpretowane w zależności od charakteru (typu) pliku - plik opisują następujące informacje: * nazwa pliku oraz rozszerzenie charakterystyczne dla typu pliku * rozmiar pliku (w bajtach) * data oraz godzina utworzenia (lub modyfikacji) pliku * atrybuty: tylko do odczytu, ukryty, systemowy, archiwalny * prawa odczytu, zapisu, wykonania pliku Pliki mogą być organizowane w katalogi (foldery, kartoteki) Funkcje systemu operacyjnego: wynikają z konieczności rozwiązywania konfliktów powstałych podczas współubiegania się różnych procesów o zasoby systemu komputerowego i optymalizacji wykorzystania tych zasobów przez procesy: - funkcje zarządzające: zarządzanie pracą wszystkich elementów wchodzących w skład systemu komputerowego, tworzenie środowiska do pracy innych programów. - funkcje dystrybucji zasobów: nadzór nad wszystkimi zasobami wchodzących w skład systemu komputerowego, odpowiedni przydział (dystrybucja) zasobów poszczególnym programom, które się o nie ubiegają - funkcje sterujące: nadzorowanie działania programów użytkownika, przeciwdziałanie błędom i zapobieganie sytuacjom awaryjnym, sterowanie pracą urządzeń wejścia-wyjścia i zapewnienie poprawnej współpracy jednostki centralnej z urządzeniami zewnętrznymi - testowanie składowych sprzętowych systemu - pobieranie i wykonywanie poleceń użytkowników, obsługa dialogu użytkownik komputer, definiowanie interfejsu użytkownika - udostępnianie środowiska do wykonywania programów (ładowanie i uruchamianie programów, szeregowanie procesów) - zarządzanie procesorami, pamięcią operacyjną, procesami, siecią komputerową (przydział i zwalnianie pamięci, zarządzanie pamięcią wirtualną) - współdzielenie danych i zasobów (wielodostęp) (przydział, synchronizacja dostępu, ochrona i autoryzacja dostępu, odzyskiwanie zasobów, księgowanie wykorzystania zasobów) - zarządzanie plikami (gromadzenie, przetwarzanie i porządkowanie programów i danych na zewnętrznych nośnikach - przetwarzanie plików, tworzenie, usuwanie plików i katalogów, zapis i odczyt plików) - zarządzanie urządzeniami zewnętrznymi (przyłączanie nowych urządzeń i ustawienie parametrów ich pracy, obsługa operacji we/wy, buforowanie operacji we/wy) - obsługa błędów 5

Klasyfikacja systemów operacyjnych: ze względu na sposób przetwarzania: - systemy przetwarzania bezpośredniego (on-line processing systems) tzw. Systemy interakcyjne: * występuje bezpośrednia interakcja pomiędzy użytkownikiem, a systemem (podanie danych, wybór z menu) * wykonywanie zadania użytkownika rozpoczyna się zaraz po jego wprowadzeniu do systemu - systemy przetwarzania pośredniego (off-line processing systems) tzw. Systemy wsadowe: * występuje znacząca zwłoka czasowa między wprowadzeniem do systemu a rozpoczęciem wykonywania zadania * niemożliwa jest ingerencja użytkownika w wykonywanie zadania ze względu na liczbę wykonywanych programów: - systemy jednozadaniowe (jednoprogramowe): * niedopuszczalne jest rozpoczęcie wykonywania następnego zadania użytkownika przed zakończeniem poprzedniego - systemy wielozadaniowe (wieloprogramowe) z wywłaszczeniem lub bez wywłaszczania: * dopuszczalne jest istnienie jednocześnie wielu zadań (procesów), którym, zgodnie z pewną strategią, przydzielany jest kolejno procesor * zwolnienie procesora następuje w wyniku: żądania przydziału dodatkowego zasobu, zainicjowania operacji we/wy, przekroczenia ustalonego limitu czasu (podział czasu procesora) ze względu na liczbę użytkowników: - systemy dla jednego użytkownika: * zasoby przeznaczone są dla jednego użytkownika (np. w przypadku komputerów osobistych) * nie ma mechanizmów autoryzacji, a mechanizmy ochrony informacji są ograniczone - systemy wielodostępne: * wielu użytkowników może niezależnie korzystać ze zasobów systemu komputerowego, a system operacyjny gwarantuje ich ochronę przed nieupoważnioną ingerencją ze względu na sposób, w jaki komunikują się z użytkownikiem: - systemy pracujące tylko w trybie tekstowym: * na monitorze widoczne są tylko znaki ASCII * polecenia wpisuje się w linii poleceń z klawiatury - systemy z graficznym interfejsem użytkownika (Graphical User Interface - GUI): * charakterystyczne są okna, rozwijane menu, przyciski, ikony, paski przewijania i zakładki * z interfejsu korzysta się za pomocą myszy (i klawiatury), klikając na ikony - graficzne reprezentacje poleceń (zamiast wpisywać polecenia z klawiatury) inne rodzaje systemów operacyjnych: - systemy czasu rzeczywistego (real-time systems): 6

* zorientowane na przetwarzanie z uwzględnieniem specyficznych wymagań związanych z czasem wykonywanych przez nie operacji - systemy sieciowe i rozproszone (network and distributed systems): * umożliwiają zarządzanie zbiorem rozproszonych jednostek przetwarzających (komputerów), które są zintegrowane siecią komputerową i nie współdzielą fizycznie zasobów - systemy operacyjne komputerów tzw. naręcznych: * tworzone dla rozwiązań typu PDA, telefonów komórkowych itp. * podlegają istotnym ograniczeniom zasobowym Popularne systemy operacyjne: CP/M, MS DOS, PC DOS Windows 3.x, Windows 9x, Windows Me, Windows NT, Windows 2000, Windows XP, Windows Vista Windows 7 Windows 8 UNIX, XENIX, Linux, MacOS, OS/2 Systemy operacyjne Windows: Windows to nazwa systemów operacyjnych produkowanych przez firmę Microsoft od 1983 r. 16 bitowe: Windows 1.0, Windows 2.0, Windows 3.0, Windows 3.1 (1992), Windows 3.11, Windows for Workgroups (1993) - nakładki na MS DOS 16/32 bitowe: Windows 95 (4 i 4.1), Windows 98 i 98 SE (1999), Windows ME (2000) - oparte na systemie MS DOS, architektura CISC 32/64 bitowe - Windows New Technology, architektura CISC, RISC: Windows NT 3.1, Windows NT 3.5/3.51, Windows NT 4.0 (1996), Windows 2000 (NT 5.0) (2000), Windows XP (NT 5.1) (2001), Windows Server 2003 (NT 5.2), Windows XP Media Center (2003, 2005), Windows XP Professional x64 Edition (NT 5.2) (2005), Windows Vista (NT 6.0) (2006/2007), Windows Server 2008 (NT 6.0) (2008) Windows 7 (2009) Windows 8 (2012), Windows 8.1 (2013) Główne cechy systemów Windows: 1. graficzny interfejs użytkownika (GUI) - określa sposób prezentacji informacji przez komputer oraz interakcji z użytkownikiem 2. skalowalność - system można uruchamiać na jednym procesorze dla jednego użytkownika lub w trybie wielu użytkowników w wieloprocesorowej instalacji sieciowej 3. model przetwarzania klient-server 4. architektura mikrojądra (Micro Kernel Architecture) rdzeniem systemu operacyjnego jest bardzo mały zestaw procedur programowych stanowiących podstawę, na której zbudowane są wszystkie inne części systemu operacyjnego (najnowsze wersje jądro hybrydowe) 7

5. wielozadaniowość (z wywłaszczaniem) zdolność do obsługi więcej niż jednej aplikacji (z wywłaszczaniem oznacza, że każdy program ma kwant czasu, po którym przełącza się inny proces, dzięki czemu zablokowany proces można zabić ) 6. wielowątkowość - zdolność do nieliniowego wykonywania programów; program lub aplikacja mogą mieć więcej niż jeden wątek 7. multimedialność - obsługa plików zapisanych w różnych formatach multimedialnych (graficznych, dźwiękowych i wideo) UNIX: Unix Time-Sharing System (UNIX) system operacyjny napisany w 1969 r w Bell Laboratories (AT&T) przez Dennisa Ritchie i Kena Thompsona. Obecnie UNIX to cała rodzina systemów operacyjnych różniących się sposobami implementacji (AIX, GNU/Linux, MAC OS X, Solaris). Podstawowe cechy: - niezależność od sprzętu - warstwowa architektura (jądro, które otaczają warstwy zewnętrzne) - wielozadaniowość, wieloprogramowość - wielodostępność - wieloprocesorowość - ochrona dostępu do katalogów i plików - łatwe przystosowanie interpretera poleceń do wymagań użytkownika. Podstawowe wady to: duża liczba wersji i obszerna dokumentacja. Warstwowy model systemu: Większość elementów systemu UNIX, np. rodzaj i wygląd interfejsu, nie jest ustalona, zależy od modułów, jakie zostaną włączone w skład systemu. Warstwowy model systemu UNIX składa się z czterech warstw: - jądro: * ma bezpośredni dostęp do wszystkich zasobów komputera * zawiera tzw. program szeregujący i sterowniki urządzeń * zarządza pamięcią operacyjną - biblioteki: * zestawy podprogramów (zwykle napisanych w języku C) wykonujących różne, często stosowane operacje * biblioteki są dołączane do programów na etapie konsolidacji (faza po kompilacji, przed uruchomieniem) - powłoka: * warstwa ta oddziela wewnętrzną część systemu operacyjnego od użytkownika * zawiera interpreter poleceń, który umożliwia komunikację z użytkownikiem * interpreter poleceń uruchamia polecenia systemu operacyjnego oraz programy użytkownika - programy: * procesy uruchamiane przez użytkownika, zarządzane przez program szeregujący jądra * każdy program ma przydzielony odpowiedni obszar pamięci i priorytet * jeśli proces użytkownika próbuje dostać sie do cudzego obszaru pamięci, zostaje przerwany, a system wyświetla odpowiedni komunikat 8

Linux: Linux uniksopodobny (Linux Is Not UNIX) 32 lub 64-bitowy system operacyjny, oferowany na zasadach licencji wolnego i otwartego oprogramowania (GNU/Linux). Pierwsza wersja monolitycznego jądra Linuksa została napisana (głównie w języku C) przez Linusa Torvaldsa w 1991 roku dla komputerów PC (najnowsza: wersja 3.17.3 z 14.11.2014, www.kernel.org). Pełny system operacyjny wymaga powłoki systemowej, kompilatora, bibliotek, itp. W roli większości z tych narzędzi użyto oprogramowania GNU. Nie istnieje jedna, oficjalna wersja GNU/Linuksa, istnieje natomiast wielu niezależnych producentów, którzy do wydanego jądra Linuksa dodają oprogramowanie GNU oraz inne, pomocnicze programy. Takie połączenie bibliotek i programów nazwane jest dystrybucją GNU/Linuksa. Dystrybucje Linuksa: Dystrybucja Linuksa to zestaw programów rozpowszechnianych łącznie i dający po zainstalowaniu gotowy do użycia system. Programy występują zwykle w postaci pakietów binarnych lub jako źródła, które należy przed użyciem skompilować. Dystrybucja oferuje system pobierania, instalacji, deinstalacji i uaktualniania pojedynczych pakietów oraz wspólny interfejs konfiguracji pakietów. Zazwyczaj dystrybucje są instalowane bezpośrednio na dysku twardym komputera. Większość dystrybucji jest rozpowszechniana na dyskach CD-ROM lub jest dostępna do pobrania przez Internet (minimalne koszty nośnika). Obecnie znanych jest ponad 300 dystrybucji Linuksa. Serwis monitorujący dystrybucje Linuksa: http://distrowatch.com Najbardziej popularne dystrybucja Linuksa: - Mint - Ubuntu - Debian - Mageia - opensuse - Fedora - Arch Arch (http://www.archlinux.org) - oparty na systemie pakietów binarnych kompilowanych dla architektur i686 oraz x86_64 - prosty system dla zaawansowanych użytkowników Debian (http://www.debian.org) - jedna z najstarszych (1993) dystrybucji GNU/Linux - system dostępny także na innych jądrach - system stabilny o wysokiej jakości i łatwy do aktualizacji - jest wydawany dla różnych architektur komputerowych 9

Fedora (http://fedora.redhat.com) - niekomercyjny następca (2003) dystrybucji Red Hat Linux - skierowana przede wszystkim dla użytkowników domowych Mageia (http://www.mageia.org) - system utworzony we wrześniu 2010 roku na bazie Mandriva Linux przez byłych pracowników i współpracowników popularnej francuskiej dystrybucji Linuksa Mint (http://www.linuxmint.com) - dystrybucja skierowana do początkujących użytkowników - kładzie nacisk na prostotę użytkowania, przydatne aplikacje i pełne ich wsparcie zaraz po instalacji - daje użytkownikom dostęp do ogromnego zbioru pakietów programów opensuse (http://www.opensuse.org) - prosta w obsłudze (interfejs graficzny) dystrybucja Linuksa - przeznaczona dla użytkowników domowych - wersja komercyjna SUSE Linux Enterprise (Novell) - YaST2 - przyjazny program instalacyjny, narzędzie do konfiguracji systemu i zarządzania pakietami Ubuntu (http://www.ubuntu.com) - najpopularniejsza, kompletna dystrybucja GNU/Linux - przeznaczona głównie do zastosowań biurowych i domowych - darmowe dyski CD-ROM wydawane co 6 miesięcy Zastosowania Linuksa: - bezpieczeństwo, stabilność, możliwość audytu i łatwość modyfikacji kodu źródłowego - stosowany jest jako podstawowy system operacyjny serwerów (WWW, FTP, pocztowych, baz danych), zapór sieciowych i routerów - używany w większości superkomputerów - szerokie zastosowanie na rynku komputerów biurowych i domowych - wykorzystanie w bankach i instytucjach finansowych - popularny system w komputerach wykorzystywanych do tworzenia animacji i efektów specjalnych Interfejs: Linux oferuje interfejs wiersza poleceń (Command Line Interface) jako część funkcji przejętych z systemu UNIX. Brak GUI pozwala zminimalizować wykorzystywane zasoby systemowe. Graficzny interfejs użytkownika nie jest w Linuksie integralną częścią systemu operacyjnego, lecz dodatkowym zbiorem programów: - menedżer okien - pozwala na kontrolowanie położenia i wyglądu okien indywidualnych aplikacji oraz na interakcję z systemem obsługi okien - duże środowiska graficzne: * GNOME (GNU Network Object Model Environment) - atrakcyjny pulpit dla użytkowników końcowych oraz zestaw bibliotek do budowania aplikacji graficznych (np. GIMP, Inkscape) (http://www.gnome.org) 10

* KDE (K Desktop Environment ) - bogaty system bibliotek do tworzenia aplikacji w środowisku graficznym (http://www.kde.org) Translacja: Komputer bez dodatkowego oprogramowania umie jedynie wykonywać programy w języku maszynowym. Wszystkie inne programy wymagają przetłumaczenia na język maszynowy. Służą do tego specjalne programy zwane translatorami. Proces tłumaczenia programu z jednego języka na inny nazywa się translacją. Danymi dla tego rodzaju programów jest program źródłowy napisany w języku wysokiego poziomu, a wynikiem jest program w języku maszynowym. Translacja uniezależnia programistę od komputera, procesora i jego języka maszynowego. Dwa główne rodzaje translacji to: kompilacja i interpretacja. Kompilacja ma miejsce, gdy program zwany kompilatorem tłumaczy (automatycznie) program źródłowy na inny język (język maszynowy lub kod pośredni, np. kod bajtowy), poddając go ewentualnej optymalizacji. Efektem pracy kompilatora jest kod wynikowy. Po kompilacji następuje tzw. linkowanie (konsolidacja), dołączające do kodu wynikowego niezbędne biblioteki i inne elementy już skompilowane, aby otrzymać wynik końcowy w postaci programu wykonywalnego (.EXE). Kompilator operuje na całym tekście programu źródłowego i generuje tekst przekładu jako całość. Do wykonania programu możemy przystąpić dopiero po zakończeniu procesu translacji. Interpretacja ma miejsce, gdy interpreter tłumaczy i wykonuje każdą instrukcję osobno, przez co nie jest możliwa optymalizacja i nie uzyskuje się pełnego kodu wynikowego. Ponadto język musi mieć specjalną budowę, aby dał się interpretować. Interpreter jest translatorem, który operuje na poszczególnych jednostkach syntaktycznych programu źródłowego i generuje ich przekłady. Fragmenty programu wynikowego możemy wykonywać nie czekając na zakończenie translacji całości. Wprowadzony podział nie jest sztywny, buduje się bowiem translatory mające cechy zarówno kompilatorów, jak i interpreterów. Pakiety organizacji prac biurowych: Pakiet organizacji prac biurowych to zbiór programów komputerowych służących do typowych zastosowań biurowych (i nie tylko), takich jak: - edycja tekstu - wykonywanie obliczeń księgowych 11

- obsługa baz danych, które są sprzedawane jako jeden zintegrowany produkt. W skład pakietu biurowego wchodzą zwykle: - edytor tekstu - arkusz kalkulacyjny - programy do prezentacji Oprócz tego często dodaje się do nich: - program do obsługi baz danych - programy graficzne - program DTP - program do tworzenia stron WWW - program do obsługi poczty elektronicznej - programy do scalania i organizowania w pakiety plików pochodzących z różnych źródeł - kalendarze elektroniczne i organizery Edytor tekstu to program komputerowy umożliwiający wprowadzanie oraz edycję tekstu. Podstawowe funkcjonalności edytora tekstu: - pisanie tekstów - rozbudowane formatowanie tekstów w oparciu o style tekstu - korekta tekstu: wyszukiwanie błędów literowych, gramatycznych, interpunkcyjnych; kontrola poprawności formalnej; możliwość poprawienia - umieszczanie obrazów - importowanie obrazów w różnych formatach - rysowanie prostych obiektów wektorowych - dowolne kształtowanie sposobu opływania tekstem obiektów - automatyczne numerowanie stron - generowanie spisu treści, przypisów i skorowidzów Arkusz kalkulacyjny to program komputerowy przedstawiający dane, głównie liczbowe, w postaci zestawu dużych tabel dwuwymiarowych, pozwalający na automatyczną obróbkę tych danych oraz na prezentację ich w różny sposób. Podstawowe funkcjonalności arkusza kalkulacyjnego: - wprowadzanie danych i organizowanie ich w dwuwymiarowych tabelach - automatycznie przetwarzane wprowadzonych do arkusza danych za pomocą rożnego typu funkcji (matematycznych, statystycznych, daty i czasu, finansowych, bazodanowych, logicznych) - wizualizacja danych prezentowanych w postaci wykresów (kolumnowych, słupkowych, kołowych, liniowych, warstwowych itp.), które pozwalają łatwiej zorientować się we wzajemnych zależnościach i tendencjach - tworzenie różnego rodzaju symulacji Program do prezentacji to program służący do tworzenia prezentacji multimedialnych. Każda prezentacja jest złożona ze slajdów składających się z tekstów, grafiki, animacji oraz dźwięków. Podstawowe funkcjonalności programu do prezentacji: - tworzenie slajdów zawierających teksty, grafikę, filmy lub inne obiekty - animowanie elementów umieszczonych na slajdach 12

- wyświetlanie slajdów lub ich drukowanie - zapisywanie prezentacji w różnych formatach - tworzenie szablonów slajdów - tworzenie makr i skryptów pisanych w języku Visual Basic Microsoft Office to pakiet aplikacji biurowych firmy Microsoft. W wersji podstawowej pakiet zawiera: - Microsoft Word (edytor tekstu) - Microsoft Excel (arkusz kalkulacyjny) - Microsoft PowerPoint (tworzenie i wyświetlanie prezentacji) - Microsoft OneNote (robienie notatek) - Microsoft Office Picture Manager (przeglądarka obrazów, edycja zdjęć) Inne, przydatne składniki pakietu: - Microsoft Access (prosty system zarządzania bazą danych) - Microsoft Publisher (tworzenie publikacji prasowych) - Microsoft Visio (edytor schematów) - Microsoft Office SharePoint Designer (tworzenie i edycja stron WWW) - Microsoft Project (zarządzanie harmonogramem projektów) Apache OpenOffice (dawniej OpenOffice.org) to pakiet oprogramowania biurowego Open Source. Składniki pakietu i odpowiadające im formaty plików: - Writer (edytor tekstu),.odt - Calc (arkusz kalkulacyjny),.ods - Impress (edytor prezentacji),.odp - Draw (edytor grafiki),.odg - Base (program do tworzenia baz danych),.odb - Math (program do tworzenia wzorów matematycznych),.odf Standard bazuje na otwartym formacie plików OpenDocument (ODF), zgodnym z normą (ISO/IEC 26300). Komisja Europejska zaleca standard OpenDocument jako standard do stosowania w administracji i w biznesie. Na bazie OpenOffice.org w 2010 r został stworzony jego następca, wieloplatformowy pakiet oprogramowania biurowego LibreOffice. LibreOffice to wieloplatformowy pakiet oprogramowania biurowego dostępny jako Wolne Oprogramowanie. Za cel postawiono sobie stworzenie niezależnego pakietu biurowego obsługującego format plików ODF jednocześnie kompatybilnego z innymi popularnymi formatami zapisu dokumentów. LibreOffice powstał na bazie kodu OpenOffice.org. Składniki pakietu i odpowiadające im formaty plików: - Writer (edytor tekstu),.odt - Calc (arkusz kalkulacyjny),.ods - Impress (edytor prezentacji),.odp - Draw (edytor grafiki),.odg - Base (program do tworzenia baz danych),.odb - Math (program do tworzenia wzorów matematycznych),.odf 13

Programowanie: Programowanie to zapisywanie algorytmów w postaci programów w językach zrozumiałych przez komputer (czyli językach programowania), a właściwie zrozumiałych przez specjalne programy zwane translatorami, które mogą je (te programy) przekształcić (przetłumaczyć) na ciągi rozkazów zapisane w języku znanym przez komputer, zwanym językiem maszynowym, w celu zmuszenia komputera do wykonania pewnych czynności, np. rozwiązania równania kwadratowego, obliczenia podatku, narysowania koła na ekranie monitora, wysłania poczty e-mail itp. Narzędzia wspomagające programowanie: Współcześni programiści korzystają z wielu specjalistycznych narzędzi wspomagających tworzenie i zarządzanie złożonymi aplikacjami. Najczęściej stosowane narzędzia to: - podświetlanie składni - debugowanie - framework - interfejsy programowania aplikacji - CASE, UML - zintegrowane środowiska programistyczne (IDE) Podświetlanie składni: Podświetlanie (kolorowanie) składni to wyróżnianie elementów składni kodu źródłowego programu (np. słów kluczowych,) w edytorze tekstu za pomocą koloru oraz atrybutów (funkcja dostępna w większości edytorów programów). Podświetlanie składni znakomicie poprawia czytelność tekstu. Debugowanie: Debugowanie to proces systematycznego redukowania liczby błędów w oprogramowaniu, który zazwyczaj polega na kontrolowanym wykonaniu programu pod nadzorem debuggera. Debugger to program komputerowy służący do dynamicznej analizy innych programów, w celu odnalezienia i identyfikacji zawartych w nich błędów. Debugger umożliwia: - wykonywanie programu w trybie pracy krokowej lub z zastawianiem tzw. pułapek (breakpoints) - podglądanie i ewentualną zmianę zawartości rejestrów i komórek pamięci - zlokalizowanie instrukcji odpowiedzialnych za wadliwe działanie programu Debugger jest standardowym wyposażeniem większości współczesnych środowisk programistycznych. Framework: Framework to struktura wspomagająca tworzenie, rozwój i testowanie powstającej aplikacji. Na framework składają się programy wspomagające, biblioteki kodu źródłowego i inne przydatne narzędzia. Framework to szkielet działania aplikacji, który zapewnia podstawowe mechanizmy i może być wypełniany właściwą treścią programu. 14

ASP.NET (Microsoft) framework służący do budowania dynamicznych stron internetowych, aplikacji internetowych i XML-owych usług sieciowych, część platformy.net Eclipse (IBM) - framework napisany w Javie do tworzenia aplikacji typu Rich Client, zintegrowane środowisko programistyczne do tworzenia programów w Javie Interfejsy programowania aplikacji: Interfejs programowania aplikacji (Application Programming Interface, API) - interfejs programu użytkownika to specyfikacja procedur, funkcji lub interfejsów umożliwiających tworzonej aplikacji komunikację z biblioteką programów, systemem operacyjnym itp. Interfejs API ułatwia proces tworzenia oprogramowania poprzez ukrycie szczegółów implementacyjnych oraz gwarantuje podobny interfejs dla wszystkich opartych na nim aplikacji. Popularne API: - Win32 API dla Windows - DirectX - zestaw funkcji API dla generowanie grafiki i dźwięku - OpenGL (Open Graphics Library) - uniwersale API do generowania grafiki CASE, UML: CASE (Computer-Aided Software Engineering, Computer-Aided Systems Engineering) to oprogramowanie używane do komputerowego wspomagania projektowania oprogramowania. Funkcje CASE: analiza, projektowanie i programowanie. Narzędzia CASE: automatyzują metody projektowania, dokumentacji oraz tworzenia struktury kodu programu w wybranym języku programowania. UML (Unified Modeling Language) (Object Management Group) to język formalny służący do opisu świata obiektów w analizie obiektowej oraz programowaniu obiektowym. Jest używany wraz z jego reprezentacją graficzną jego elementom przypisane są symbole, które wiązane są ze sobą na diagramach UML Służy do opisywania i modelowania fragmentu istniejącej lub mającej powstać rzeczywistości tworzy się w nim głównie modele systemów informatycznych. Zintegrowane środowiska programistyczne: Zintegrowane środowisko programistyczne (Integrated Development Environment, IDE) to aplikacja lub zespół aplikacji (środowisko) służących do tworzenia, modyfikowania, testowania i konserwacji oprogramowania: - edycja i kompilacja kodu źródłowego - tworzenie zasobów programu (formatek, ekranów, okien dialogowych, menu, raportów, elementów graficznych - ikon itp.) - tworzenie baz danych, komponentów i innych. Narzędzia RAD (Rapid Application Development) są rozwinięciem pomysłu IDE. Wygląd aplikacji projektuje się ustawiając kontrolki w obszarze okna projektowanego programu (np. przy użyciu myszy - przeciągnij i upuść). Przykładowe narzędzia RAD to: Dev-C++ dla języków C i C++, Delphi i Visual Studio dla Windows lub Kylix dla Linux. 15