<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>https://mera400.pl/index.php?action=history&amp;feed=atom&amp;title=CROOK-5_-_Zarz%C4%85dzanie_pami%C4%99ci%C4%85_operacyjn%C4%85</id>
	<title>CROOK-5 - Zarządzanie pamięcią operacyjną - Historia wersji</title>
	<link rel="self" type="application/atom+xml" href="https://mera400.pl/index.php?action=history&amp;feed=atom&amp;title=CROOK-5_-_Zarz%C4%85dzanie_pami%C4%99ci%C4%85_operacyjn%C4%85"/>
	<link rel="alternate" type="text/html" href="https://mera400.pl/index.php?title=CROOK-5_-_Zarz%C4%85dzanie_pami%C4%99ci%C4%85_operacyjn%C4%85&amp;action=history"/>
	<updated>2026-05-01T15:08:15Z</updated>
	<subtitle>Historia wersji tej strony wiki</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://mera400.pl/index.php?title=CROOK-5_-_Zarz%C4%85dzanie_pami%C4%99ci%C4%85_operacyjn%C4%85&amp;diff=1019&amp;oldid=prev</id>
		<title>Amo: Utworzono nową stronę &quot;Pamięć operacyjną przeznaczoną dla programów użytkowych można dzielić na bloki o rozmiarach będących wielokrotnoscią 4 Ksłów. Bloki te są przydzielane proc...&quot;</title>
		<link rel="alternate" type="text/html" href="https://mera400.pl/index.php?title=CROOK-5_-_Zarz%C4%85dzanie_pami%C4%99ci%C4%85_operacyjn%C4%85&amp;diff=1019&amp;oldid=prev"/>
		<updated>2013-08-18T07:43:40Z</updated>

		<summary type="html">&lt;p&gt;Utworzono nową stronę &amp;quot;Pamięć operacyjną przeznaczoną dla programów użytkowych można dzielić na bloki o rozmiarach będących wielokrotnoscią 4 Ksłów. Bloki te są przydzielane proc...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Pamięć operacyjną przeznaczoną dla programów użytkowych&lt;br /&gt;
