Klasyfikacja Oprogramowanie użytkowe Programy systemowe Systemy narzędziowe. Prezentacja oprogramowania systemowego Pobierz prezentację schematu oprogramowania systemowego

Oprogramowanie (oprogramowanie, oprogramowanie) - zestaw programów wykonywanych przez system komputerowy. Oprogramowanie jest integralną częścią system komputerowy. To logiczna kontynuacja środki techniczne. Zasięg konkretnego komputera określa stworzone dla niego oprogramowanie. Sam komputer nie ma wiedzy w żadnym obszarze zastosowania. Cała ta wiedza jest skoncentrowana w programach działających na komputerach. Oprogramowanie (oprogramowanie, oprogramowanie) - zestaw programów wykonywanych przez system komputerowy. Oprogramowanie jest integralną częścią systemu komputerowego. Jest to logiczna kontynuacja środków technicznych. Zasięg konkretnego komputera określa stworzone dla niego oprogramowanie. Sam komputer nie ma wiedzy w żadnym obszarze zastosowania. Cała ta wiedza jest skoncentrowana w programach działających na komputerach.


Wszystkie programy działające na komputerze można podzielić na trzy typy: aplikacje, które bezpośrednio zapewniają wykonanie pracy niezbędnej dla użytkowników; programy użytkowe programy systemowe przeznaczone do sterowania pracą systemu komputerowego, realizujące różne funkcje pomocnicze, np.: programy systemowe zarządzanie zasobami komputera; tworzenie kopii wykorzystywanych informacji; sprawdzanie stanu urządzeń komputerowych; wydawanie informacji referencyjnych o komputerze itp.; instrumentalne systemy oprogramowania, które ułatwiają proces tworzenia nowych programów dla komputera. instrumentalne systemy oprogramowania




Program aplikacyjny to każdy konkretny program, który przyczynia się do rozwiązania problemu w ramach danego obszaru problemowego. Natomiast system operacyjny lub oprogramowanie narzędziowe nie przyczyniają się bezpośrednio do zaspokojenia potrzeb końcowych użytkownika. Programy aplikacyjne mogą być używane autonomicznie, to znaczy do rozwiązania zadania bez pomocy innych programów, lub jako część systemów oprogramowania lub pakietów.




Edytory dokumentów są najczęściej używanym rodzajem oprogramowania aplikacyjnego. Pozwalają przygotować dokumenty znacznie szybciej i wygodniej niż przy pomocy maszyny do pisania. Edytory tekstu mogą udostępniać różne funkcje, a mianowicie: Procesory arkuszy kalkulacyjnych Procesory arkuszy kalkulacyjnych są wygodnym narzędziem do obliczeń księgowych i statystycznych. Każdy pakiet ma setki wbudowanych funkcje matematyczne i algorytmy przetwarzania danych statystycznych. Ponadto istnieją potężne narzędzia do łączenia ze sobą tabel, tworzenia i edytowania elektronicznych baz danych. Systemy projektowanie wspomagane komputerowo(CAD) lub CAD (Computer-Aided Design) to pakiet oprogramowania przeznaczony do tworzenia rysunków, dokumentacji projektowej i/lub technologicznej i/lub modeli 3D. Wśród systemów małej i średniej klasy na świecie najpopularniejszym systemem jest AutoCad firmy AutoDesk. Pakiet krajowy o podobnych funkcjach - Kompas


Edytory graficzne umożliwiają tworzenie i edytowanie rysunków. Najprostsze edytory zapewniają możliwość rysowania linii, krzywych, kolorowania obszarów ekranu, tworzenia etykiet w różnych czcionkach itp. Większość edytorów umożliwia przetwarzanie obrazów uzyskanych za pomocą skanerów. Przedstawiciele edytorów graficznych - programy Adobe Photoshop, Corel Draw. Systemy zarządzania bazami danych (DBMS) pozwalają zarządzać dużymi tablicami informacyjnymi - bazami danych. Systemy oprogramowania tego typu umożliwiają przetwarzanie tablic informacji na komputerze, wprowadzanie, wyszukiwanie, sortowanie, selekcję rekordów, raportowanie itp. Przedstawicielami tej klasy programów są Microsoft Access, Clipper, Paradox, FoxPro. Zintegrowane systemy łączą w sobie możliwości systemu zarządzania bazą danych, arkusza kalkulacyjnego, edytora tekstu, systemu grafiki biznesowej, a czasami także inne możliwości. Z reguły wszystkie komponenty zintegrowanego systemu mają podobny interfejs, co ułatwia naukę pracy z nimi. Przedstawiciele systemów zintegrowanych - Pakiet Microsoftu Office i jego darmowy odpowiednik Open Office.


Programy systemowe są wykonywane razem z aplikacyjnymi i służą do zarządzania zasobami komputera takimi jak centralny procesor, pamięć, wejścia-wyjścia. Są to programy ogólnego użytku przeznaczone dla wszystkich użytkowników komputerów. Systemowe oprogramowanie został zaprojektowany, aby umożliwić komputerowi wydajne uruchamianie aplikacji.


