йкестендіру станымы. 3 страница

Жылдамдатуды максимальды тиімділігіне есептеу мен енгізу/шыаруды толыымен жапанда ол жеткізіледі. Процессор тек бір есепті ана орындаан кезде не болатынын арастырып крелік. Не есептеу, не енгізу/шыару басымдылы танытатын есептерде жылдамдату млде болмайды. Параллелизм сонымен атар бір есептікті енгізу/шыаруды толы аятауды талап ететін жадайында орындалмайды. йткені есептеуді жаласы тек белгілі бір мндер енгізілгенде ана жруі ммкін. мндай жадайларда процессорды немесе каналды трып алуынан тыла алмайсыз.

Егер жйеде бір уаытта бірнеше есептер орындалып жатса, онда бір есепті есептелуі мен келесі бір есепті енгізу-шыару операцияларын біріктіріп жмысты жаластыра беруге болады. Бір бадарлама андай да бір оианы орындалуын ктіп транда процессор трып алмайды.

Пакеттік деу жйелерінде процессорды бір есептен бір есепке ауыстыру аымдаы есеп тарапынан рсат боланда ана, яни ол енгізу-шыару операцияларын орындау керек боландытан процессордан бастарту секілді жадайларда ана орындалады. Сол себепті, бір есепті процессорды кп уаыта стап алуны жне соан байланысты баса екпінді есептерді орындалмай алуыны лкен ммкіндігі бар. Сондытан пакеттік деулер жйесімен жмыс істеу аппаратураны функционалдану тиімділігін арттыранымен, олданушы жмысыны тиімділігін тмендетеді.

Уаытты блу жйелеріндегі мультибадарламалау

олданушыны жмысыны тиімділігі мен олайлылыын арттырудаы мультибадарламалауды таы бір дісі – уаытты блу. Уаытты блу жйелерінде олданушылара (немесе жалыз олданушыа) бірнеше бадарламалармен интерактивті жмыс істеу ммкіндігі беріледі. Бл шін р бадарлама ауы-ауы олданушымен «схбаттасып» отыруа ммкіндік алуы керек. Пакеттік деу жйелерінде бадарлама мен олданушылар арасында «схбат» жргізу ммкіндігі млде шектеулі екендігі белгілі.

Уаытты блу жйелерінде мндай ммкіндік операциялы жйелерді бадарламалар жмысын оларды процессорды здігінен босатуын ктпей-а ауы-ауы тотатып отыру есебінен жзеге асырылады. Барлы бадарламалара процессорлы уаытты кванттары блінеді, соан сйкес бадарламаны орындалуа жктеген олданушылар олармен схбаттасып отыруа ммкіндік алады.

рдістер мен аындарды жоспарлау

Мультибадарламалы операциялы жйелерді негізгі ішкі жйелеріні бірі рдістер мен аындарды жоспарлау, яни оларды ру мен жою немесе зара атынас орнату ызметін атаратын ішкі жйесі. Сонымен атар бл ішкі жйесі жйеде біруаытта орындалатын бірнеше рдістер мен аындар арасында процессорлік уаытты блумен де айналысады.

рдістер мен аындарды басару жйеасыт жйесі рдістерді ажет ресурстармен амтамасыз етуге міндетті. Операциялы жйелер жадыда ай рдіске андай ресурс блінгендігі жайлы апарат жазылып отыратын арнайы апаратты рылымдарды стап отырады. Ол рдіске ресурсты жеке немесе зге рдістермен бірігіп пайдалану керектігі жнінде нсау беріп отырады. Кейбір ресурстар рдіске оны рылуы барысында блінсе, енді бір ресурстар орындалуы барысында сранстыра сйкес динамикалы трде блініп отырады. Ресрустар процеске оны толы орындалуына немесе белігілі бір аралыына дейін блінуі ммкін. Осындай функцияларды орындау барысында рдістерді басару ішкі жйесі операциялы жйені ресурстара байланысты баса ішкі жйелерімен зара атынас орнатады (жадыны басару жйеасыт жйесі немесе енгізу-шыару ішкі жйесі мен файлды жйе).