można dzielić na bloki o rozmiarach będących wielokrotnoscią&lt;br /&gt;
4 Ksłów. Bloki te są przydzielane procesom tylko na czas&lt;br /&gt;
ich działania. Zatrzymanie procesu lub zawieszenie z powodu&lt;br /&gt;
czekania na buforowane urządzenie wejścia-wyjścia może powodować&lt;br /&gt;
przepisanie zawartości zajmowanej pamięci do specjalnego zbioru&lt;br /&gt;
dyskowego i zwolnienie zajmowanego bloku pamięci.&lt;br /&gt;
Jeżeli proces zajmuje wspólny blok pamięci wraz ze swoimi&lt;br /&gt;
potomkami to zwolnienie pamięci nastąpi po spełnienu warunków&lt;br /&gt;
zwolnienia przez wszystkich potomków.&lt;br /&gt;
&lt;br /&gt;
= Tryby pracy systemu =&lt;br /&gt;
&lt;br /&gt;
Dla zapewnienia możliwie krótkiego czasu reakcji systemu&lt;br /&gt;
i ograniczenia liczby wymian wprowadzono dwa tryby pracy.&lt;br /&gt;
Tryb bez wymian stosowany jest wtedy, gdy wszystkie uruchomione&lt;br /&gt;
programy mieszczą się w pamięci operacyjnej. Pamięć&lt;br /&gt;
zwalniana jest tylko w przypadku zatrzymania procesu&lt;br /&gt;
lub spowodowania przezeń alarmu.&lt;br /&gt;
Gdy dla jakiegoś procesu zabraknie wolnej pamięci,&lt;br /&gt;
zostanie on umieszczony na liście czekających na pamięć&lt;br /&gt;
i system przejdzie do trybu z wymianami.&lt;br /&gt;
W trybie tym procesy zwalniają pamięć także przy operacjach&lt;br /&gt;
wejścia-wyjścia na buforowanych urządzeniach znakowych&lt;br /&gt;
i przy zajmowaniu procesora w sposób ciągły przez okres 3 s.&lt;br /&gt;
Jeśli w ciągu 60 s lista czekających na pamięć&lt;br /&gt;
pozostaje pusta, system powraca do trybu bez wymian.&lt;br /&gt;
Tak więc, przy wzroście liczby użytkowników i rozmiarów&lt;br /&gt;
ich programów czas reakcji systemu zwiększa się,&lt;br /&gt;
zwłaszcza dla dużych programów konwersacyjnych.&lt;br /&gt;
Istnieje również możliwość nadania programowi atrybutu&lt;br /&gt;
&amp;quot;rezydujący&amp;quot; i wtedy nie będzie go obowiązywać tryb z wymianami.&lt;br /&gt;
Umożliwia to stosowanie systemu jednocześnie do pracy wielodostępnej&lt;br /&gt;
i do pracy &amp;quot;na bieżąco&amp;quot; gdzie wymagana jest natychmiastowa reakcja.&lt;br /&gt;
&lt;br /&gt;
= Ekstrakod przydziału pamięci =&lt;br /&gt;
&lt;br /&gt;
Ekstrakod CORE umożliwia zmianę wielkości bloku pamięci&lt;br /&gt;
przydzielonego procesowi. Agumentem ekstrakodu jest zawarta w R4&lt;br /&gt;
żądana wielkość bloku (w słowach).&lt;br /&gt;
Po wykonaniu ekstrakodu w R4 będzie się znajdował adres ostatniego&lt;br /&gt;
słowa w przydzielonym bloku.&lt;br /&gt;
Ekstrakod umożliwia zarówno zwiększanie jak i zmniejszanie&lt;br /&gt;
rozmiaru bloku pamięci zajmowanej przez proces.&lt;br /&gt;
Wykonanie ekstrakodu z zerową zawartością R4 powoduje tylko&lt;br /&gt;
pobranie do R4 adresu ostatniego słowa w aktualnie zajmowanym bloku&lt;br /&gt;
pamięci.&lt;br /&gt;
&lt;br /&gt;
Niedozwolone jest wywoływanie ekstrakodu CORE z argumentem&lt;br /&gt;
różnym od 0 przez proces o niespójnej przestrzeni adresowej.&lt;br /&gt;
&lt;br /&gt;
= Ekstrakody organizacji niespójnego obszaru pamięci =&lt;br /&gt;
&lt;br /&gt;
System operacyjny umożliwia procesom zajmowanie niespójnych&lt;br /&gt;
bloków pamięci operacyjnej.&lt;br /&gt;
Pamięć procesu jest opisywana za pomocą,&lt;br /&gt;
mieszczącej się w jednym słowie, mapy pamięci.&lt;br /&gt;
Poszczególne bity słowa-mapy oznaczeją kolejne bloki (po 4Ksłowa)&lt;br /&gt;
zajętej pamięci, gdzie:&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
! Bit !! Oznacza blok&lt;br /&gt;
|-&lt;br /&gt;
| 15 || 0000000 - 0007777&lt;br /&gt;
|-&lt;br /&gt;
| 14 || 0010000 - 0017000&lt;br /&gt;
|-&lt;br /&gt;
| ... || ...&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 0170000 - 0177777&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ekstrakod GMEM umożliwia dołączanie do przestrzeni adresowej&lt;br /&gt;
procesu nowych bloków pamięci.&lt;br /&gt;
Argumentem jest, podawana w R4, mapa wskazująca gdzie mają być&lt;br /&gt;
dołączone nowe bloki pamięci.&lt;br /&gt;
W wyniku wykonania ekstrakodu pamięć procesu jest skonfigurowana&lt;br /&gt;
tak, że nowa mapa pamięci równa jest sumie logicznej (.OR.)&lt;br /&gt;
starej mapy i argumentu ekstrakodu.&lt;br /&gt;
Ekstrakod RMEM umożliwia odłączenie (i zwolnienie) wskazanych&lt;br /&gt;
bloków od ciała procesu.&lt;br /&gt;
Argumentem ekstrakodu jest podawana w R4 mapa bloków do zwolnienia.&lt;br /&gt;
Po wykonaniu każdego z tych ekstrakodów&lt;br /&gt;
rejestr R4 zawiera aktualną mapę pamięci.&lt;br /&gt;
Wykonanie ekstrakodu GMEM lub RMEM z argumentem równym 0&lt;br /&gt;
powoduje pobranie do R4 aktualnej mapy pamięci.&lt;br /&gt;
&lt;br /&gt;
{{source|title=SYSTEM OPERACYJNY CROOK-5 dla minikomputera MERA-400 (wersja 7)|author=Zbigniew Czerniak, Marek Nikodemski|date=Gdańsk 1988}}&lt;/div&gt;</summary>
		<author><name>Amo</name></author>
	</entry>
</feed>