Oprogramowanie systemowe można podzielić na: Oprogramowanie podstawowe (oprogramowanie bazowe) – minimalny zestaw narzędzi programowych zapewniających działanie komputera. W skład oprogramowania podstawowego wchodzą: system operacyjny; powłoki operacyjne (tekstowe i graficzne), sieciowy system operacyjny. Oprogramowanie serwisowe programu i kompleksy oprogramowania, które rozszerzają możliwości podstawowego oprogramowania i organizują wygodniejsze środowisko użytkownika - narzędzia.


System operacyjny to zespół powiązanych ze sobą programów systemowych, których celem jest organizacja interakcji użytkownika z komputerem i wykonywanie wszystkich innych programów. System operacyjny można nazwać rozszerzeniem programowym urządzenia sterującego komputera. System operacyjny ukrywa przed użytkownikiem skomplikowane, niepotrzebne szczegóły interakcji ze sprzętem, tworząc między nimi warstwę. W rezultacie ludzie są uwolnieni od bardzo pracochłonnej pracy polegającej na organizowaniu interakcji ze sprzętem komputerowym. Ponadto to system operacyjny zapewnia możliwość dostosowania komputera: system operacyjny określa, z jakich komponentów składa się komputer, na którym jest zainstalowany, i konfiguruje się do pracy z tymi komponentami. Powłoki to programy zaprojektowane w celu ułatwienia pracy ze złożonymi systemy oprogramowania takich jak DOS. Przekształcają niewygodny interfejs użytkownika wiersza poleceń w przyjazny dla użytkownika interfejs graficzny lub menu. Powłoki zapewniają użytkownikowi wygodny i rozbudowany dostęp do plików usługi konserwacyjne. Sieciowe systemy operacyjne to zestaw programów, które zapewniają przetwarzanie, transmisję i przechowywanie danych w sieci. Sieciowy system operacyjny zapewnia użytkownikom różnego rodzaju usługi sieciowe (zarządzanie plikami, E-mail, procesy zarządzania siecią itp.), wspiera pracę w systemach abonenckich.


Narzędzia (łac. korzyści utilitas) - albo rozszerzają i uzupełniają odpowiednie możliwości system operacyjny lub rozwiązywać niezależne ważne zadania. Opiszmy pokrótce niektóre rodzaje narzędzi: programy kontrolne, testujące i diagnostyczne programy pakujące (archiwizatory) programy sterujące programy antywirusowe programy do tworzenia kopie zapasowe programy informacyjne do zarządzania pamięcią;programy do optymalizacji i kontrolowania jakości miejsca na dysku;programy do optymalizacji i kontrolowania jakości miejsca na dysku; programy komunikacyjne itp.


Programy monitorujące, testujące i diagnostyczne służące do sprawdzania poprawności działania urządzeń komputerowych oraz wykrywania usterek podczas pracy; wskazać przyczynę i lokalizację usterki; programy sterowników rozszerzające możliwości systemu operacyjnego w zakresie zarządzania urządzeniami we/wy, pamięcią RAM itp.; za pomocą sterowników możliwe jest podłączenie do komputera nowych urządzeń lub niestandardowe wykorzystanie istniejących; pakery (archiwizatory), które pozwalają, poprzez zastosowanie specjalnych algorytmów pakowania informacji, kompresować informacje na dyskach, tj. tworzyć mniejsze kopie plików, a także łączyć kopie kilku plików w jeden plik archiwum. Korzystanie z programów archiwizujących jest bardzo przydatne podczas tworzenia archiwum plików, ponieważ w większości przypadków znacznie wygodniej jest je przechowywać po skompresowaniu ich za pomocą programów archiwizujących. Przedstawicielami tych programów są WinRar i WinZip.


Programy antywirusowe zaprojektowany, aby zapobiegać zakażeniom wirusy komputerowe i eliminację skutków infekcji wirusami; Przedstawiciele rodziny programów antywirusowych - Kaspersky Antivirus, DrWeb, Norton Antivirus. programy do tworzenia kopii zapasowych informacji umożliwiają okresowe kopiowanie ważna informacja znajdujące się na dysku twardym komputera na dodatkowe nośniki. Przedstawiciele programu Kopia rezerwowa– APBackUp, oprogramowanie do optymalizacji przestrzeni dyskowej i kontroli jakości Acronis True Image; programy komunikacyjne przeznaczone do organizowania wymiany informacji między komputerami. Programy te umożliwiają wygodne przesyłanie plików z jednego komputera na drugi poprzez połączenie ich portów szeregowych kablem. Inny rodzaj takich programów zapewnia możliwość łączenia komputerów za pośrednictwem sieć telefoniczna(jeśli masz modem). Umożliwiają wysyłanie i odbieranie wiadomości telefaksowych. Przedstawiciele programów komunikacyjnych - Venta Fax, Cute FTP. programy do zarządzania pamięcią dla bardziej elastycznego użytkowania pamięć o swobodnym dostępie;


Narzędzia programowe to programy używane do opracowywania, modyfikowania lub rozwijania innych aplikacji lub programów systemowych. Narzędzia programistyczne mogą pomóc na wszystkich etapach tworzenia oprogramowania. Ze względu na swoje przeznaczenie są bliskie systemom programowania.Systemy programowania.