Жйде біруаытта бірнеше туелсіз есептер орындалып жатан жадайда кейбір осымша мселелер туындайды. Аындар ансихронды пайда болып жне ансихронды орындаланымен олара зара рекеттесі ажеттілігі тууы ммкін. Мысалы, деректермен алмасу барысында. Аындар жылдамдыыны иысуы сонымен атар «жарыс» эфектісіні (бірнеше аынны бір файлды згертуге тырысуы барысында), зара блокталуды немесе ресурстарды бірігіп пайдалану барысында туындайтын басада колизияларды алдын-алу шін де ажет. Аындарды синхронизациялау рдістер мен аындарды басару ішкі жйесіні негізгі функцияларыны бірі болып табылады.

рдісті р аяталуынын кейін, операциялы жйе оны жйеге «ену іздерін тазарту» адамдарын йымдастырады. рдістерді басару жйасты жйесі процесс жмыс істеген барлы файлдарды жабады, оперативті жадыны кодтара, деректерге жне апаратты рылымдара берілген облыстарын босатады.

«рдіс» пен «аын» ымдары

Мультибадарламалауды олдау шін, операциялы жйе процессор мен компьютерді баса да ресурстарын зара блісетін жмысты ішкі бірліктерін анытап жне натылап алуы керек. азіргі тада операциялы жйелерді кпшілігінде жмыс бірлігіні екі трі аныталан. детте «рдіс» атауын алып жрген жмысты айтарлытай лкен бірлігі, зіні орындалуы шін «аын» немесе «жіп» деп аталатын бірнеше са жмыстарды ажет етеді.

Сонымен, «рдіс» пен «аын» ымдарыны наты айырмашылытары неде?

Есептеу жйесіні кез-келген жмысы андай да бір бадарламаны орындалуы негізінде жретіні белгілі. Сондытан процесспен де, аынмен де орындаушы модуль тріндегі белгілі бір бадарламалы код байланыс орнатады. Бл бадарламалы код орындалу шін, оны оперативті жадыа жктеу керек. Сонымен бірге деректерді сатау шін дискіден орын блу немесе енгізу-шыару рылыларымен байланыс орнату ажеттілігі туындауы ммкін. Таы бір, ескеретін жадай бадарламаны орындалуы оан деген процессорлы уаыт блінбейінше ммкін емес екендігі.

рдістер мен аындар атар кездесетін операциялы жйелерде процесс процессорлы уаыттан баса барлы ресурстара сраныс ретінде арастырылады. Ал е маызды ресурс болып табылатын процессорлы уаыт жмысты баса бірліктері аындармен аныталады. Аын деген ымны зі командалар тізбегі (орындалу аыны) деген маынаны береді.

арапайым жадайда рдіс тек бір аыннан ана трады. Мндай кезде «аын» ыымы «рдіс» ымымен толы жтылады, яни тек бір ана жмыс бірлігі – «рдіс» ымы ана болады.

рдістер ресрурстарды лестіруге араласпау жне бір-біріні кодтарын блдіріп алмауы шін операциялы жйені негізгі міндетіні бірі оларды бір-бірінен изоляциялау болып табылады. Бл шін операциялы жйе р рдісті виртуалды кеістігін блек растырады. Сондытан бір рдіс баса рдісті командалары мен деректеріне ол са алмайды.

зара арым-атынас ажет болан жадайда процесс ара аайын ызметін атара отырып, рдіс аралы байланыс ралдары – конвейер, пошта жшіктері, жадыны блінбелі секциялар жне т.б. сынатын операциялы жйеге хабар береді.

Дегенмен, аын ымы ат салыспайтын жйелерде рдіс аумаында паралель есептеулерді йымдастыру барысында біршама мселелер туындайды. Шынында да, мультибадарламалауда жйені ткізу абілеті жоарлайды, біра жеке рдіс ешашанда бір бадарламалы режимдегідей жылдам жмыс істемейді. Дегенмен, бір процесс аумаында орындалатын кейбір есептер оны зіні шешілу жмысын жылдамдататын ішкі параллелизмге ие болуы ммкін.

