Preinstalowane oprogramowanie
Preinstalowane oprogramowanie to oprogramowanie zainstalowane na dysku twardym fabrycznie nowego komputera i zlicencjonowany na komputerze oferowanym przez Original Equipment Manufacturer.
Zaletyn to zakup komputera z preinstlowanym oprogramowaniem jest bardziej opłacalny niż oddzielny zakup sprzętu i oprogramowania, a pre-instalacja oprogramowania jest wygodnym rozwiązaniem, gdyż użytkownik nie musi samodzielnie instalować systemu operacyjnego, sterowników i programów użytkowych w nowo zakupionym komputerze.
Preinstalowane oprogramowanie posiada co najmniej jedno z wymienionych ograniczeń. Nabywcy odbierane jest prawo wyboru, jakie oprogramowanie ma on zamiar używać. Zgodnie z licencją oprogramowanie takie jest przypisane do urządzenia na którym zostało zainstalowane, i nie może zostać ono przeniesione na inne urządzenie. Do oprogramowania nie musi być dołączony nośnik umożliwiający przeinstalowanie z niego oprogramowania. Zamiast tego producenci dołączają pełną kopie systemu na ukrytej przestrzeni dyskowej bądź dołączają oprogramowanie do wykonania samodzielnie kopii bezpieczeństwa z możliwością jej nagrania na nośnik np. płytę DVD. Oprogramowanie może mieć inne domyślne ustawiania systemowe lub przeglądarki internetowej.
Model programowy procesora
Model programowy procesora czasem także nieściśle architektura procesora to ogólne określenie dotyczące organizacji, funkcjonalności i zasad działania procesora, widoczne z punktu widzenia programisty jako dostępne mechanizmy programowania. Na model programowy procesora składają się lista rozkazów procesora, typy danych, dostępne tryby adresowania, zestaw rejestrów dostępnych dla programisty, zasady obsługi wyjątków i przerwań.
Procesory posiadające ten sam model programowy są ze sobą kompatybilne, co oznacza, że mogą wykonywać te same programy w taki sam sposób (funkcjonalny). W początkowej historii procesorów model programowy procesora zależał od fizycznej implementacji procesora i niejednokrotnie całkowicie z niej wynikał. Obecnie tendencja jest odwrotna i stosuje się bardzo różne implementacje fizyczne (mikroarchitektury) pochodzące od różnych producentów, natomiast realizujące tę samą ISA. Przykładem mogą być architektura IA-32 i procesory: i386, Pentium, K6, Athlon – implementacja jako RISC, Crusoe, Itanium – implementacja jako VLIW, architektura SPARC i procesory: UltraSPARC, SPARC64, architektura Architektura AMD64: Athlon 64 i wzwyż i Pentium 4 prescot i wzwyż.
Rodzaje baz danych
Bazy danych można podzielić według struktur organizacji danych, których używają. Mamy więc bazy proste, w tym bazy kartotekowe i hierarchiczne bazy danych. Bazy złożone to bazy relacyjne, bazy obiektowe, bazy relacyjno-obiektowe, strumieniowe bazy danych i temporalne bazy danych.
W bazach kartotekowych każda tablica danych jest samodzielnym dokumentem. Z baz tego typu korzystają liczne programy typu: książka telefoniczna, książka kucharska, spisy książek, kaset i inne. Wspólną cechą tych baz jest ich zastosowanie w jednym wybranym celu. Przykład hierarchicznej bazy danych to IBM baza IMS
Relacyjne bazy danych oparte są na kilku prostych zasadach. Wszystkie wartości danych oparte są na prostych typach danych. Wszystkie dane w bazie relacyjnej przedstawiane są w formie dwuwymiarowych tabel. Po wprowadzeniu danych do bazy, możliwe jest porównywanie wartości z różnych kolumn, zazwyczaj również z różnych tabel, i scalanie wierszy, gdy pochodzące z nich wartości są zgodne. Umożliwia to wiązanie danych i wykonywanie stosunkowo złożonych operacji w granicach całej bazy danych. Wszystkie operacje wykonywane są w oparciu o algebrę relacji, bez względu na położenie wiersza tabeli. Z braku możliwości identyfikacji wiersza przez jego pozycję pojawia się potrzeba obecności jednej lub więcej kolumn niepowtarzalnych w granicach całej tabeli, pozwalających odnaleźć konkretny wiersz.
Program biurowy
Program biurowy to zbiór aplikacji tworzonych na różne platformy systemowe i sprzętowe. Są najczęściej tworzone w celu uproszczenia i uwydajnienia pracy, zarówno do użytku komercyjnego, jak i niekomercyjnego.
Obecne programy biurowe wyróżniają się szerokim wyborem i zakresem możliwości. Mają wiele przydatnych funkcji, przyjaznych dla użytkowników. Z każdym rokiem na rynku pojawiają się nowe produkty i wersje aplikacji, oferujących coraz obszerniejsze funkcje i wyższy komfort użytkowania.
Do programów biurowych zaliczamy pakiety biurowe, np.Microsoft Office, IBM Lotus Symphony, OpenOffice.org, edytory tekstu, np.Microsoft Word, Corel WordPerfect, OpenOffice.org Writer, arkusze kalkulacyjne, np. Microsoft Excel, OpenOffice.org Calc, Quattro Pro, program graficzne, np. Adobe Photoshop, CorelDRAW, GIMP, bazy danych, np. Microsoft Access, MySQL, Firebird, organizery, np. TimePanic, WinOrganizer, C-Organizer Pro, przeglądarki dokumentów PDF, np. Adobe Reader, PDFCreator, eXPert PDF Editor, programy księgowe, np. Płatnik, Fakt, RAKS SQL Księga Handlowa, Super Księga Podatkowa, przeglądarki grafik, np. IrfanView , ACDSee, Picasa oraz transmitery taksów, np. VentaFax Business, CapiFax, Snappy Fax.
Program do kompresji plików
Program do kompresji plików to program do kodowania danych w taki sposób, aby zajmowały jak najmniej danych na dysku.
Współcześnie istnieje kilkadziesiąt formatów skompresowanych archiwów, z których najpopularniejszym jest ZIP, obsługiwany przez prawie wszystkie dostępne aplikacje. Programy dostępne na rynku (freeware i shareware) obsługują różne zestawy formatów kompresji.
Programy do kompresji służą ich posiadaczom do tworzenia własnych archiwów oraz pozwalają otwierać archiwa otrzymane od innych osób lub pobrane z Internetu.
Program powinien przede wszystkim dysponować możliwością otwierania archiwów w wielu formatach. Do najczęściej obecnie używanych można zaliczyć ZIP, ARJ, CAB, ACE, RAR, 7-zip.
Skompresowane archiwa można zazwyczaj tworzyć trzema technikami. Pierwsza to otwarcie programu i zbudowanie archiwum z jego poziomu, za pomocą wewnętrznego menedżera plików, np. Eksploratora w środowisku Windows. Otwarcie programu i przeciągnięcie plików do menedżera to druga, a trzecia to wykorzystanie polecenia kompresowania w menu kontekstowym myszy.
Zaplecze sprzętowe systemów operacyjnych
W celu uzyskania systemu komputerowego o dużym stopniu niezawodności nowoczesne procesory posiadają cechy wspierające działanie systemów operacyjnych.
Cechy te to po pierwsze tryby pracy, który może być uprzywilejowany (kernel/supervisor mode), jak i chroniony (protected mode). W chronionym trybie pracy niektóre potencjalnie niebezpieczne instrukcje procesora są niedostępne, a próba wywołania ich spowoduje wystąpienie przerwania (obsługiwanego dalej przez system). Kolejne cechy to jednostki zarządzania i ochrony pamięci, pozwalające definiować obszary pamięci np. tylko do odczytu lub tylko do zapisu przez wybrany proces. Kontrolery przerwań, gdy licznik taktujący system operacyjny wyliczy żądany interwał czasowy informacja o tym zdarzeniu przekazywana jest do procesora przy pomocy przerwania. Trzeba jeszcze wspomnieć o tzw. specjalistycznych akceleratorach sprzętowych służących do przyśpieszania pewnych typowych czynności wykonywanych przez systemy operacyjne. Ta funkcjonalność jest rzadko spotykana i zazwyczaj spotyka się ją we wbudowanych systemach RTOS.
Zarządzanie zasobami
Główne zadania systemu operacyjnego podczas zarządzania zasobami systemu komputerowego to tworzenie deskryptora zasobu, usuwanie deskryptora zasobu, realizacja żądania przydziału, zwolnienie i odzyskiwanie zasobu.
Zarządzanie zasobami systemu komputerowego ma do spełnienia kilka funkcji. Są to przydział zasobów, synchronizacja dostępu do zasobów (zapobieganie interferencji), ochrona i autoryzacja dostępu do zasobów, odzyskiwanie zasobów, rozliczanie – gromadzenie danych o wykorzystaniu zasobów.
System operacyjny jest odpowiedzialny w fazie zarządzania procesami za tworzenie i usuwanie procesu, wstrzymywanie i przywracanie procesu, zapewnienie mechanizmów pozwalających na synchronizację procesów oraz komunikację między procesami.
System operacyjny jest odpowiedzialny w fazie zarządzania pamięcią za utrzymywanie informacji, która część pamięci jest aktualnie używana i przez kogo, decydowania, który proces powinien zostać wczytany do pamięci, jeżeli pamięć jest wolna, przydzielanie i zwalnianie pamięci.
System operacyjny jest odpowiedzialny w fazie zarządzania plikami za tworzenie i kasowanie plików, tworzenie i kasowanie katalogów, wsparcie dla użytkowników końcowych przy operacjach na plikach, mapowanie plików na nośniku danych, tworzenie kopii plików.
Zasoby sprzętowe
Zasoby sprzętowe zarządzane przez system operacyjny to procesor – przydział czasu procesora, pamięć, a w tym alokacja przestrzeni adresowej dla procesów oraz transformacja adresów, urządzenia zewnętrzne – udostępnianie i sterowanie urządzeniami pamięci masowej np. dysk twardy, alokacja przestrzeni dyskowej, udostępnianie i sterowanie drukarkami, skanerami, aparatami itp., informacja (system plików), czyli organizacja i udostępnianie informacji oraz ochrona i autoryzacja dostępu do informacji.
O realny porządek dostępu do rzeczywistego urządzenia, pamięci lub pliku dba system operacyjny. System operacyjny pełni funkcję strażnika zarządcy zasobów w przypadku środowiska wielozadaniowego, w którym wiele zadań wykonywanych jest w tym samym czasie, dlatego że może dość do interferencji procesów. Aby zapobiec temu niekorzystnemu zjawisku organizuje się dostęp do sprzętu, plików, pamięci itp. poprzez ustanowienie zasobów systemowych.
Podział systemów operacyjnych
Najszerszym, ale również najbardziej podstawowym kryterium podziału systemów operacyjnych jest podział na system operacyjny czasu rzeczywistego (RTOS) oraz systemy operacyjne czasowo niedeterministyczne
Podział ten odnosi się do najbardziej podstawowej funkcjonalności systemu operacyjnego jakim jest planowanie i przydział czasu procesora poszczególnym zadaniom. Ze względu na sposób realizacji przełączania zadań systemy operacyjne można podzielić na systemy z wywłaszczaniem zadań, systemy bez wywłaszczania. Inny rodzaj podziału to podział na otwarte systemy operacyjne oraz wbudowane systemy operacyjne.
Systemy otwarte można uruchomić na dowolnej maszynie wskazanego rodzaju np. PC i w określonym stopniu modyfikować. Systemy wbudowane jak sama nazwa wskazuje są wbudowane wewnątrz urządzeń użytkowych, maszyn pojazdów itp.
Biorąc za kryterium środowisko użyte do implementacji systemu można wprowadzić podział na programowe i sprzętowe.
Budowa systemu operacyjnego
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. Schematyczna budowa systemu komputerowego jest następująca. Przyjęto podział na trzy główne elementy budowy systemu operacyjnego jądro systemu wykonujące i kontrolujące ww. zadania, powłoka – specjalny program komunikujący użytkownika z systemem operacyjnym, system plików – sposób zapisu struktury danych na nośniku.
Jądro składa się z następujących elementów funkcjonalnych: planisty czasu procesora, ustalającego które zadanie i jak długo będzie wykonywane, przełącznika zadań, odpowiedzialnego za przełączanie pomiędzy uruchomionymi zadaniami, a 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 i innych zależnie od funkcji i przeznaczenia systemu.