System programowania to system do tworzenia nowych programów w określonym języku programowania. Nowoczesne systemy programowania zwykle zapewniają użytkownikom wydajne i wygodne narzędzia programistyczne. Obejmują one: kompilator lub interpreter, kompilator lub interpreter, zintegrowane środowisko programistyczne; narzędzia do tworzenia i edycji tekstów programów; rozbudowane biblioteki standardowych programów i funkcji; programy do debugowania, tj. programy pomagające znaleźć i naprawić błędy w programie; potężne biblioteki graficzne; narzędzia do pracy z wbudowanymi bibliotekami biuro pomocy; inne specyficzne cechy.


Translator (angielski tłumacz tłumacz) to program tłumacza. Konwertuje program napisany w jednym z języków wysokiego poziomu na program składający się z instrukcji maszynowych. Translatory są implementowane jako kompilatory lub interpretery. Pod względem wykonywania pracy kompilator i interpreter bardzo się różnią. Kompilator czyta cały program, tłumaczy go i tworzy pełną wersję programu w języku maszynowym, która jest następnie wykonywana. Tłumacz tłumaczy i wykonuje program linia po linii. Po skompilowaniu programu ani program źródłowy, ani kompilator nie są już potrzebne. Jednocześnie program przetwarzany przez tłumacza musi być ponownie tłumaczony na język maszynowy przy każdym uruchomieniu programu. Programy skompilowane działają szybciej, ale programy interpretowane są łatwiejsze do naprawienia i zmiany. Popularne systemy programowania - Turbo Basic, Quick Basic, Turbo Pascal, Turbo C. Borland C++, Borland Delphi itp.


Obecnie większość systemów płynnie przenosi się do sieci. Sieć ogólnoświatowa dokręca coraz więcej aplikacji. Bazy danych przejmują interfejsy użytkownika oparte na sieci Web, zastępując aplikacje komputerowe, które były wcześniej dostępne. Docelowo należy się spodziewać, że użytkownik końcowy będzie potrzebował jedynie przeglądarki internetowej, aby móc zaspokoić wszystkie możliwe potrzeby programowe. W takim przypadku użytkownika nie obchodzi, który system operacyjny kontroluje komputer lokalny, najważniejsza jest niezawodność i wydajność serwera. (Na przykład pakiet Microsoft Office można zainstalować na zdalnych serwerach, a nie na systemach użytkowników końcowych, ale uruchamianie aplikacji będzie równie szybkie, jak na lokalnych komputerach). Dzięki temu wszystkie programy będą mogły działać zarówno lokalnie, jak i zdalnie przez Internet.

