- •«Операциялық жүйелер» пәнінен оқу-әдістемелік кешен
- •5В070400 «Есептеу техникасы және программалық қамтамасыз ету»
- •Мазмұны
- •1 Глоссарий
- •2 Дәрістер
- •4.2. Сурет Тапсырманың орындалу қорытындысына ықпал ететін лектердің жылдамдығы
- •4 .3.Сурет. Өзгергіш бекітулерді пайдалана отырып сыный секцияларды дамыту
- •4.4. Сурет сыный секцияға ену және шығуда өзара байланысты орнатуда қолданылатын жүйелік фнукцияларды дамыту
- •1.3.Сурет. Виртуалды мекен-жай кеңістігінің түрлері: жалпақтау (а), сегменттік (б)
- •1.4. Суретте динамикалық мекен-жайларды жаңарту кестесі
- •1.2.Сурет. Бірнеше бағдарламалардың виртуалды мекене-жай кеңістігі
- •1.5 Сурет Жалпы және жеке виртуалды мекен-жай.
- •1.6 Сурет Жадыны үлестіру әдістемісінің классификациялары.
- •3 Зертханалық жұмыстар
- •Жаңа виртуалды машинаны құру.
- •Виртуалды дискіге ms dos операциялық жүйесін орнықтыру.
- •Белсенді бөлімді құру
- •C, d дисктерін форматтау программасын жасаңыз.
- •1 Сурет. Тізілім параметрінің үш құрама бөліктері
- •Тапсырмалар диспетчері (Task Manager)
- •1.Ядро режимінде процессор жұмыс істеген уақытын экранға проценттерде көрсету.
- •4. Процесстің базалық приоритетін өзгерту.
- •5. Жаңа программаны қосу.
- •6. Басқа программаның терезесіне көшу.
- •7. Процесстер тізімін сорттау.
- •1. Қатқыл дисктің қателіктерін анақтап оларды түзеу
- •2. Қатқыл дисктің дефрагментациясы
- •3. Қатқыл дискті тазалау
- •4 Тәжірибелік жұмыстар
- •«Параллельді процесстердің синхронизациясын орныдау» бағдарламалар кешенінің жазбалауы
- •2.Жұмысты орындау
- •Хоар мониторлары
- •Дейкстрдың семафорлық примитивтері
- •Алгоритм Деккера
- •Тредтер
- •Жұмысты орындау тәртібі
- •Пакеттік өңдеудің арнайы командаларының синтаксисі
- •Формат: shift
1.5 Сурет Жалпы және жеке виртуалды мекен-жай.
Алдында бейнеленген виртуалды мекен-жайдың екі бөлігі – операциялық жүйе сегменттеріне және қолданбалы бағдарламаға типті, бірақ абсолютті емес. Жалпы ережеден ерекше. Кейбір операциялық жүйеде ішкі міндеттерін шешетін операциялық жүйеден пайда болған жүйелік процесстер бар. Бұл процесстерде қолданбалы бағдарламаның сегменттері жоқ, бірақ олар кейбір өз сегменттерін (операциялық жүйе сегменттері) виртуалдық мекен-жайды жалпы орналстырады, ал кейбірін әдетте қолданбалы сегменттерге арналған, жеке бөлігінде орналасқан.
Парақтық жадының тетігі көбінесе әмбебап операциялық жүйенің барлық виртуалды мекен-жайдың пайдаланатын бөлігіне қолданылады. Арнайы операциялық жүйе жеке болып табылады, мысалы оперативтік жүйеде қатты белгіленетін кейбір сегментер жеке дискке жүктелмейтін нақты уақыттың операциялық жүйесі – бұл сыртқы оққиғаларға қосымша тез реакциясын қамтиды.
Виртуалды жадының жүйелі бөлігі әр типті операциялық жүйеде парақтық ығыстырып шығарылған (paged) саланы қосып алады. Ығыстырылып шығарылмайтын салада жылдам реакция немесе жадыда үнемі болатынын талап ететін операциялық жүйе модульдері орналасады, мысалы жадының парақтары ауыстыруын басқаратын ағым немесе код диспетчері. Қалған операциялық жүйе модульдері парақтық ығыстыруға, пайдаланушы сегменттер ретінде ұшырайды.
Әдетте аппарат виртуалды мекен-жайды қолдануына өзінің шектеулі тәртібін қояды. Кейбір процессорлар (мысалы MIPS) жүйелік мекен-жайлы кеңістігінің берілген саласы үшін ерекше бейнелеу ережесін физикалық жадыға алдын ала ескертеді. Сонда виртуалды мекен-жай физикалық мекен-жайлда тура бейнеледі (ақырғысы виртуалды мекен-жайлға тура келеді немесе оның бөлігіне тең болады).
Мұндай жадының ерекше саласы парақтық ығыстыруға ұшырайды, және бұл мекен-жайлы қиын процедура түрленуі ерекшеленіп, орналасқан кодтарға және мәліметтерге кіруі жылдам болады.
Жадының үлестіру алгоритмі. Әр түрлі даму кезеңіне сай операциялық жүйелерінің жадыны үлестірудің жалпы тұрғысын қарастырайық. Кейбіреуі актуалдығын сақтап жаңашыл операциялық жүйеде кең пайданылады, ал кейбіреуі көрсетіліп, қазіргі арнайы жүйелерде кездеседі.
Суретте барлық жадыны үлестіру алгоритмдері 2 класқа бөлінген: сыртқы жадысы қосылмайтын алгоритмі және операциялық жүйемен дисктің арасында сегменттері ауысатып жүретін алгоритм
1.6 Сурет Жадыны үлестіру әдістемісінің классификациялары.
Жадыны белгіленген бөлімдерімен бөлу. Операциялық жүйені басқарудың қарапайым – жады, бөлімдерін белгіленген мөлшердің бірнеше саласына бөлінеді. Мұндай бөлінуді жүйенің бастапқы жұмыс істеу және орналастыру кезеңінде қолданылады. Сонан кейін бөлімдерінің шегі өзгермейді.
Жаданы басқару жүйесі келесі міндеттерді шешеді.
Орындауға түскен бағдарламаның өлшемімен бос бөлімдерді салыстырып, сәйкес бөлімді таңдайды.
Бағдарламаны іске қосып, мекен-жайды құрады. Осы трансляция мерзімінде есептеуіш іске керекті бөлімді тауып алады. Бұл жадының нақты саласына айнымалы жүктемесіз машиналық кодын алуға мүмкіндік береді.
Артықшылығы – жүзеге асырудың қарапайымдылығы болса да, үлкен кемшілігі бар – қатаңдылығы. Себебі, әр бөлікте тек қана бір ғана бағдарлама орындалады, онда мултибағдарламалау деңгейі бағдарлама өлшеміне тәуелсіз бөліктер санымен шектелген. Егер бағдарлама көлемі үлкен болмаса да, ал бір бөлікті толық қамтиды, бұл жадыны қолдануда нәтижесіз болып саналады.
Мұндай жадыны басқару әдісібұрынғы мултибағдарламалық операциялық жүйеде қолданған. Бірақ қазір де бұл белгіленген бөліммен жадыны үлестіру әдісі нақты уақытын жүйелерінде қолданады.
Жаданы динамикалық бөлімдерімен үлестіру. Бұл жағдайда машина жадысы алдын-ала бөліктерге бөлінбейді. Алғашқыда барлық жады бос болады. Әр түсетін есепке оған қажет жады бөлінеді (Егер жадыны қажет көлемі болмаса, онда есеп орындалмайды). Егер орындалып болған соң, жады босап, орнына басқа есеп қосылуы мүмкін. Сонымен оперативті жады кез келген уақытта бос және бос емес аймақтарды (бөлік) кез келген тізбегін көрсетеді.
Жадыны басқару үшін арналған функциялар:
Жадыны басқаруды былай қарастыруға болады, ақпаратты жадыға енгізудің енгізудің үш функциясы бар:
Аталатын функция F1, әлбетте көрсетілген ақпарат қолданушының аты ақпараттың идентикаторы, осыған арналған ат үшін
Жадының функциясы F2, олар орналасқан жерді идентификаторады шындығындағы адресін анықтайды
Содержимое функциясы F3, бұл мәндегі жадының адрестері, сол адресте орналастырылған.
Қолданушының f1 Біркелкі f2 Ұяшықтар f3 Мәні
а
ттары
идентификаторлар жадысы
Жадыдағы мультибағдарламалық жүйе
Ауысу бөлігіндегі мультибағдарлама – егер де есепті енгізсек, онда ешқандай кеденді сақтап керегі жоқ, есепке қанша жадыдан орын керек болса, керектігінше қолданды.
есеп
Х 40К
операциялық
жүйе
е
сеп
Y 60K
Есеп Х 40К
Есеп Y 60K
Бос
Ауысу бөлігіндегі мультибағдарламадағы бастапқы бөлінуі
Сегменттік – беттік жады (paging/segmentation) –сегмент үшін жады беттер бөледі, және де сегменттің кестелік кеденіне байланысты бөлінеді. Адрестер үш компоненттардан тұрады [s,p,d] s-сегменттің нөмері, p- беттегі кестедегі жазбаны анықтайды, d – қосылыстары. Сонда [s,p,d] s- сол берілген есептегі, p- беттегі, d – сөзді анықтайды.
сегменттағы
кестелік регистр
бет
s р
d
d
+
+
сөз
Сегметтер кестесі
Кедені беттегі база кестесі s-тая строка
таблицы
сегментов
+
Беттегі кестелер
П
ризнак
қорғаныс
беттің
орналастыруын көрсеткіш
р-тая
строка таблицы
кеден страниц (беттегі кестенің ұзындығы)
Сегменттік – беттік жадының , адресті табу кезеңі
f3(сөз)= f3(f3(f3(f3(сегменттағы кестелік регистр)+s)+p)+d)
Беттерге тез ену ассоциативтік регистр
сегменттің беттің Беттің
номері номері орналасқан
жері
бет [s1,p1]
s1 p1 бет [s2,p2]
s2 p2
s3 p3
. . . бет [s3,p3]
Жадыны басқару стратегиясы. Қандай да бір нақты сұлба жадысы таңдалса, оптималдық мінездеме үшін жадыны басқару стратегиясын қолдану керек. Жадыны басқару стратегиясына әртүрлі мән беріп, шығарса олар қалай анықталады:
Жады да жаңа бағдарлама алсақ: жүйеге сұрау жіберу
Бағдарлама оперативтік жадының қанша бөлігін алу керек: көбінесе бос орын қалдырмауға тырысады, олардың жадыға минимум орын қалдырмауға немесе оларды тез жадыға орналастырып , машинаның уақытын алмайды.
Бағдарламаны жадыға енгізгенде оперативтік жады толы болса, онда жадыдағы көп қолданысқа келмейтін және уақыты бойынша ұзақ тұрған бағдарламаны өшіреміз.
Жадыны басқару стратегиясы категорияларға бөлінеді:
Таңдау стратегиясы
Таңдау стратегиясына сұрау жіберу
2.орналастыру стратегиясы
Таңдау стратегиясы олардың мақсаты: қандай уақытта бетті қайта жазу керектігін және де сегментті оперативтік жадыға ауыстырады.
Орналастыру стратегиясы. Түскен сегментті немесе бетті бірінші жадыға орналастыру, олардың мақсаты болып табылады.
Оперативтік жадыға жаңадан бағдарлама енгізілсе, онда оларды қалай таңдау керек. Және де оларға 3 стратегия келеді. Оларды қарастырып өтсек:
Көбінесе келетін стратегия, көбінесе келетін жадыға бағдарламаны орналастырса, онда жадыға аздаған орын қалады,
Бірінші кіру стратегиясы , жадыдағы орнына байланысты есепті орналастырады. Көбінесе келетін стратегия , олар жадыға есепті орналастырғанда, максималды орын қалса, онда бір жағынан қарағанда сұмдық болп көрінуі мүмкін, бірақ оның жақсы жағы да бар , ал біз жадыға максималдық бос орындарға бағдарламаларды орналастыру болады.
Шығарып тастау стратегиясы. Олардың мақсаты: оперативтік жадыдан қандай сегментті немесе бетті өшіру болып табылады және жадыға келіп түскен бағдарламаны немесе сегментті орналастыру үшін , бірақта жады толықтай толы тұрмаса.
Кез келген бетті ығыстыру. Мұндай оңай жолмен жадыдағы орынды босату үшін кез келген бетті ығыстырамыз.
Бірінші түскен бетті ығыстыру ( FIFO)
First-in-first-out
Егер оперативті жадыдағы түскен бетті орналастыру үшін , жадыдағы ең бірінші және ұзақ уақыт бойы тұрған бетті ығыстырамыз сонда FIFO принципі орындалады.Бұл стратегияның ең жақсы қасиеті , онда оперативтік жадыдағы бұрыннан келе жаткан бетті ығыстыру ында , бет бұрыннан келе жатса , онда ол бет оқылған және жұмыс істелген болады,сондықтанда жадыда ұзақ уақыт сақталған бетті ығыстырамыз.
Бірақ ұзақ уақыт сақталған бетті ығыстыру кей кездері дұрыс болып келе бермейді.Егер де ол бетпен күнделікті жұмыс істелген болуы мүмкін және сондықтан жадыда ұзақ уақыт сақталған бетті ызыстырса ,онда оны қолданушыға ол бетті қайтадан жазуға тура келеді.
Қолданысқа енбейтін бетті ығыстыру ( LRU)
Least-recently-used
Бұндай стратегия көбінесе қолданушы жиі қолданбайтын бетті ығыстырады.Бірақта ол бетті керек беттердің бірі болуы мүмкін.LRU стратегиясы жадыдағы беттерді әрқашан жаңарту керек , бұл стратегия олардың уақытына байланысты ығыстырады.
Қолданысқа көп ене бермейтін беттерді ығыстыру(LFU)
Least-frequently-used
LFU стратегиясы жоғарыда айтылып өткен. LRU стратегиясы сәйкес келеді. Мұнда да керек бетті ығыстырып алуымыз керек.
Бақылау сұрақтары:
Жадының иерархиялық ұйымдастырылуын қарастырыңыз.
Жадыны ұйымдастыру түрлерінің эволюциясы.
Жадыны ұйымдастыру стратегиясының негізге қасиеттері.
Жадыны бақылау түрлері.
Дәріс № 8
Тақырыбы: Сыртқы жадыны басқару
Дәрістің сұрақтары:
Файлдар.
Деректер иерархиясы. Файлдарды ұйымдастыру.
Кіріс әдістері. Файлдардың мінездемелері.
Файлдық жүйе. Файлдық жүйенің фанкциялары. Файлдық жүйенің құрамы.
UNIX файлдық жүйесі.
Файлдардың дисктік жадыда орналасуы.
Сыртқы жадыны басқару. Файлдар.
Иерархиялық мәліметтер. Иерархияның төменгі дәрежесі – бытавой комбинация құрайды, соның көмегімен кез – келген мәліметтердің элементтері құралады. Ал байттар мен символдар келесі дәрежеде орналасқан ( мысалы , 8 – биттік комбинация «аски» АSCII-тық кодта қолданады). Структуралардың үлкені болып саналатын жиек : алфавиттік, сандық немесе алфавиттік – сандық, жиектермен қосылған топтар жазбаларды құрайды. Жазбалар қосылып, файл болады, ал топтармен байланысты файлдар мәліметтер базасы болады...
Файл (file) – мәліметтерге ат қою. Операторлардың көиегімен бір бөлік болып, файлдар мен операция жасалуы мүмкін. Операторлар: ашу(open), жабу(close), құрау(create), құрту(destroy), көшіру (copy), ат қою (rename), өшіру (list). Басқа файлдардың құрамдарымен операция жасалуы мүмкін: оқу (read), жазу (write), жаңарту (update), қою (insert), алып тастау (delete).
Рұқсат ету тәсілдері
Операциялық жүйені құрайтын, олардың файлдады ашудың әртүрлі тәсілдері бар, мүмкіндігінше екі категорияларға топтастырсақ:
Кезекпен рұқсат ету тәсілі;
Базистік рұқсат ету тәсілі;
Кезекпен рұқсат ету тәсілі мынандай жағдайларда қолданды, жазбаларды тазалау кезінде болашақтағы жағдайды көре алғанда.
Базистік рұқсат ету тәсілі қарапайым жағдайда қолданылады, көбінесе тікелей кіру кезінде жазбаларды тазалау кезінде болашақты біру мүмкін емес жағдайда.
Файлдардың мінездемелері.
Құбылмалы – ол файлдағы жаңа жазбалар және бұрынғы жазбаларды өшіру жиілікке кіргізуді қарастырады. Жиілік аз жағдайда оны – статикалық, ал көп жағдайда - динамикалық немесе құбылмалы файлдар болып саналады.
Белсенді – файлдағы жазбалардың пайызымен өлшенеді, берілген уақытта тазалауды қарастырады.
Өлшем – файлда сақталынған мәліметтердің мөлшерін анықтайды.
Файлдық жүйе
Файлдық жүйе- ол барлық басқару жадының жүйесінің бір бөлшегі, сыртқы жадыда сақталған, оның міндеті көбінесе файлдарды басқару болып табылады, қолданушыларға ақпаратты бөлу бақыланады.
Файлдар жүйесінің құрамы
Файлдық жүйе, ОС ядросының енетін құрамдары, олар келесілерді құрайды:
Кіру тәсілі, файлдарда сақталынғандарға нақты мәліметтер мүмкіншілігін анықтайды.
Файлдарды басқару, топтасып қолдану және қорғау, файлға сақтауды қадағалайды.
Сыртқы жадыны басқару, сыртқы жадыда файлдарды сақтауға, орындауға орналастырады.
UNIX файлдық жүйесі
UNIX файлдық жүйесін қарастырып өтсек.ең басты файлдық жүйедегі белгілі бір дискідегі мөлшердіорналастыру, аталған бөлшектер – файлдар.
UNIX үш негізгі түрлері бар. Олар:
Дискідегі қарапайым файлдар
Каталогтар
Белгілі бір файлдар
Қарапайым файлдар – қолданушы енгізген ақпаратты дискіде сақтау. Файлдар болып, дайын бағдарламалар қолданылады.
Каталогтар – ол қарапайым сөзбен айтқанда файлдарсақталатын папкалар, мысалы, мәтіндік докуметтер, орындалған бағдарламалар, кітапханалар және кітапханалық модульдер және т.б
Файлдық жүйедегі жалпы модель. Кез келген функционалды файлдық жүйені көп деңгейлі модел деп қарастырамыз, интерфейс әр деңгейге мүмкіндік береді (функцияны таңдау), ал өзінің жұмысында интерфейс төменгі деңгеймен орындайды.
Символдық деңгейді анықтау файлдың символдық атымен анықталады. Файлдық жүйеде әр файл тек бір ғана асимволдық атты иелене алады. (мысалы, MS-DOS), бұл деңгей жоқ символдық ат сияқты. UNIX файлдық жүйесінде мысалы, маңызды болып дескриптор файлы есептеледі (inode).
Файлдағы сұраныс
(операция, файлдың аты, логикалық жазу)
Символдық деңгей Символдық аттың ерекше
атын
ақытау
Базалық деңгей Ерекше файлдағы аттың
мінездемесін
анықтау
Тексеру деңгей Операцияға тапсырыс берілген
тапсырыстық файлды тексеру
Логикалық деңгей Логикалық кординаттық
жазуды файлда анықтау
Физикалық деңгей Логикалық және физикалық
блоктағы номерді анықтау
Кіріс- шығыс жүйесі
Келесі базалық деңгейде ерекше файл атауының қарастырылған мінездемесі: мекені, мөлшері т.б. Жоғарыда айтылып өткендей файлдың мінездемесі каталогтық құрамына немесе кестеде жеке сақталады.
Логикалық деңгейде логикалық жазудың кай кординатта екені анықталады. Физикалық файлдың сарапталуы оның байт мөлшерімен анықталады. Берілген деңгейдегі жұмыстың алгоритімі логикалық файлға тәуелді. Мысалы, егер файлдың фиксировандық ұзындығы 1 болса, онда n логикалық жазуы l((n-1) байтына ығысады. Кординаттағы логикалық жазуды анықтау үшін файлдағы көрсетілген адрестағы логикалық жазумен және кестедегі көрсетілген символдармен анықталады.
Файл
V V V V V
… |
N |
|
|
|
|
… |
S
логикалық
жазу
S
Сурет. 19 Физикалық функция деңгейінің файлдық жүйесі.
Бастапқы шығуы: V – блоктың размері; N – бірінші блоктағы файл номері; S – логикалық жазудың файлға ығысуы.
Физикалық деігейде анықтауды талап етеді::
n – логикалық жазудағы талап еткен блоктың номері;
s – логикалық жазудағы блок аралық ығысу.
n = N + [S/V], где [S/V] – санның бүтін бөлігі S/V s = R [S/V] – санның бөлшек бөлігі S/V
Файлға кіру құқығы. Файлға кіру құқығын анықтау – ол операцияда әр қолданғышты анықтау, оын берілген файлға пайдаланады. Дифференциялдық операцияға кіру әр файлдық жүйеде өз тізімі анықталған. Бұл тізімге қосылған келесі операциялар:
Файлдың құрылымы,
Файлдың жойылуы,
Файылдың ашылуы,
Файлдың жабылуы,
Файлдың оқылуы,
Файлдың жазылуы,
Файлдың қосымшасы,
Файлды іздестіру,
Файлдың белгісін алу,
Жаңа белгілерді орнату,
Өзгертілім,
Файлдың орындалуы,
Каталогтың оқылуы.