Операциялы жйелерде аындар есептеулерді паралелдендіру ралы ретінде пайда болды. «Аын» тсінігіне процессорды бір командадан келесі бір командаа ауысу тізбегі сйкес келеді. Операциялы жйе процессорлы уаытты аындар арасында бліп береді. Ал рдіске оны барлы аындары бірігіп жмыс істейтін адрестік кеістік пен ресурстар жиынытыын жктейді.

рдістер мен аындарды ру

рдісті ру – бл брінен брын рдісті сипаттаушыны, яни операциялы жйеге рдісті басару шін керек мліметтерді амтитын бір немесе бірнеше апарратты рылымдарды ру дегенді білдіреді. Мндай мліметтер атарына процессорды идентификаторы, орындаушы модульды жадыда орнласуы туралы деректер, т.б. жатады. рдістерді сипаттаушылар мысалына, есептерді басару блогын (OS/360), процесс блогын басарушыны (OS/2), процесс скрипторын (UNIX), объект-рдісті (Windows NT) келтіруге болады.

рдісті сипаттаушыны ру зімен бірге жйеде ресурстара таласушыларды таы біріні пайда болуына келеді. Осы сттен бастап ресурстарды лестіру барысында операциялы жйе жаа рдісті талаптарын ескеруі керек.

рдісті ру берілген рдісті орындаушы бадарламасыны кодтары мен деректеріні дискіден оперативті жадыа кшірілуін амтиды. Бл шін операциялы жйе орындаушы бадарламаны кодтары мен деректеріні дискідегі орнын анытап, оперативті жадыны лестіруді айтадан орындай отырып жаа рдісті орындаушы бадарламасына орын блуі керек. Виртуалды жадылы жйелерде алашы стте рдісті кодтары мен деректеріні тек бір блігі ана жктеледі де, аландары тек ажет жадайда ана кшіріліп отырады.

Кпаынды жйеде рдісті ру барысында операциялы жйе р процесс шін кемінде бір аын рады. Аындарды ру барысында операциялы жйе тура рдісті рандаыдай аынны жадайын, деректері мен басымдылыын, т.б баса мліметтерден тратын аын идентификаторын амтитын аынды сипаттаушыларды рылады. Негізгі жадайда аын (немесе аын аныталмайтын жйелерде процесс) тотатылан кйде болады. Аынды оырнауда тадау сті берілген жйеде абылданан процессорлы уаытты блу ережесін жне сол сттегі барлы аындар мен рдістерді ескерумен жргізіледі.

Кптеген жйелерде аындар операциялы жйеге аындар-рпатар деп аталатын бірлікті руды срауы ммкін. р трлі операциялы жйелерде аындар-рпатар мен ата-аналар арсында р трлі арым-атынас орнайды. Мысалы, кейбір операциялы жйелерде ата-аналы аындарды орындалуы оны рпатарымен синхрондалады, кп жадайда ата-аналы аын орындалып болан со операциялы жйе оны барлы рпатарын орындаудан босата алады. Баса операциялы жйелерде аындар-рпатар ата-аеылы аындар мен эсинхронды жмыс істеуі ммкін. ережеге сйке рпатар ата-аналарыны асиеттерін иемденеді. Кп жйелерде рпатарды тудыру рдістер мен аындарды руды негізгі механизмі болып табылады.

рдіс (есеп)- апстракция орындайтын бадарламалары бейнелеуі процессін бсааруды ішкі жйесі рдісті орындалуын жоспарлайды, яни жйеде бір уаытта орындалатын рдістер арасында процессор уаытын бледі. рдістерді рады жне шіреді рдістері ажетті жйелік ресурстарын амтамасыз етеді. рдістер арасында рекеттестікті олдайды.

Кп процессорлы жйеде процесс кеесі ш негізгі жадайды бірінде болуы ммкін:

  1. орындау – рдісті активті жадайы;
  2. кту – рдісті пасивті жадайы процеске тиым салынан андай да бір ішкі себебке байланысты орындала алмайды. Кей жадайды орындалуын ктеді.

