Pojęcie organizacji i architektury systemu komputerowego Architektura systemu komputerowego obejmuje te jego elementy, które są istotne dla programisty (wpływają bezpośrednio na logiczne wykonywanie programu i tym samym sposób jego konstrukcji), np. lista instrukcji, typy danych, sposób adresowania pamięci itp. Organizacja systemu komputerowego obejmuje powiązania jednostek funkcjonalnych, które mogą wpływać na sposób wykonania instrukcji, ale nie mają bezpośredniego wpływu na logikę działania programu lub wynik jego działania, np. technologia wykonania, częstotliwość pracy procesora itp. Wielowarstwowa struktura systemu komputerowego poziom języka zorientowanego problemowo poziom asemblera poziom systemu operacyjnego poziom maszynowy procesora poziom mikroarchitektury poziom układów logiki cyfrowej poziom półprzewodnikowych układów elektronicznych
Poziom półprzewodnikowych układów elektronicznych Podstawowy element tranzystor Informacja reprezentowana jest przez sygnał elektryczny Poziom układów logiki cyfrowej Podstawowy element bramka logiczna (AND, NAND, OR, NOR) Informacja reprezentowana jest przez stan logiczny wejść i wyjść układów cyfrowych
Poziom mikroarchitektury Podstawowe elementy rejestry wewnętrzne, jednostka arytmetyczno-logiczna (ALU), jednostka zmiennoprzecinkowa (FPU), jednostka zarządzania pamięcią (MMU) Informacja reprezentowana jest przez wektory bitów (bajty, słowa) Poziom mikroarchitektury może być zrealizowany sprzętowo lub programowo (mikroprogram) Poziom maszynowy procesora Podstawowe elementy rejestry procesora, lista rozkazów, tryby adresowania pamięci Informacja reprezentowana jest przez niskopoziomowe struktury danych (liczby całkowite ze znakiem i bez znaku, liczby zmiennopozycyjne, liczby w kodzie BCD, adresy, łańcuchy znaków) Poziom maszynowy definiuje niskopoziomową architekturę systemu komputerowego
Poziom systemu operacyjnego Poziom hybrydowy nie ukrywa poziomu maszynowego przed wyższymi warstwami, ale raczej uzupełnia go o dodatkowe mechanizmy Podstawowe elementy elementy poziomu maszynowego procesora uzupełnione o organizację pamięci, interakcję z urządzeniami wejścia-wyjścia, system plików Informacja reprezentowana jest przez pliki Poziom asemblera Udostępnia funkcjonalność poziomu maszynowego oraz poziomu systemu operacyjnego w formie symbolicznej, łatwiejszej do opanowania dla programisty (mnemoniki, etykiety)
Poziom języka zorientowanego problemowo Ukrywa szczegóły architektury procesora oraz redefiniuje interfejs dostępu do niektórych usług systemu operacyjnego w celu uniezależnienia oprogramowania od konkretnego systemu komputerowego Udostępnia funkcjonalność (instrukcje, struktury danych) dostosowaną do konkretnych zastosowań (np. dostęp do baz danych, zastosowania numeryczne itp.) Struktura systemu komputerowego Komputer = hardware + software oprogramowanie aplikacyjne oprogramowanie użytkowe oprogramowanie systemowe oprogramowanie (ang. software) sprzęt (ang. hardware)
Oprogramowanie aplikacyjne zbiór programów do przetwarzania danych użytkowe zbiór programów ułatwiających pracę i poruszanie się użytkownika w systemie komputerowym (edytory, eksploratory, kompilatory, debuggery, profilery itp.) oprogramowanie systemowe zbiór narzędzi do automatycznego lub ręcznego zarządzania zasobami systemu komputerowego (np. system operacyjny) System operacyjny Sprzęt komputerowy jest funkcjonalnie skomplikowany, dlatego zazwyczaj nie zezwala się programom na bezpośrednie korzystanie z możliwości sprzętu Wymuszenie z korzystania ze sprzętu za pośrednictwem systemu operacyjnego. Umożliwia to systemowi zachowanie kontroli nad pracą komputera i podłączonych do niego urządzeń, a jednocześnie uwalnia programistów i użytkowników systemów komputerowych od gruntownej znajomości zasad pracy komputera
System operacyjny System operacyjny System operacyjny to program kontrolujący pracę komputera. Główne zadania systemu operacyjnego: Wspomaganie tworzenia i wykonywania programów Umożliwienie dostępu do urządzeń wejścia-wyjścia Dostęp do plików i jego kontrola Kontrola dostępu do systemu operacyjnego
Definicja systemu operacyjnego (1) System operacyjny jest zbiorem ręcznych i automatycznych procedur, które pozwalają grupie osób na efektywne współdzielenie urządzeń maszyny cyfrowej Per Brinch Hansen 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 Alen Shaw Definicja systemu operacyjnego (2) 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. Abraham Silberschatz 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. Andrew Tanenbaum
System operacyjny System operacyjny jest ładowany do pamięci operacyjnej na początku pracy komputera. Program ten nie korzysta z żadnych gotowych funkcji, tylko sam je udostępnia, a więc od niego zależą rzeczywiste możliwości wykorzystania sprzętu komputerowego. System operacyjny musi rozdzielać zasoby komputera między różnymi pracami wykonywanymi na tym komputerze. System operacyjny Ważnym zadaniem jest więc zorganizowanie i optymalizacja dostępu do urządzeń zewnętrznych oraz efektywne wykorzystanie pamięci. System operacyjny musi określić kiedy i w jaki sposób urządzenie zewnętrzne może zostać wykorzystane przez dany program, w którym miejscu pamięci ma znaleźć się program użytkowy, a gdzie dane dla niego jak przydzielać adresy różnym programom.
Zarządzanie zasobami systemu komputerowego Przydział zasobów Synchronizacja dostępu do zasobów Ochrona i autoryzacja dostępu do zasobów Odzyskiwanie zasobów Rozliczanie gromadzenie danych o wykorzystaniu zasobów Zasoby zarządzane przez system operacyjny Procesor przydział czasu procesora Pamięć alokacja przestrzeni adresowej dla procesów transformacja adresów Urządzenia zewnętrzne udostępnianie i sterowanie urządzeniami pamięci masowej alokacja przestrzeni dyskowej udostępnianie i sterownie drukarkami, skanerami itp. Informacja (system plików) organizacja i udostępnianie informacji ochrona i autoryzacja dostępu do informacji
Zarządzanie zasobami systemu Zarządzanie procesami Zarządzanie pamięcią operacyjną Zarządzanie plikami Podsystem wejścia-wyjścia Zarządzanie pamięcią pomocniczą Interfejs sieciowy Podsystem ochrony Interpreter poleceń Zarządzanie procesami Tworzenie i usuwanie procesów Wstrzymywanie i wznawianie procesów (przełączanie kontekstu) Planowanie przydziału procesora (szeregowanie procesów) Dostarczanie mechanizmów synchronizacji i komunikacji procesów Dostarczanie mechanizmów obsługi zakleszczeń (ang. deadlock)
Zarządzanie pamięcią operacyjną Przydzielanie i zwalnianie obszarów pamięci głównej Utrzymywanie informacji o zajętości pamięci i stanie zajętych obszarów pamięci (prawa dostępu, właściciel itp.) Realizacja wymiany procesów Realizacja wymiany stron w przypadku wirtualizacji Zarządzanie plikami Tworzenie i usuwanie plików Tworzenie i usuwanie katalogów Dostarczanie elementarnych operacji manipulowania zawartością plików (zapis, odczyt, usuwanie zawartości) Dostarczanie elementarnych operacji do manipulowania katalogami Odwzorowanie plików na obszary pamięci pomocniczej Składowanie plików na trwałych nośnikach pamięci
Podsystem wejścia-wyjścia Synchronizacja żądań realizacji operacji wejścia-wyjścia Zarządzanie realizacją operacji wejścia-wyjścia Zarządzanie pamięcią przeznaczoną na potrzeby obsługi urządzeń zewnętrznych buforowanie zarządzanie pamięcią podręczną spooling (simultaneous peripheral operation on-line jednoczesna, bezpośrednia praca urządzeń) Podsystem wejścia-wyjścia Zapewnianie dostępności modułów sterujących urządzeń (programów obsługi, ang. device drivers) Udostępnianie ogólnego interfejsu do modułów sterujących urządzeń
Zarządzanie pamięcią pomocniczą (przestrzenią dyskową) Zarządzanie obszarami wolnymi Przydzielanie przestrzeni dyskowej Planowanie przydziału obszarów pamięci dyskowej Podsystem ochrony Utrzymywanie praw dostępu Kontrola praw przy dostępie do zasobów Udostępnianie mechanizmu zmian praw dostępu Autoryzacja (ang. authorization) i uwierzytelnianie (ang. authentication) użytkownika
Interpreter poleceń Pobieranie poleceń od użytkownika Interpretowanie poleceń Wykonywanie poleceń Przekazywanie użytkownikowi wyników wykonania poleceń, informacji o problemach lub błędach Zadania systemu operacyjnego - podsumowanie Definicja interfejsu użytkownika Udostępnianie systemu plików Udostępnianie środowiska do wykonywania programów użytkownika mechanizm ładowania i uruchamiani programów mechanizmy synchronizacji i komunikacji procesów Sterowanie urządzeniami wejścia-wyjścia Obsługa podstawowej klasy błędów Zarządzanie zasobami (sprzęt i oprogramowanie) systemu komputerowego
Ogólna struktura systemu operacyjnego interpreter poleceń programy systemowe Jądro systemu operacyjnego Sprzęt Warstwy systemu operacyjnego W każdym systemie operacyjnym występują mniej lub bardziej wyodrębnione warstwy składające się na architekturę systemu.
Warstwy systemu operacyjnego W ogólnym modelu systemu operacyjnego można wyszczególnić następujące warstwy przypisując im wyszczególnione zadania: powłokę, stanowiącą interfejs użytkownika (komunikacja z użytkownikiem), jądro systemu realizujące jego funkcje (zarządzanie plikami, uruchamianie aplikacji), warstwę odpowiedzialna za współpracę ze sprzętem (zarządzanie zasobami maszyny, komunikacja z innymi maszynami). Uruchamianie zdań podstawowe pojęcia Użytkownik (ang. user) jednostka zlecająca wykonywanie zadań Praca (ang. job) zbiór akcji niezbędnych do realizacji określonego przetwarzania, np. sekwencja: kompilacja, załadowanie (uruchomienie) programu i wykonanie programu
Koncepcja procesu Proces jest elementarną jednostką pracy (aktywności) zarządzaną przez system operacyjny, która może ubiegać się o zasoby systemu komputerowego Proces = wykonujący się program Zasoby potrzebne do wykonania procesu czas procesora pamięć operacyjna pliki urządzenia wejścia-wyjścia Proces wykonuje kod programu użytkownika (proces użytkownika) lub kod systemowy (proces systemowy) Pliki jednostki zapisu i przechowywania danych w komputerze. plik jest ciągiem bitów danych, opatrzony nazwą i atrybutami. dane są zapisane w postaci kodu binarnego, zależnie od zawartości pliku. Plik opisany jest za pomocą następujących informacji: nazwa pliku oraz rozszerzenie charakterystyczne dla typu pliku, rozmiar pliku data oraz godzina utworzenia pliku atrybuty, np. tylko do odczytu, ukryty Fragment pliku binarnego zapisanego w kodzie szesnastkowym
Klasyfikacja systemów operacyjnych ze względu na dopuszczalną liczbę wykonywanych programów Systemy jednoprogramowe niedopuszczalne jest rozpoczęcie wykonywania następnego zadania użytkownika przed zakończeniem poprzedniego Klasyfikacja systemów operacyjnych ze względu na dopuszczalną liczbę wykonywanych programów Systemy wieloprogramowe dopuszczalne jest istnienie jednocześnie wielu zadań (procesów), którym kolejno przydzielany jest procesor. Zwolnienie procesora następuje w wyniku żądania przydziału dodatkowego zasobu zainicjowaniu operacji wejścia-wyjścia przekroczenia ustalonego limitu czasu (kwantu czasu) systemy z podziałem czasu (ang. timesharing systems)
Klasyfikacja systemów operacyjnych ze względu na liczbę użytkowników Systemy dla jednego użytkownika zasoby systemu przeznaczone są dla jednego użytkownika (np. w przypadku komputerów osobistych), nie ma mechanizmów autoryzacji dostępu, a mechanizmy ochrony informacji są ograniczone Klasyfikacja systemów operacyjnych ze względu na liczbę użytkowników Systemy wielodostępne wielu użytkowników może jednocześnie korzystać ze współdzielonych zasobów systemu w taki sposób, że żaden z nich nie musi być świadomy istnienia innych użytkowników, a system synchronizuje dostęp do zasobów i gwarantuje ochronę informacji przed niepowołaną ingerencją
Inne rodzaje systemów operacyjnych Systemy czasu rzeczywistego (ang. real-time systems) umożliwiają wyspecyfikowanie czasu zakończenie przetwarzania zadania, tzw. linii krytycznej (ang. deadline) Systemy sieciowe i rozproszone (ang. network and distributed systems) umożliwiają zarządzanie zbiorem rozproszonych jednostek przetwarzających, czyli zbiorem jednostek (komputerów), które są zintegrowane siecią komputerową i nie współdzielą fizycznie zasobów Systemy operacyjne interfejs użytkownika Pod względem sposobu komunikacji z użytkownikiem rozróżniamy systemy operacyjne: tekstowe - komunikują się za pomocą wydawanych z linii poleceń komend,np. DOS, UNIX graficzne - komunikujące się za pomocą graficznych okienek i symboli (ikon),np. Windows, MacOS, OS2, Linux (KDE, Gnome)
Systemy operacyjne interfejs użytkownika Opracowanie systemu okien, ikon i wprowadzenie posługiwania się myszą doprowadziło do rozwoju graficznego interfejsu użytkownika(gui - Graphical User Interface) GUI jest dziś obowiązującym standardem - trudno sobie wyobrazić komputer bez myszy, bez systemu ikon oraz bez systemu okien, w których uruchamiane są wszystkie programy Systemy operacyjne interfejs użytkownika Zalety GUI łatwa obsługa za pomocą myszy, trackball, touchpad, proste instalowanie programów i urządzeń (plug and play), łatwy dostęp do danych (folderów, plików), obsługa szerokiej gamy sprzętu. Wady GUI mniejsza stabilność pracy, pojawianie się błędów w czasie pracy, duże wymagania sprzętowe.
MS DOS disk operating system DOS (ang. Disk Operating System), czyli Dyskowy System Operacyjny firmy Microsoft. System działa w trybie tekstowym. Wszystkie polecenia wydaje się za pomocą klawiatury. Widok ekranu z systemem DOS Budowa systemu DOS MS DOS (ang. Disk Operating System) 1 komputer 1 użytkownik 1 zadanie (system jednozadaniowy, niezapewniający ochrony danych, niezarządzający zasobami komputera a jedynie obsługą systemu plików). System mało przyjazny dla użytkownika wydawanie skomplikowanych poleceń w trybie znakowym. Nie posiada wbudowanego zarządzania pamięcią i ochrony pamięci: ze względu na te braki nie jest to system bezpieczny obecnym rozumieniu DOS trudno jest nazwać systemem operacyjnym.
WINDOWS WINDOWS okienka. Zbiór systemów operacyjnych firmy Microsoft. Pierwsze wersje bez sukcesu rynkowego. Pierwszy sukces WINDOWS 3.1 (1992), jako nakładka na system DOS. Przełom WINDOWS 95 (1995). Niezależnie od linii WINDOWS 3.x, 95, 98 rozwijała się linia WINDOWS NT, przeznaczony dla bardziej zaawansowanych i wymagających użytkowników. Na bazie WINDOWS NT powstał WINDOWS 2000. Z połączenia linii W 9.x oraz W NT/2000 powstał współczesny system WINDOWS XP. Obecnie WINDOWS Vista (2007). WINDOWS
WINDOWS Czynniki, które przyczyniły się do sukcesu systemu WINDOWS: Graficzny interfejs użytkownika. Koncepcja WYSIWYG What You See Is What You Get, Popularność arkusza kalkulacyjnego Excel. Wprowadzenie Menedżera Plików W 3.0, 1990) dla zarządzania informacją. Wprowadzenie standardu Plug and Play, automatycznego rozpoznania dołączanych urządzeń i przydzieleniu mu odpowiednich zasobów maszyny (W 95). WINDOWS Czynniki, które przyczyniły się do sukcesu systemu WINDOWS cd. : Zastosowanie techniki OLE Object Linking and Embedding, łączenia i wstawiania obiektów (schowek). Wprowadzenie w W 98 interfejsu sprzętowego USB, obsługującego szybkie urządzenia zewnętrzne, w tym pamięci pen-drive, skanery, aparaty cyfrowe itp. (do 127 urządzeń). Zerwanie z systemem DOS (W 3.x, W 9.x były nakładkami DOS).
WINDOWS Czynniki, które przyczyniły się do sukcesu systemu WINDOWS cd. : Integracja z przeglądarką internetową Windows Explorer. Integracja z aplikacją multimedialną Windows Media Player. Szybkie uaktualnianie systemu operacyjnego (Windows Update). WINDOWS Cenne zalety WINDOWS: Wielozadaniowość liczna jednocześnie wykonywanych aplikacji zależy od dostępnej pamięci RAM. Wielodostępność do całego systemu ma dostęp Administrator, który może poszczególnym użytkownikom stworzyć dostępny za pomocą haseł maszyny wirtualne (z ograniczonym dostępem, goście). Olbrzymia liczba dostępnych aplikacji, w tym aplikacji bezpłatnych. Graficzny interfejs użytkownika.
WINDOWS Technika OLE łączenie i wstawianie obiektów. Łączenie (link) do dokumentu (np. WORD) wstawiany jest łącznik do innego obiektu źródłowego (np. tabeli, wykresu w Excel), co pozwala na aktualizację danych w tabeli czy wykresie. Wstawianie (osadzanie) przeniesienie do dokumentu całego obiektu (obrazu, wykresu itp.). WINDOWS
WINDOWS Wady systemu WINDOWS: Wysoka cena. Konieczność aktywacji systemu w celu eliminacji nielegalnych kopii (po instalacji w ciągu 30 dni należy aktywować system poprze Internet lub telefon). Podatność na zagrożenia wirusami i włamaniami konieczność aktualizacji. Błędy wynikające ze stopnia komplikacji i złożoności systemu (dopuszczalna liczba błędów 15/1000 linii kodu). WINDOWS Wady systemu WINDOWS: Wysoka cena. Konieczność aktywacji systemu w celu eliminacji nielegalnych kopii (po instalacji w ciągu 30 dni należy aktywować system poprze Internet lub telefon). Podatność na zagrożenia wirusami i włamaniami konieczność aktualizacji. Błędy wynikające ze stopnia komplikacji i złożoności systemu (dopuszczalna liczba błędów 15/1000 linii kodu).
WINDOWS 3.x Microsoft Windows 3.x to rodzina pierwszych znaczących graficznych systemów operacyjnym firmy Microsoft przeznaczonym dla komputerów PC. Windows 3.11 nie był w pełni wielozadaniowym system choć umożliwiał na uruchomienie kilku aplikacji jednocześnie Okienka formalnie stanowiły nakładkę na system DOS, w rzeczywistości zawierały wiele cech systemu operacyjnego. WINDOWS 95, 98, Milenium MS Windows 95 to pierwszy 32-bitowy system operacyjny zbudowany na podstawie jego 16-bitowego poprzednika Windows 3.x MS Windows 95 oferuje pełną wielozadaniowość tylko dla aplikacji DOS. Postęp jaki jest widoczny w Windows 98 i Milenium dotyczy głównie interfejsu oraz mechanizmów integracji z siecią internet.
MS Windows NT, 2000 System MS Windows NT jest zbudowany podobnie jak systemy rodziny UNIX choć jego interfejs przypomina ten z Windows 95. Wyznaczył on nową tendencję rozwojową dla systemów operacyjnych przeznaczonych dla stacji roboczych. Windows NT to system w pełni wielozadaniowy. Każda uruchomiona aplikacja staje się oddzielnym procesem, dzięki czemu poprawność jej działania nie wpływa na inne uruchomione aplikacje MS Windows XP Microsoft Windows XP jest następcą systemu Windows 2000 w przypadku zastosowań profesjonalnych oraz następca Windows Millennium w przypadku zastosowań domowych. System Windows XP jest zbudowany na udoskonalonym mechanizmie Windows 2000 charakteryzuje się zmienionym wyglądem i rozszerza możliwości związane z zastosowaniami komputerów osobistych, głównie poprzez rozbudowę elementów obsługi nowych urządzeń. Windows XP jest systemem Microsoft którzy może pracować w trybie 64-bitowym
MS WINDOWS XP (2003, Service Pack 2) MS WINDOWS XP (2003, Service Pack 2) Stabilność systemu Konta użytkowników (bezpieczeństwo): - administrator -użytkownicy z ograniczonym dostępem -goście Windows Product Activation (Office 2000) Windows Messenger Windows Media Player Osobisty firewall
MS WINDOWS XP WINDOWS VISTA 2007
WINDOWS VISTA 2007 Cechy systemu Windows Vista 2007 Łatwość użycia (Menu Start udostępnia zintegrowaną funkcję szybkiego wyszukiwania, szybsze uruchamianie elementów) Eksploratory (zapewniają lepszą kontrolę i dostęp do większej ilości informacji, jednocześnie upraszczając pracę z plikami Windows Aero (potrafi płynnie dostosować interfejs użytkownika do możliwości sprzętowych komputera Miniatury zawartości na pasku zadań (Po umieszczeniu wskaźnika myszy nad elementem paska zadań jest wyświetlana miniatura okna wraz z jego zawartością) Przerzucanie okien i Przerzucanie okien 3W WINDOWS VISTA 2007
Media Center Edition Windows XP Media Center Edition to edycja systemu Windows XP dodająca nowe, multimedialne elementy i możliwość kierowania systemem za pomocą pilota. Integruje on telewizor z komputerem i umożliwia sterowanie multimediami z dowolnego miejsca w domu Pierwsza wersja, Windows XP Media Center Edition, pojawiła się w 2002 roku w Stanach Zjednoczonych. Po zainstalowaniu poprawki Service Pack 2 system uaktualniał się do wersji 2004. Windows XP Media Center 2005 pojawił się w 2005 roku. Najnowsza wersja programu Media Center aktualnie znajduje się w systemie Windows Vista. Media Center Edition
UNIX System operacyjny UNIX powstał w Bell Laboratory firmy AT&T we wczesnych latach siedemdziesiątych. System UNIX jest wielodostępnym i wielozadaniowym systemem operacyjnym, ponieważ może obsługiwać jednocześnie wielu użytkowników i wykonywać jednocześnie wiele zadań UNIX Charakterystyczną cechą systemu Unix jest warstwowa architektura. Istotą budowy systemu jest jądro które otaczają warstwy zewnętrzne. Jak większość elementów systemu UNIX, rodzaj i wygląd interfejsu nie jest ustalony, zależy on modułów jakie zostaną włączone w skład systemu Budowa systemu UNIX Widok pulpitu systemu klasy UNIX o nazwie Solaris 8 ze środowiskiem OpenWindows.
UNIX podstawowe cechy Hierarchiczność systemu. Niezależność od sprzętu. Ochrona dostępu do katalogów i plików (system określana praw dostępu, blokowanie dostępu). Wieloprogramowość. Wielodostępność, pozwalająca na pracę na dużej liczbie rozproszonych po świecie komputerów, zachowując nad nimi kontrolę. UNIX podstawowe cechy Wieloprocesorowość obsługa komputerów które na płytach mają CPU złożone z wielu procesorów. Łatwe przystosowanie interpretera poleceń do wymagań użytkownika. Skalowalność systemy wzrost wydajności przy wzroście liczby informacji, np. rozszerzaniu wielkości bazy danych.
UNIX Podstawowe wady systemu UNIX: Duża liczba wersji. Obszerna dokumentacja. Brak programów użytkowych. Prawda o UNIX-ie W WINDOWS użytkownik ograniczony jest możliwościami systemu, w systemie UNIX tylko swoją wiedzą, umiejętnościami i wyobraźnią. Systemy UNIX potrafią robić takie rzeczy, o których twórcy WINDOWS będą mogli sobie pomarzyć w dość odległej przyszłości
LINUX to typowy przedstawiciel systemów klasy UNIX. Linux jest systemem w pełni 32-bitowym (jeśli działa na 32-bitowych maszynach) lub 64-bitowym (jeśli działa na procesorze 64-bitowym). Budowa systemu LINUX Widok pulpitu systemu klasy LINUX Red Hat 8 z interfejsem Gnome Linux Geneza powstania: walka o wolne oprogramowanie, walka z drogimi systemami komercyjnymi. LINUX jest odmianą systemu UNIX typu open source. Linus Torvalds, twórca jądra Linuxa Linux zaczął powstawać w 1991 roku, kiedy to fiński programista, Linus Torvalds stworzył jądro nowego systemu operacyjnego przeznaczonego do pracy z procesorami rodziny 80386 firmy Intel. Wersje komercyjne LINUX-a dystrybucje.
Linux Informacje o systemie, opublikowane przez Torvaldsa na internetowej liście dyskusyjnej, spotkały się z dużym zainteresowaniem i wkrótce przy rozwoju systemu pracowała już grupa ludzi. Znacznie przyspieszyło to jego rozwój otrzymał on później nazwę "Linux". Im bardziej system ten stawał się popularny, tym więcej ludzi wspierało jego rozwój. Proces ten trwa do dziś, a liczbę użytkowników różnych dystrybucji Linuxa szacuje się obecnie na wiele milionów na całym świecie. Zalety Linuxa Zalety Linuxa Oparty o UNIX ( te same komendy ) Szybki Niezawodny Rozbudowane operacje internetowe serwery Nie wymaga dużych mocy obliczeniowych Otwarty kod Darmowy
Linux interfejs MacOS MacOS jest systemem operacyjnym z graficznym interfejsem użytkownika (GUI), działającym na komputerach Macintosh. Z tego względu przez długi czas był wzorem dla innych systemów operacyjnych. Jego architektura opiera się na tej z systemów klasy UNIX. Z uwagi na fakt że system MacOS produkowany jest przez producenta komputerów dla których jest przeznaczony jego stabilność i niezawodność jest znacznie większa niż systemów rodziny Microsoft Widok pulpitu systemu MacOS X, doskonała grafika w interfejsie Aqua.
Mac OS X Mac OS X - jest to złożony system operacyjny dla komputerów Macintosh opracowany w roku 2000 w amerykańskiej firmie Apple Computer. Mac OS X jest systemem o całkowicie odmiennej budowie niż poprzednie wersje Mac OS. Mac OS X powstał w oparciu o mikrojądro Mach oraz usługi i narzędzia zaczerpnięte z projektów NetBSD oraz FreeBSD. Jego podstawą jest opracowany w Apple Computer system operacyjny Darwin. Mac OS interfejs
Historia Windows vs UNIX http://www.levenez.com/windows/ http://www.levenez.com/unix/ Zastosowanie systemów operacyjnych Systemy do domu. To takie systemy, na których będą działać gry i najbardziej podstawowe narzędzia - przeglądarki internetowe, procesory tekstu, oprogramowanie do korespondencji lub internetowych pogawędek itp. Systemy tej klasy powinny umożliwiać wyświetlanie trójwymiarowej i szybkiej grafiki, obsługiwać dźwięk, być łatwe w użytkowaniu i instalacji.
Zastosowanie systemów operacyjnych Systemy do pracy. Wykorzystywane w biurze, zarówno w małych, jak i dużych firmach. W środowisku biurowym taki system operacyjny musi zapewnić odpowiedni poziom bezpieczeństwa i stabilności. Powinien też być łatwy w administracji i zarządzaniu (szczególnie w dużych firmach, gdzie koszty zarządzania wieloma stanowiskami komputerowymi są znaczące). Zastosowanie systemów operacyjnych Systemy serwerowe. Są to systemy dedykowane dla komputerów pełniących funkcję serwerów sieciowych. Główne cechy to wysoka stabilność ciągłej pracy oraz duża wydajność. Takie systemy posiadają rozbudowane narzędzia administracyjne oraz kontrolno-diagnostyczne i zabezpieczające.
Licencje oprogramowania Licencja na oprogramowanie - umowa na korzystanie z utworu jakim jest aplikacja komputerowa, zawierana pomiędzy podmiotem, któremu przysługują majątkowe prawa autorskie do utworu, a osobą, która zamierza z danej aplikacji korzystać. Licencje na oprogramowanie - są najczęściej bardzo restrykcyjne i większość użytkowników nie czyta ich w całości. Co zawiera licencja? ograniczenie co do liczby komputerów, na których można zainstalować oprogramowanie ograniczenie co do liczby użytkowników którzy mogą go używać klauzulę o wyłączonej odpowiedzialności producenta z tytułu używania oprogramowania przez licencjobiorcę, której znaczenie polega na braku jakiejkolwiek odpowiedzialności producentów oprogramowania za skutki błędów w programach
Freeware licencja oprogramowania umożliwiająca darmowe rozprowadzanie aplikacji bez ujawnienia kodu źródłowego czasami licencja freeware zawiera dodatkowe ograniczenia (np. część freeware jest całkowicie darmowa, a część darmowa jedynie do użytku domowego) programy na licencji freeware mogą być nieodpłatnie wykorzystywane, jednak zabrania się czerpania korzyści finansowych z ich dystrybucji przez osoby trzecie. licencja nie dotyczy dystrybucji produktów (dokumentów, grafiki, innych programów itd.) stworzonych przy użyciu programów na licencji freeware, więc nie ogranicza możliwości ani nie narzuca konieczności pobierania opłat za wytworzone produkty Shareware rodzaj płatnego programu komputerowego, który jest rozpowszechniany bez opłat, ale z pewnymi ograniczeniami, do wypróbowania przez użytkowników czasami po okresie próbnym za taki program trzeba płacić lub zrezygnować z korzystania z niego czasami producent oprogramowania wydaje jedną wersję na licencji shareware a drugą (zazwyczaj z ograniczeniami) na licencji freeware
Adware oprogramowanie rozpowszechniane za darmo, ale zawiera funkcję wyświetlającą reklamy, zwykle w postaci bannerów wydawca oprogramowania zarabia właśnie na tych reklamach, zwykle jest też możliwość nabycia wersji programu bez reklam za opłatą Powszechna Licencja Publiczna GNU Powszechna Licencja Publiczna GNU jest jedną z licencji wolnego oprogramowania, która została sformułowana w 1988 na potrzeby Projektu GNU celem licencji GNU GPL jest przekazanie użytkownikom czterech podstawowych wolności: wolność uruchamiania programu w dowolnym celu (wolność 0) wolność analizowania, jak program działa i dostosowywania go do swoich potrzeb (wolność 1)
Powszechna Licencja Publiczna GNU celem licencji GNU GPL jest przekazanie użytkownikom czterech podstawowych wolności: wolność rozpowszechniania niezmodyfikowanej kopii programu (wolność 2) wolność udoskonalania programu i publicznego rozpowszechniania własnych ulepszeń, dzięki czemu może z nich skorzystać cała społeczność (wolność 3) jeżeli program nie gwarantuje użytkownikowi chociaż jednej z powyższych wolności, wówczas, według Free Software Foundation, nie może być uznany za Wolne Oprogramowanie Powszechna Licencja Publiczna CPL jest jedną z licencji wolnego oprogramowania, która została sformułowana w 1988 przez IBM CPL jest licencją w treści bardzo podobną do GNU General Public License - główną zmianą jest dodanie klauzuli uniemożliwiającej zmiany w kodzie programu mające na celu czerpanie korzyści ze sprzedaży zmienionego programu; w takich sytuacjach treść licencji CPL pozwala jedynie na darmowe rozprowadzanie programu
Postcardware (Cardware) rodzaj licencji oprogramowania wywodzący się od Freeware i Shareware, używany przez autorów, którzy udostępniają swoje programy za darmo: w zamian za to oczekują, że użytkownik przyśle im kartkę pocztową (najczęściej z miejscowości, w której mieszka) powyższy wymóg bywa mniej lub bardziej kategoryczny w zależności od konkretnej licencji - niektóre uzależniają od tego legalność używania programu, inne pozostawiają to dobrej woli użytkownika jako sposób na wyrażenie wdzięczności autorowi Donationware oprogramowanie na tej licencji może być dowolnie modyfikowane, kopiowane i dystrybuowane pod warunkiem, że licencjobiorca zapłaci autorowi symboliczną kwotę wielkość opłaty zależy od licencjobiorcy
Public Domain po angielsku oznacza własność ogółu - są to teksty, zdjęcia, muzyka, dzieła sztuki, oprogramowanie itp., które na skutek decyzji twórcy, braku spadkobierców lub upływu odpowiedniego czasu stały się dostępne do dowolnych zastosowań bez konieczności uwzględniania praw autorskich każda rzecz nią objęta może być używana w jakikolwiek sposób Prawo autorskie Prawo autorskie - w Polsce terminem tym określa się zarówno ogół praw przysługujących autorowi dzieła, jak i szczególną ich część przepisy upoważniające autora do decydowania o użytkowaniu dzieła i czerpaniu z niego korzyści Prawo autorskie określa Ustawa z dnia 4 lutego 1994 r. o prawie autorskim i prawach pokrewnych (Dz. U. z 2006 r. Nr 90, poz. 631 z późn. zm.), znowelizowana w 1999 roku
autorskie prawa osobiste Prawo autorskie są prawami "ojcostwa utworu" i obejmują przede wszystkim prawo autora do wiązania z dziełem jego nazwiska prawo to nigdy nie wygasa, nie można się go zrzec ani przenieść na inną osobę prawnie dopuszczalne jest zobowiązanie się twórcy w umowie do niewykonywania autorskiego prawa osobistego (prawa do oznaczenia utworu swoim nazwiskiem) Prawo autorskie autorskie prawa majątkowe (ang. copyright) monopol praw majątkowych na rzecz autora utworu albo w określonych przypadkach wydawcy lub producenta zasadą w prawie autorskim jest, iż z utworu może korzystać lub nim rozporządzać tylko osoba uprawniona twórca lub osoba, która nabyła określone prawa majątkowe
Prawo autorskie Powodem wprowadzenia praw autorskich majątkowych było zabezpieczenie interesów twórców oraz wydawców Efektem naruszenia tych właśnie praw są m.in. następujące szkody: utrata przez twórców zysków z tytułu rozpowszechniania utworów straty firm zajmujących się dystrybucją i promocją utworów straty państwa związane z nie odprowadzonymi podatkami Prawo autorskie a oprogramowanie Korzystanie z programów komputerowych wymaga przestrzegania norm etycznych i prawnych Właścicielem praw do programu komputerowego utworzonego w ramach umowy o pracę jest pracodawca - czyli najczęściej firma będąca producentem oprogramowania W świetle prawa autorskiego nielegalne jest pożyczanie komuś programu, jeśli nie zezwala na to odpowiedni punkt w umowie licencyjnej
Prawo autorskie a oprogramowanie Korzystanie z programów komputerowych wymaga przestrzegania norm etycznych i prawnych Właścicielem praw do programu komputerowego utworzonego w ramach umowy o pracę jest pracodawca - czyli najczęściej firma będąca producentem oprogramowania W świetle prawa autorskiego nielegalne jest pożyczanie komuś programu, jeśli nie zezwala na to odpowiedni punkt w umowie licencyjnej