„Oprogramowanie w komputerze” - Systemy projektowania wspomaganego komputerowo (CAD) lub CAD (ang. Przedstawiciele edytorów graficznych - programy Adobe Photoshop, Corel Draw. Najpopularniejsze oprogramowanie użytkowe. Grupa Fic. Oprogramowanie. Systemy narzędziowe. Obecnie większość systemów płynnie przenosi się do sieci.

„Lekcja oprogramowania” - Autor: Nauczyciel MOU szkoła średnia nr 23 Grodinskaya Valentina Alekseevna e-mail: [e-mail chroniony] Symulatory (babytype) Testy Podręczniki elektroniczne. Służy do pakowania plików w celu zmniejszenia miejsca na dysku. Oprogramowanie narzędziowe. Tłumacze. Kształtowanie kompetencji informacyjnych uczniów.

„Oprogramowanie komputerowe” — oprogramowanie komputerowe. Urządzenia komputerowe. Historia rozwoju oprogramowania. Systemy programistyczne to narzędzia do tworzenia programów aplikacyjnych. Oprogramowanie. Programy edukacyjne do samokształcenia lub w procesie edukacyjnym. Człowiek. Pakiety matematyczne do złożonych obliczeń inżynierskich.

„Maszynowe tłumaczenie tekstu” - Słowniki komputerowe i systemy do maszynowego tłumaczenia tekstów. Systemy optycznego rozpoznawania kształtów. Najpierw za pomocą skanera musisz uzyskać obraz strony tekstu w formacie graficznym. Systemy optycznego rozpoznawania dokumentów. Efektem rozpoznania jest symbol, którego szablon w największym stopniu pasuje do obrazu.

„Rodzaje oprogramowania” - Programy edukacyjne obejmują podręczniki elektroniczne, symulatory szkoleniowe. MS Dostęp. Photoshop. MSExcel. Systemy programowania. Profesjonalne programy. MS PowerPoint. Rodzaje oprogramowania. Dostęp do AutoCAD MS. Oprogramowanie systemowe. Wielu użytkowników swoją komunikację z komputerem rozpoczyna od gier komputerowych.

„Oprogramowanie na komputer” - Programy aplikacji, które bezpośrednio zapewniają wykonanie pracy niezbędnej dla użytkowników; Komputer, który został złożony w fabryce z chipów, przewodów, płytek i innych rzeczy, jest jak nowo narodzony człowiek. Wszystkie programy działające na komputerze można podzielić na trzy kategorie: Programy systemowe - służą do zarządzania zasobami komputera.

Wiążący

Tłumaczenie i następujące po nim czynności przygotowujące program do wykonania to proces konwersji programu napisanego w jakimś języku formalnym na inny system formalny – architekturę komputera, w której może być wykonywany (interpretowany). Aby zrozumieć ten proces, a także różnice istniejące w różnych językach programowania, wprowadzono koncepcję wiązania, a także wiążący czas.

Wiązanie to proces ustalania zgodności między obiektami i ich właściwościami w programie w języku formalnym (operacje, operatory, dane) oraz elementach architektury komputera (komendy, adresy).

Wiążący czas faza przygotowania programu do wykonania (tłumaczenie, linkowanie, ładowanie) nazywana jest odpowiednio, na której wykonywana jest ta czynność. Różne cechy tego samego obiektu (na przykład zmiennej) można skojarzyć z różnymi elementami architektury w różnym czasie, czyli proces wiązania nie jest procesem jednorazowym.

Oprogramowanie systemowe

Możliwe czasy wiązania

Podczas określania języka; podczas wdrażania kompilatora;

podczas transmisji, w tym:

gdy działa preprocesor (makroprocesor).

podczas analizy leksykalnej, składniowej i semantycznej, generowania i optymalizacji kodu;

podczas komponowania; podczas pobierania programu;

podczas wykonywania programu, w tym: przy wejściu do modułu (procedury, funkcji); w dowolnym momencie wykonywania programu.

Oprogramowanie systemowe

Wiązanie w int a, b; …a+b

Zmienna typu int jest zmienną całkowitą w słowie maszynowym o standardowej długości (reprezentacja liczb całkowitych ze znakiem, uzupełnienie do dwóch), powiązana z podobną formą reprezentacji danych w komputerze podczas definiowania języka.

Konkretny wymiar zmiennej int jest określany przez implementację odpowiedniego kompilatora.

Nazwę a można zdefiniować w konstrukcji takiej jak

# zdefiniuj 0x11FF . W tym przypadku nazwa (pseudo-zmienna) jest kojarzona z jej wartością w pierwszej fazie translacji – w preprocesorze.

Oprogramowanie systemowe

Wiązanie w int a, b; …a+b

Jeśli zmienna jest zdefiniowana w zwykły sposób jako int a; wtedy powiązanie zmiennej z odpowiadającym jej typem następuje podczas translacji (na etapie analizy semantycznej).

Jeżeli zmienna jest zdefiniowana jako zewnętrzna (globalna, poza ciałem funkcji), to znaczenie jej translacji polega na przydzieleniu jej pamięci w segmencie danych programu, który jest tworzony dla bieżącego modułu (pliku). Jednocześnie wiązanie pamięci rozproszonej z określoną pamięcią RAM odbywa się w kilku etapach:

Oprogramowanie systemowe

Wiązanie w int a, b; …a+b

po translacji zmienna jest powiązana z pewnym adresem względnym w segmencie danych modułu obiektowego (to znaczy, jej lokalizacja jest ustalona tylko względem początku modułu).

podczas łączenia segmenty danych i poleceń różnych modułów obiektowych są łączone we wspólny plik programu, który jest obrazem pamięci programu. W nim zmienna otrzymuje już adres względny od początku całego programu.

podczas ładowania programu do określonego obszaru pamięci może on nie znajdować się od samego początku tego obszaru. W tym przypadku adresy zmiennych podane w adresach względnych od początku modułu programu są powiązane z adresami pamięci z uwzględnieniem ruchu modułu programu.

Oprogramowanie systemowe

Wiązanie w int a, b; …a+b

jeśli program działa nie w pamięci fizycznej, ale w pamięci wirtualnej, proces ładowania może być nieco inny. Moduł oprogramowania warunkowo uważany za załadowany do jakiejś wirtualnej przestrzeni adresowej (z relokacją lub bez relokacji zarówno całego programu, jak i jego poszczególnych segmentów). Właściwe ładowanie programu do pamięci odbywa się już podczas działania programu w częściach (segmentach, stronach), a ustalanie korespondencji (lub linkowania) adresów wirtualnych i fizycznych odbywa się dynamicznie przez system operacyjny za pomocą odpowiedni sprzęt.

Oprogramowanie systemowe

Wiązanie w int a, b; …a+b

Jeśli zmienna jest zdefiniowana jako automatyczna (lokalna w ciele funkcji lub bloku), to jest umieszczana na stosie programu:

podczas translacji określany jest jego wymiar i generowane są polecenia, które rezerwują dla niego pamięć na stosie w momencie wejścia do ciała (bloku) funkcji. Oznacza to, że podczas translacji zmienna jest powiązana tylko z względnym adresem na stosie programu;

powiązanie zmiennej lokalnej z jej adresem w segmencie stosu odbywa się podczas wykonywania w momencie wejścia do ciała (bloku) funkcji. Dzięki tej metodzie wiązania istnieje tyle „instancji” zmiennych lokalnych w funkcji rekurencyjnej, ile razy funkcja wywołuje samą siebie.

1 slajd

Prezentację do lekcji stworzyła: nauczycielka informatyki MKOU „Basinskaya OOSh” Gaidukova Anna Andreevna * *

2 slajdy

Drukarka; PROCESOR; Klawiatura; Pamięć flash; Monitor; BARAN; Urządzenie CD-ROM. Bez którego z poniższych urządzeń komputer nie może działać: * *

3 slajdy

Określ możliwą pojemność następujących nośników korzystając ze wskazanych wariantów odpowiedzi (1,44 MB, 700 MB, 120 GB, 512 MB, 4,7 GB): CD-R; DVD-R; Pamięć flash; Dyskietka; Twardy dysk magnetyczny. * *

4 slajdy

Wypełnij tabelę * * Urządzenie Akcja z informacjami (przechowywanie, wejście, wyjście, przetwarzanie) Procesor RAM Dysk twardy CD-RW Klawiatura Monitor Drukarka

5 slajdów

Andrey ma grę TETRIS na dysku twardym swojego komputera. Jego przyjaciel Kolya nie ma takiej gry. Co musi zrobić Andrey, aby Kola mógł to zrobić sam komputer domowy grać w tę grę (zwróć uwagę, że komputer Kolii nie jest podłączony do Internetu)? * *

6 slajdów

* Oprogramowanie komputerowe System operacyjny – zapewnia wspólne funkcjonowanie wszystkich urządzeń komputerowych oraz zapewnia użytkownikowi dostęp do jego zasobów za pomocą interfejsu graficznego OS. Sterowniki urządzeń to specjalne programy, które kontrolują działanie urządzeń komputerowych i koordynują wymianę informacji z innymi urządzeniami (każde urządzenie ma swój własny sterownik). *

7 slajdów

* Funkcje systemu operacyjnego Testowanie poszczególnych elementów sprzętowych, pamięci i innych elementów sprzętowych Parowanie aplikacji ze sprzętem (służą do tego specjalne programy - sterowniki) Używanie komputera w trybie wieloprogramowym (czyli jednoczesne uruchamianie kilku programów), podczas gdy system operacyjny monitoruje dystrybucję zasobów wewnętrznych i kolejność wykonywania poleceń Dla wygody użytkownika z komputerem używany jest interfejs - zestaw narzędzi i reguł interakcji komputera i osoby *

8 slajdów

9 slajdów

* Instalacja systemu operacyjnego Instalacja systemu operacyjnego - pliki systemu operacyjnego są kopiowane z dysku dystrybucyjnego na Dysk twardy komputer. Pliki systemu operacyjnego są przechowywane w pamięci długoterminowej na dysku twardym zwanym dyskiem systemowym. System operacyjny, podobnie jak inne programy, może być uruchamiany, jeśli znajduje się w pamięci RAM komputera. Dlatego konieczne jest pobranie plików systemu operacyjnego z dysk systemowy do pamięci roboczej. *

10 slajdów

* Ładowanie systemu operacyjnego Ładowanie systemu operacyjnego rozpoczyna się w jednym z trzech przypadków - po: włączeniu zasilania komputera; naciśnięcie przycisku resetowania blok systemowy komputer; jednoczesne naciśnięcie kombinacji klawiszy na klawiaturze: (Ctrl) + (Alt) + (Del) W trakcie ładowania systemu operacyjnego: testowana jest wydajność procesora, pamięci i innych urządzeń; krótkie komunikaty diagnostyczne dotyczące procesu testowania są wyświetlane na ekranie monitora po zakończeniu ładowania systemu operacyjnego, użytkownik ma możliwość sterowania komputerem za pomocą interfejsu graficznego systemu operacyjnego. *

11 slajdów

12 slajdów

* Programy standardowe Windows Paint OS to edytor graficzny, który umożliwia tworzenie, przeglądanie i edytowanie rysunków lub zeskanowanych fotografii Imaging służy do przeglądania i edycji plików graficznych, takich jak rysunki cyfrowe lub zeskanowane fotografie Kalkulator - elektroniczny kalkulator jest analogiem konwencjonalnego kalkulatora ręcznego kalkulator Notatnik - Edytor tekstu, używany do tworzenia i edytowania pliki tekstowe prosty format WordPad to edytor tekstu służący do tworzenia i formatowania plików tekstowych o złożonym formatowaniu *

13 slajdów

* Oprogramowanie aplikacji Aplikacja to program, który umożliwia przetwarzanie informacji tekstowych, graficznych, numerycznych, audio i wideo, pracę w sieć komputerowa bez znajomości programowania. Aplikacja działa na określonym systemie operacyjnym. Typy aplikacji: 1. Aplikacje ogólny cel(kalkulatory, arkusze kalkulacyjne, edytory tekstu, dźwięku i grafiki, odtwarzacze multimedialne, bazy danych, programy do tworzenia prezentacji, programy komunikacyjne itp.). 2. Aplikacje do celów specjalnych (programy księgowe, encyklopedie, programy szkoleniowe, systemy automatycznego tłumaczenia, systemy programistyczne, gry komputerowe itp.) *

slajd 2

Organizacja pamięci

Pamięć fizyczna, do której procesor ma dostęp poprzez szynę adresową, nazywana jest pamięcią o dostępie swobodnym (lub pamięcią o dostępie swobodnym – RAM). Pamięć RAM jest zorganizowana jako sekwencja komórek - bajtów. Każdy bajt ma swój unikalny adres (swój numer), zwany fizycznym. Zakres wartości dla adresów fizycznych zależy od szerokości szyny adresowej procesora. Dla 80486 i Pentium mieści się w zakresie od 0 do 232 - 1 (4 GB). Dla procesorów PentiumPro/II/III/IV zakres ten jest szerszy - od 0 do 236 - 1 (64 GB). Procesor 8086 miał 1 MB pamięci z dwudziestobitową szyną adresową, od 0 do 220-1.

slajd 3

Sprzęt procesora obsługuje dwa modele wykorzystania pamięci RAM: W modelu segmentowym do programu przydzielane są ciągłe obszary pamięci (segmenty), a sam program może uzyskać dostęp tylko do danych znajdujących się w tych segmentach. Model stronicowy można uznać za dodatek -do modelu segmentowego. Główne zastosowanie tego modelu jest związane z organizacją pamięci wirtualnej, która umożliwia systemowi operacyjnemu wykorzystanie przestrzeni pamięci większej niż ilość pamięci fizycznej do działania programów poprzez połączenie pamięci operacyjnej i operacyjnej w jedną przestrzeń adresową. pamięć zewnętrzna

slajd 4

Nawiasem mówiąc, inną nazwą adresu fizycznego jest adres liniowy. Taka dwoistość w nazwie wynika właśnie z obecności modelu stronicowania organizacji pamięci RAM. Nazwy te są synonimami tylko wtedy, gdy stronicowanie adresów jest wyłączone (w trybie rzeczywistym stronicowanie jest zawsze wyłączone). W modelu strony adresy liniowe i fizyczne mają różne znaczenia. Mechanizm zarządzania pamięcią jest w pełni sprzętowy i pozwala na: kompaktowe przechowywanie adresu w instrukcji maszynowej elastyczność mechanizmu adresowania ochronę przestrzeni adresowych zadań w systemie wielozadaniowym obsługę pamięci wirtualnej

slajd 5

W rodzinie procesorów 80x86 o wyborze sposobu dostępu do pamięci decyduje tryb pracy procesora. W trybie rzeczywistym procesor może uzyskać dostęp tylko do pierwszego megabajta pamięci, którego adresy mieszczą się w zakresie od 00000 do FFFFF w systemie szesnastkowym. W tym przypadku procesor pracuje w trybie jednoprogramowym (tzn. może wykonywać tylko jeden program w danym czasie). Jednocześnie jednak może w każdej chwili przerwać jego wykonanie i przejść do procedury obsługi przerwania otrzymanego z jednego z urządzeń peryferyjnych. Każdy program wykonywany w tym momencie przez procesor ma dostęp bez ograniczeń do dowolnych obszarów pamięci w obrębie pierwszego megabajta: do RAM - poprzez odczyt i zapis, a do ROM oczywiście tylko poprzez odczyt. Tryb rzeczywisty procesora jest używany w systemie operacyjnym MS DOS, a także w systemy Windows 95 i 98 podczas uruchamiania w trybie emulacji MS DOS.

slajd 6

W trybie chronionym procesor może jednocześnie uruchamiać wiele programów. W takim przypadku każdemu procesowi (czyli uruchomionemu programowi) można przypisać do 4 GB pamięci RAM. Aby zapobiec wzajemnemu wpływowi uruchomionych programów na siebie, przydzielane są im wydzielone obszary pamięci. Systemy operacyjne takie jak MS Windows i Linux działają w trybie chronionym. W wirtualnym trybie adresowania procesora 8086 ten ostatni faktycznie działa w trybie chronionym. Każde zadanie ma swoje własne maszyna wirtualna, któremu przydzielono izolowany obszar pamięci o wielkości 1 MB iw pełni emuluje działanie procesora 80x86 w trybie adresowania rzeczywistego. Na przykład w systemach operacyjnych Windows 2000 i XP maszyna wirtualna procesora 8086 jest tworzona za każdym razem, gdy użytkownik uruchamia okno interpretera poleceń (sesja MS DOS).

Slajd 7

Tryb adresowania rzeczywistego Charakterystycznymi cechami mechanizmu adresowania pamięci fizycznej w trybie rzeczywistym są: Zakres zmiany adresu fizycznego wynosi od 0 do 1 MB, ponieważ do adresowania wykorzystywanych jest tylko 20 najmniej znaczących bitów szyny adresowej. pamięci adresowanej za pomocą rejestrów 16-bitowych wynosi 64 KB.adresowanie określonego adresu fizycznego w całej dostępnej pamięci RAM, stosowana jest segmentacja pamięci, tj. podział dostępnej przestrzeni adresowej na segmenty o wielkości 64 KB i użycie zamiast fizycznego adresu logicznego w postaci: tj. kombinacje adresu początkowego segmentu i przesunięcia wewnątrzsegmentowego 16-bitowy adres początkowy segmentu jest umieszczony w jednym z sześciu rejestrów segmentowych (CS, DS, ES, SS, FS lub GS) Programy działają bezpośrednio tylko na przesunięciu 16-bitowym określony względem początku segmentu

Slajd 8

Najmniej znaczącą cyfrą szesnastkową w każdym adresie segmentu jest zero, tj. adres dowolnego segmentu będzie zawsze wielokrotnością 16 bajtów; granice segmentów znajdują się co 16 bajtów adresu fizycznego. Każdy z tych 16-bajtowych fragmentów nazywany jest akapitem.

Slajd 9

Adresy podane w programach w postaci „segment-offset” są automatycznie konwertowane przez procesor na 20-bitowe adresy liniowe podczas wykonywania instrukcji według następującego schematu:

Slajd 10

Przykład: bajt podany w postaci „segment-offset”: 8000:0250 w transkrypcji szesnastkowej. Adres logiczny: 8000:0250 –––––––––––––––––––– Segment: 80000 + Offset: 0250 ––––––– ––– ––––––––––––––––– Adres fizyczny: 80250 W typowym programie napisanym dla procesorów 80x86 zazwyczaj występują trzy segmenty: kod, dane i stos. Po uruchomieniu programu ich adresy segmentów bazowych są ładowane odpowiednio do rejestrów CS, DS i SS. W pozostałych trzech rejestrach ES, FS i GS program może przechowywać wskaźniki do dodatkowych segmentów.

slajd 11

Wady tej organizacji pamięci: segmenty są umieszczane w sposób niekontrolowany z dowolnego adresu podzielnego przez 16 (ponieważ zawartość rejestru segmentowego jest sprzętowo przesuwana o 4 bity), w wyniku czego program może uzyskać dostęp do dowolnych adresów, w tym adresów, które nie tak naprawdę nie istnieją; segmenty mają maksymalny rozmiar 64 KB. Segmenty mogą nakładać się na inne segmenty

slajd 12

Tryb adresowania chronionego Podczas pracy w trybie chronionym każdemu programowi można przydzielić blok pamięci o rozmiarze do 4 GB, którego adresy w postaci szesnastkowej mogą zmieniać się od 00000000 do FFFFFFFF. Mówi się, że program ma przydzieloną liniową przestrzeń adresową. W trybie chronionym rejestry segmentowe (CS, DS, SS, ES, FS, GS) przechowują nie 16-bitowe adresy bazowe segmentów, ale selektory-wskaźniki do deskryptorów segmentów znajdujących się w jednej z systemowych tablic deskryptorów. Na podstawie informacji zawartych w deskryptorze system operacyjny wyznacza adresy liniowe segmentów programu. Istnieją dwa typy tabel: GlobalDescriptorTable (globalna tablica deskryptorów) i LocalDescriptorTables (lokalne tabele deskryptorów).

slajd 13

Struktura selektora deskryptora segmentu: deskryptor składa się z 8 bajtów, które zawierają adres bazowy segmentu, rozmiar i inne informacje:

Slajd 14

Deskryptor 0 jest niedozwolony — można go bezpiecznie załadować do rejestru segmentowego, aby wskazać, że rejestr segmentowy nie jest aktualnie dostępny, ale przy próbie jego użycia generowane jest przerwanie. W typowym programie napisanym w trybie chronionym są zwykle trzy segmenty: kod, dane i stos, o których informacje są przechowywane w trzech rejestrach segmentowych wymienionych poniżej. Rejestr CS przechowuje wskaźnik do deskryptora segmentu kodu programu Rejestr DS przechowuje wskaźnik do deskryptora segmentu danych programu Rejestr SS przechowuje wskaźnik do deskryptora segmentu stosu programu

slajd 15

Konwersja pary selektor-przesunięcie na adres fizyczny przebiega w następujący sposób: Jeżeli stronicowanie jest wyłączone (przez bit w globalnym rejestrze kontrolnym), adres liniowy jest interpretowany jako adres fizyczny i wysyłany do pamięci w celu odczytu lub zapisu. Z drugiej strony, jeśli dostępne jest stronicowanie, adres liniowy jest interpretowany jako adres wirtualny i odwzorowywany na adres fizyczny przy użyciu tablicy stron.

slajd 16

Modele pamięci są obsługiwane sprzętowo w trybie chronionym: FlatModel (model płaski, bryłowy lub liniowy) – organizacja pamięci, w której wszystkie segmenty są odwzorowywane na pojedynczy obszar adresów liniowych. W tym celu wszystkie deskryptory segmentów wskazują ten sam segment pamięci, który odpowiada całej 32-bitowej fizycznej przestrzeni adresowej komputera. W przypadku modelu płaskiego należy utworzyć co najmniej dwa deskryptory, jeden dla odniesień do kodu, a drugi dla odniesień do danych.

Slajd 17

Deskryptory są przechowywane w specjalnej tabeli systemowej zwanej globalną tablicą deskryptorów (GDT). W przypadku modelu płaskiego każdy deskryptor ma adres bazowy równy 0. Wartość pola definiującego granicę segmentu jest mnożona przez procesor przez liczbę szesnastkową 1000. Segmenty mogą obejmować cały zakres 4 GB adresów fizycznych lub tylko te adresy, które są mapowane do pamięci fizycznej. Ustawiając granicę segmentu na 4 gigabajty, mechanizm segmentacji zapobiega zgłaszaniu wyjątków dla odwołań do pamięci, które wykraczają poza granicę segmentu.

Slajd 18

Ten model pozwala wykluczyć mechanizm segmentacji z architektury systemu, gdyż wszystkie operacje na pamięci odnoszą się do wspólnej przestrzeni pamięci. Z punktu widzenia programisty model ten jest najłatwiejszy w użyciu, ponieważ jedna 32-bitowa liczba całkowita wystarczy do zapisania adresu dowolnej zmiennej lub instrukcji.

Slajd 19

MultisegmentedModel Każdy program ma swoją własną tablicę deskryptorów segmentów zwaną Lokalną Tablicą Deskryptorów (LDT). W takim przypadku dla każdego procesu staje się możliwe stworzenie własnego zestawu segmentów, które w żaden sposób nie przecinają się z segmentami innych procesów. W rezultacie każdy segment znajduje się w izolowanej przestrzeni adresowej.

Slajd 20

Rysunek pokazuje, że każdy wpis w lokalnej tablicy deskryptorów definiuje inny segment pamięci. Każdy deskryptor segmentu określa jego dokładną długość. Na przykład segment rozpoczynający się pod adresem 3000 ma długość 2000 bajtów w systemie szesnastkowym, ponieważ wartość pola deskryptora definiującego granicę segmentu wynosi 0002, a 0002x1000=2000. Analogicznie, długość segmentu rozpoczynającego się pod adresem 8000 wynosi A000. Należy zauważyć, że Model Płaski jest realizowany jako szczególny przypadek modelu segmentowego, gdy program odnosi się do segmentu, pod który jest alokowana cała przestrzeń liniowa.

slajd 21

Stronicowanie (model pamięci stronicowania) Ten model jest formą zarządzania pamięcią do modelowania dużej niesegmentowanej przestrzeni adresowej przy użyciu części pamięci dyskowej i pofragmentowanej przestrzeni adresowej. Zapewnia dostęp do struktur danych, które są większe niż dostępna pamięć, przechowując je częściowo w pamięci RAM, a częściowo na dysku. Zgodnie z tym modelem liniowa przestrzeń adresowa jest podzielona na bloki ten sam rozmiar(zwykle 4 KB), które są nazywane stronami (stronami).

slajd 22

Rysunek przedstawia adres liniowy podzielony na trzy pola: Katalog, Strona i Przesunięcie. Pole Katalog jest używane jako indeks do katalogu stron, określając położenie wskaźnika do właściwej tablicy stron.

slajd 23

Pole strony jest następnie przetwarzane jako indeks w tablicy stron w celu znalezienia adresu fizycznego ramki strony. Aby uzyskać fizyczny adres wymaganego bajtu lub słowa, do adresu ramki strony dodawane jest ostatnie pole Offset. W rezultacie możesz łatwo upewnić się, że całkowita ilość pamięci RAM używanej przez wszystkie programy uruchomione na komputerze przekracza ilość rzeczywistej pamięci komputera. Dlatego pamięć stronicowania jest często nazywana pamięcią wirtualną. Wydajność systemu pamięci wirtualnej zapewnia specjalny program będący częścią systemu operacyjnego, który nazywa się menedżerem pamięci wirtualnej (menedżer pamięci wirtualnej).

slajd 24

Organizacja stronicowania pamięci jest najlepszym rozwiązaniem problemu braku pamięci. Faktem jest, że przed rozpoczęciem wykonywania każdy program musi zostać załadowany do pamięci RAM, której rozmiar jest zawsze ograniczony (na przykład ze względu na cechy konstrukcyjne komputera lub cenę modułu pamięci). Użytkownicy komputerów zwykle ładują do pamięci kilka programów jednocześnie, aby móc przełączać się między nimi podczas pracy (na przykład przechodzić z jednego okna do drugiego). Z drugiej strony pamięć dyskowa jest znacznie większa niż pamięć RAM komputera, a poza tym ta pamięć jest znacznie tańsza. Dlatego też, ze względu na wykorzystanie pamięci dyskowej przy korzystaniu ze stronicowania pamięci, użytkownik odnosi wrażenie, że dysponuje nieograniczoną ilością pamięci RAM. Oczywiście za wszystko trzeba zapłacić: szybkość dostępu do pamięci dyskowej jest o kilka rzędów wielkości mniejsza niż do pamięci RAM.

Slajd 25

Gdy program jest uruchomiony, sekcje jego pamięci RAM (lub strony), które nie są aktualnie używane, można bezboleśnie zapisać na dysku. Mówi się, że część zadania została przeniesiona na dysk. Sensowne jest przechowywanie w pamięci RAM komputera tylko tych stron, do których procesor aktywnie uzyskuje dostęp, na przykład wykonując jakiś kod programu. Jeśli procesor musi uzyskać dostęp do strony pamięci, która jest obecnie stronicowana na dysk, plik błąd systemu(lub przerwać) z powodu braku strony (błąd strony). Ten błąd jest obsługiwany przez menedżera pamięci wirtualnej systemu operacyjnego, który znajduje na dysku stronę zawierającą żądany kod lub dane i ładuje ją do wolnego obszaru pamięci RAM.

slajd 26

Ściśle związany z pamięcią wirtualną jest temat ochrony. Pentium obsługuje cztery poziomy bezpieczeństwa, gdzie poziom 0 jest najbardziej uprzywilejowany, a poziom 3 jest najmniej uprzywilejowany. W każdym momencie uruchomiony program jest na określonym poziomie, każdy segment w systemie również ma swój poziom.

Slajd 27

Poziom 0 to jądro systemu operacyjnego, które obsługuje operacje we/wy, zarządzanie pamięcią i inne kwestie o najwyższym priorytecie. Na poziomie 1 program obsługi wywołań systemowych. Programy użytkownika na tym poziomie mogą uzyskiwać dostęp do procedur w celu wykonywania wywołań systemowych, ale tylko do określonej i chronionej listy procedur. Poziom 2 zawiera procedury biblioteczne, prawdopodobnie współużytkowane przez wiele uruchomionych programów. Programy użytkownika mogą wywoływać te procedury i odczytywać ich dane, ale nie mogą ich zmieniać. Wreszcie, programy użytkownika działają na poziomie 3, który jest najmniej bezpieczny.

Wyświetl wszystkie slajdy