Мысалы: Енгізу-шыару – операциясыны аяталуыны баса рдісті хабарлама алуын ажет ресурстарыны босатылуын.

3. дайынды - рдісті пасивті жадайы бл жадайда сырты жадайлар серінен тиым салынан. Процесс орындалуына ажетті ресурстар бар. Біра процессор баса рдістермен айналысуда. Орындалу кйінде бірпроцессорлы жйеде тек бір ана процесс те алады, ал кту мен дайын болу кйлеріні р-айсысында - бірнеше процесс жреді. мірлік цикл дайын болу кйінен басталып, активация кезінде процесс орындалу кйіне кшеді.

MS DOS мынадай бліктерден трады:

1. жйені алашы жктеу блогы (дискіні алашы секторы),

2. BIOS-пен араатынас модулі (IO.SYS файлы),

3. зілімтермен ( прерывания) жмыс модулі ( MSDOS.SYS файлы),

4. командалар процессоры ( COMMAND.COM файлы),

5. сырты командалар ( бадарламалы файлдар),

6. рылылар драйверлері,

7. CONFIG.SYS файлы,

8. AUTOEXET.BAT файлы.

Бірінші, екінші жне шінші пунктер MS DOS- ты ядросын райды.

Алашы жктеу блогы

Жйелік дискіні тпкі бумасыны алашы екі файлы IO.SYS пен MSDOS.SYS екенін тексеріп, оларды дискіден оып жада жктейді, сосын басаруды MS DOS- а береді.

IO.SYS

Бл резидентті ( рашан компьютер жадында отыратын) модуль машинаны BIOS- мен байланыс орнатып, сол арылы рылыларды басарып отырады.

MSDOS.SYS

Бл да резидентті модуль. Ол файлды жйені басарып, баса бадарламаларды файлды жйемен жмыс жасауын йымдастырды.

Командалар процессоры (COMMAND.COM)

Перне татадан пайдаланушыны нсауларын абылдап, соларды орындауды йымдастырды. Комьпютер жадына сырты командаларды орындайтын бадарламаны жктеп, сонан со басаруды соан береді.

Физикалы йымдастыру мен файлды мекен-жайы

Файлды физикалы йымдастырылуы файлды сырты жады рылысында орныу ережелерін сипаттайды. Файл физикалы жазба -блоктардан ралады. Блок - сырты рылы оперативті жадымен алмасатын деректерді кішігірім бірлігі. здіксіз орнытыру - физикалы йымдастыруды арапайым дерлік нсасы (сурет 2), бл ретте файла дискілі жадты бтін жалпылама учаскесін алыптастыратын диск блоктарыны реттілігі сынылады. Файла мекен-жай белгілеу шін тек бастапы блокты нмірін нсау жеткілікті. Екінші басымдылыы - арапайымдылы. Дегенмен екі кемшілігі де баршылы. Біріншіден файлды жаау кезінде оны затыы, яни аншалаты жадыны арастыру ажеттілігі де белгісіз, екіншіден, мндай реттілікпен орнытыруда блшектену орындалып, дискідегі кеістік нтижесіз, еш пайдасыз олданылады, себебі кіші клемні жекелеген учаскелері (минималды 1 блок) олданусыз алуы ммкін.

Физикалы йымдастыруды келесі тсілі - диск жадыны байланысан блоктар тізімі ретінде орнытыру. Мндай тсілде рбір блокты басында келесі блока нсаулы болады. Бл жадайда файл мекен-жайы бір санмен - алашы блок нмірімен белгілене алады. Алдыы тсілмен салыстыранда рбір блок андай да бір файл шынжырына бекінуі ммкін, бл ретте блшектену болмайды. Файл блоктар санын лайтып, згерістерге шырайды. Кемшілігі - файлды еркін орнына ол жеткізуді орындауды крделілігі: файлды реттілік бойынша бесінші блогын оу шін алашы трт блокты оып шыауымыз ажет. Одан зге, бір блоктаы файл деректеріні саны екілік дегейге те келмейді (бір сз екінші блок нміріне шыындалан), ал біршама бадарламалар клемі екілік дегейге сйкес деректер блогын оиды.

Сурет 2.Файлды физикалы йымдастыру а - здіксіз орнытыру; б - байланысан блоктар тізімі; в - байланысан индекстер тізімі; г -блок нмірлеріні тізімдемесі

MS-DOS операциялы жйесіні FAT файлды жйесінде олданылатын танымал тсіл - индекстерді байланысан тізімін олдану болып табылады. рбір блокпен - индекс блшегі байланыс жасайды. Индекстер дискіні жекелеген облысына орныады ( MS-DOS-та бл FATкестесі). Егер де блок файла блістірілген болса, онда аталан блокты индексі файлды келесі блогіні нмірін сатайды. Мндай физикалы йымдастырылуда алдыы тсілді бкіл дерлік жаымды асиеттері саталады, біра екі белгіленген кемшілік назардан жойылады: біріншіден, файлды еркін орнына ол жеткізу масатында индекстер блогімен танысу, шынжыр бойынша файл блоктарыны ажетті санын есептеп, ажетті блок нміріп анытау жеткілікті, екіншіден, файл деректері блокты тгелімен амтып алады, ал бл дегеніміз екілік дрежесіне сйкес клемді иемденеді деген сз.

орытынды блімде, файлды физикалы орныуын аталан файлмен алынатын блок нмірлеріні арапайым сараптамасы арылы арастырамыз. UNIX ОЖ файл клеміне туелсіз мекен-жайды фиксирленген затыын амтамасыз ететін аталан тсілді нсасын олданылады. Файлды мекенжайын сатау шін 13 тізбек блінеді. Егер файл клемі аз не 10 блока те болса, онда аталан блоктарды нмірлері мекен-жайды он тізбегіне тікелей орын алмастырады. Егер файл клемі 10 блоктан кем болса, онда келесі 11 тізбек файлды келесі блокатарыны 128 нмірлеріні мекен-жайларын орнытырады. Файл 10+128 блоктан кп болса, 128 нмір блоктары орныан 12 тізбек олданыса енеді. Жне де файл 0+128+128 кп боан жадайда 10+ 128 + 128(128 + 128(128(128 максимум клемі бар файлмекен-жайын белгілеуге ммкіндік беретін 13 тізбек штік жанама мекен-жайландыру масатында олданылады.

Операциялы ортанын жадайы регистірлер жне процессор жмысына ашы файлда крсеткенше енгізу-шыаруды аныталмаан операция жне таы баса жадайларына сер етеді. Мндай мліметтер процесс контексі деп аталады сонымен атар рдістерді жоспарлау шін ОЖ-ге осымша апараттар керек болады:

рдіс, идентификатор, процесс кш, процессорыны стемділігі туралы млімет, кодты сигмент орналасан орын жне таы баса мндай апаратты рдістеріні дескрипторын деп аталады.

Бадарламалы код орындалу шін оан ОЖ рдісін ру керек. рдіс ру дегеніміз –

1. рдісті сипаттайтын апаратты рылым ру, яни прлоцессті контексті жне дескрипторын ру;

2. жаа рдісті дескрипторын дайын рдістерін кезегіне осу;

3. рдісті кодты сегментін оперативті жада немесе свопинг аймаына жктеу.

рдістерді жоспарлау алгоритмдері

рдістерді жоспарлау келесі есептер шешімінен трады:

  1. орындалып жатан рдісті ауыстыру шін уаыт моментін анытау
  2. дайын прооцесстер кезенінен орындалатын рдісті тадау
  3. «ескі» жне «жаа» рдісті контекстік ауыстыру.

рдісті жоспарлау шін алгоритмні екі тобын олданады:

А) кванттауа негізделген алгоритмдер

Б) стемділікке негізделген алгоритмдер.

Кванттауа негізделген алгоритм бойынша р бір рдістеріне квантауа уаыт блінуі. Екпіндік процесс ауысуы келесі жадайларда болады:

  1. рдіс аятау
  2. ате пайда болуы
  3. рдіс кту жадайларына кшу
  4. осы рдіске берілген процессорлар уаыт кванты бітіріледі.

з квантын бітірген процесс дайынды жадайына кшеді. Жаа квант берілуін ктеді. рдісте блінген уаыт кванты барлы рдіске бірдей немесе ртрлі болуы ммкін. Бір рдіске берілген квант траты шама немесе рдісті р кезенінде ртрлі болуы ммкін.

Дайын процессор кезегі ртрлі тсілмен йымдастырылады: циклдік, кезек, стек бойынша.

Кезек – «бірінші кеиді бірінші орындалды»»fifo

Стек –«бірінші кеиді соы кетті» lifo

« соы кеиді бірінші орындады.» lifo

стемділік –бл сан стемдідікке негізгі алгаритмдер деп процесс привигиясына сйенеді.

бтін немесе блшек о немесе теріс мді болуы ммкін. рдісті стемділігі нерлым жоары болса сорлым кезекте аз уаыт трады. стемділікте негізделген алгоритмні екі трі болады:

  1. салыстырмалы стемділік
  2. абсолютті стемділік олданылан (стемділік) рдісіні стемділігі маыздылыына байланысты жйені администраторы таайындалан жадайында немесе ОЖ белгілі ережелер бойвнша зі есептейді. стемділік процесс жзінде траты немесе кейбір заа згеруі де ммкін. рдістерді жоспарлау екі трге блінеді: 1) ыыстыратын; 2) ыыстырмайтын.

рдісті зара рекеттестігі жне синхронизациялау ралдары

рдістерді зара рекеттестігі немі болып трады. Мысалы: бірінші рдіске деректер береді, немесе бірнеше рдістер деректерді орта файлдан дейді. Барлы осындай жадайларда рдісті синхронизациялау проблемасы туады.

Мысалы: файлдарды ааза басу процессін арастырайы

Бл рдісті жзеге асыратын бадарлама арнайы заказдар файла баса бадарламалар жазатын фаилдар атауларын ы тізімі бойыша фаилды , ааза басады. Next айнымасына жазу шін дайын бірінші фаилыны аталуын сатайды. Сигмент рдісте осы айнымасына оып тапсырыс файлды сйкес позициясына з фаилыны атауын жазады.Next айнымасыны мнін бірге арттырады. Айталы кейбір уаыт моментінде R рдісі Next кейбір уаыт моментінде айнымалысыны мнін оып тапсырар файлына з файлыны атауын орнатып лгерген жо. Next = 4 дейік R процессі 4 деген мнді оиды. Уаыт кванты жетпеген себептен екі процессі керекті рекетті орындап лгермеді, S рдісі кезекті Next айнымалысыны мні оыды. Next = 4 жне тапсырыс файла з файлыны атауын орналастырып Next айнымалысыны мнін бірге арттыру. Екінші рдісіне басару берілгенде з файлыны атауын трт позицияа жазады. S рдісін файлы еш ашан ааза басылып шыарылмайды. рдістерді синхронизациялау проблемасыны крделігі пайда болатын жадайларыны бір келкі еместігінде. Бір уаытта екі немесе бірнеше рдістер блінетін берілгендерді (олар орта берілгенді) дегенде жне соы нтиже осы рдісті жылдамдытыыны атынасына туелді болса мндай жажайлар гонка деп аталады. рдістерді синхронизациялау негізгі тсінігі критикалы сексия. Критикалы сексия бл блінетін берілгендерге атынастыру жргізілетін бадарламаны блігі кейбір ресурске жарыс эффектісін болдырмау шін осы ресурспен байланысан критикалы секцияда рбір уаыт мезгілінде тек біо рдіс болуын амтамасыз ету ажет. Бл тсіл зара (взаимная исключения) болдырмау амтамасыз етуді арапайым тсілі критикалы сексиядаы рдіске зулерді болдырмауды рсат ету. Келесі діс – тиым салу айнымалысын олдану. рбір блінетін ресурспен екілік айнымалы байланысы рны мні бірге те, егер ресурс бос болса мні 0-ге те ресурс баса процессін олданса синхронизациялауда matn бір проблема бар бл зара тиым салу (важные блокировки) немесе (pet clock) диалогтар (deadlockes)