Ресурстарды башкаруу

4.1. Ресурс концепциясы

Процесстин концепциясы ресурстарды бөлүштүрүү жана башкаруу механизмин иштеп чыгууга багытталган. Биринчи системаларды иштеп чыгууда ресурстар каралат:

·  CPU убактысы,

·  эс,

·  I/O каналдары,

·  перифериялык түзүлүштөр.

Бирок, көп өтпөй ресурс түшүнүгү алда канча универсалдуу жана жалпы болуп калды. Система үчүн программалык камсыздоонун жана маалыматтык ресурстардын ар кандай түрлөрүн да аныктоого болот, алар жайылтыла турган объекттер жана аларга жетүү тийиштүү түрдө көзөмөлдөнүшү керек.

3.jpg

Райс. 4.1. Ресурстарды классификациялоо

Азыркы учурда ресурс түшүнүгү бул структурага жетүү жолдорун жана системада анын физикалык чагылдырылышын мүнөздөгөн бир катар атрибуттары бар абстракттуу структурага айланды.

Ресурстар ошондой эле тапшырмалардын ортосунда алмашылган билдирүүлөр жана саат сигналдары сыяктуу объекттерге кайрылуу үчүн колдонулат.

Ресурстар бөлүштүрүлүшү мүмкүн, бир нече процесстер аларды бир убакта (бир эле учурда) же параллелдүү (белгилүү бир убакыт аралыгында кезектешип) колдонгондо, же алар бөлүнбөс болушу мүмкүн (4.1-сүрөт).

4.2. Эстутум башкаруу ыкмалары

Операциялык системанын эстутумду башкарууга жооптуу бөлүгү эстутум менеджери деп аталат.  Эң жөнөкөй бир тапшырмалуу системада бир убакта бир гана программа иштейт жана эс тутум программа менен операциялык системанын ортосунда бөлүштүрүлөт.

Колдонуучу команданы терээри менен операциялык система талап кылынган программаны дисктен эстутумга көчүрөт жана аны аткарат жана процесс аяктагандан кийин экранда сунушту көрсөтүп, жаңы буйрукту күтөт. Көрсөтмөлөрдү алгандан кийин, ал мурунку программаны кайра жазып, эс тутумуна башка программаны жүктөйт.

4.jpeg

Райс. 4.2. Бир киргизүү кезеги менен туруктуу эстутум бөлүмдөрү

Көптөгөн тапшырмалар кайра багыттоо көйгөйүн жаратат. Программаны байланыштыруу учурунда шилтеме берүүчү программа эстутумда кайсы жерден башталаарын билиши керек. fig боюнча. 4.2-сүрөттө пакеттик иштетүү үчүн кезекте турган ар кандай процесстер пайдаланган эс тутумдун бөлүмдөрү көрсөтүлгөн. Бул мисалда операциялык система компьютердин эс тутумунда 0-100K дарек мейкиндигин ээлейт дейли.

Программадагы биринчи инструкция шилтеме берүүчү тарабынан түзүлгөн бинардык файлдын ичиндеги абсолюттук дарек 100 боюнча процедуралык чакыруу болуп саналат дейли. Эгерде бул программа 1-бөлүмгө (100K дареги боюнча) жүктөлсө, буйрук операциялык системага тиешелүү 100 абсолюттук дарекке кайрылат. Ал эми процедураны 100K + 100 номерине чакыруу керек. Эгерде программа 2-бөлүмгө жүктөлсө, команданы 200K+100 жана башкаларга багыттоо керек. Бул көйгөй кайра багыттоо көйгөйү катары белгилүү.

Мүмкүн болгон чечимдердин бири - программа эстутумга жүктөлүп жатканда инструкцияларды өзгөртүү. 1-бөлүмгө жүктөлгөн программада ар бир дарекке 100К мааниси кошулат, 2-бөлүмгө кирген программада даректерге 200К мааниси кошулат жана башкалар.

Жүктөө учурунда кайра багыттоонун мындай түрүн аткаруу үчүн шилтеме берүүчү экилик программага тизмени же битмапты камтышы керек, программадагы кайсы сөздөр даректер (кайра бөлүштүрүлөт) жана кайсынысы өзгөртүлүшү керек эмес машина нускама коддору экендиги жөнүндө маалымат . OS/MFT операциялык системасы ушундай иштейт.

Пакеттик системаларда стационардык бөлүү эс тутуму жөнөкөй жана натыйжалуу иштейт. Бирок убакыт бөлүшүү системаларында жана графикага багытталган персоналдык компьютерлерде таптакыр башка жагдай орун алат. RAM кээде бардык учурдагы активдүү процесстерди жайгаштыруу үчүн жетишсиз, андан кийин ашыкча процесстер дискте сакталып, кайра иштетүү үчүн эстутумга динамикалык түрдө өткөрүлүп берилиши керек.

Жеткиликтүү жабдыкка жараша эстутумду башкаруунун эки негизги ыкмасы бар. Свопинг деп аталган эң жөнөкөй стратегия - бул ар бир процессти толугу менен эс тутумга көчүрүү, бир аз убакытка иштетүү жана андан кийин толугу менен дискке кайтуу. Виртуалдык эс деп аталган дагы бир стратегия, программалардын жарым-жартылай оперативдүү эстутумда болгондо да иштөөсүнө мүмкүндүк берет.

Windows операциялык тутумунда компьютердин оперативдүү эсинде орун жетишсиз болгон процесстерди убактылуу сактаган своп файлы бар. Бул файлдын иштөө режимин өзгөчөлөштүрүү мүмкүн. Бул үчүн, "Башкаруу панели > Өндүрүш жана тейлөө > Систем > Өркүндөтүлгөн > Иштин (Орнотуулар) > Өркүндөтүлгөн > Виртуалдык эстутум > Өзгөртүүнү" ачыңыз. Эгерде Windows операциялык системасы 512 МБ оперативдик эс тутуму бар компьютерге орнотулган болсо, анда, негизинен, сиз такыр пейджинг файлы жок кыла аласыз - бул системанын иштешин гана жогорулатат. Эгерде RAM көлөмү бул мааниден аз болсо, анда пейджинг файлынын баштапкы жана максималдуу өлчөмүн бирдей өлчөмдө коюу сунушталат. Ошентип, сиз дисктин фрагментациясын азайтып, жалпы көйгөйдөн арыла аласыз, ашыкча пейджинг файлынан улам дискте орун жетишсиз болгондо. Эми ал белгиленген өлчөмдү ээлейт жана диск мейкиндигин бөлүштүрүү кыйла жеңил болот. Толук алгылыктуу көрсөткүч - пейджинг файлынын көлөмү компьютердеги физикалык RAMдын көлөмүнөн 2-4 эсе көп.

4.3. Виртуалдык Эстутум

Эсептөө жаралгандан бери адамдар колдо болгон физикалык эстутумга батпай өтө чоң программаларды жайгаштыруу көйгөйүнө туш болушкан. Демейде программаны бөлүккө бөлүү чечими кабыл алынган, алар катмарлар (кабатташуу) деп аталган. нөл катмары биринчи чуркап. Анын аткарылышы аяктагандан кийин, ал кийинки катмарды чакырды. Кээ бир катмар тутумдары абдан татаал болгондуктан, бир эле учурда бир нече катмардын эстутумда болушуна мүмкүндүк берген. Кабатташуулар дискте сакталып, керектүү учурда операциялык системанын жардамы менен эс менен дисктин ортосунда динамикалык түрдө жылдырылды.

Дисктен катмарларды жүктөө жана аларды дискке жүктөө иш жүзүндө система тарабынан аткарылса да, программаларды бөлүктөргө бөлүү программистке көз каранды. Бирок бул абал көпкө созулган жок, тез арада бардык ишти компьютерге тапшырууга мүмкүн болду.

Иштелип чыккан ыкма виртуалдык эс деп аталып калды. Бул ыкманын негизги идеясы программанын, берилиштердин жана стектин жалпы көлөмү жеткиликтүү физикалык эстутумдун көлөмүнөн ашып кетсе да, операциялык система программанын учурда колдонулуп жаткан бөлүктөрүн негизги эс тутумда сактайт, калгандары диск.

Мисалы, 512 МБ программа 256 МБ эс тутуму бар машинада иштей алат, эгерде сиз каалаган убакта эстутумда канча 256 МБ болушу керектигин кылдаттык менен карап чыксаңыз. Бул учурда, зарылчылыкка жараша, дискте жайгашкан программанын бөлүктөрү эс тутумдагы бөлүктөрү менен орундарын алмаштырат.

Виртуалдык эс тутум бир эле учурда эстутумга жүктөлгөн көптөгөн программалардын катышуусунда көп милдеттүү системада да толук иштейт. Программа өзүнүн кийинки бөлүгүн эстутумга жылдырууну күтүп турганда, ал киргизүү/чыгаруу күтүү абалында жана иштебейт, ошондуктан CPU башка процесске башка көп тапшырмалуу системадагыдай эле берилиши мүмкүн.

Виртуалдык эстутум даректери бул максат үчүн атайын регистрлерди (базалык же сегментти) колдонуу менен программалык камсыздоо аркылуу түзүлөт. Виртуалдык даректер деп аталган программалык камсыздоо тарабынан түзүлгөн даректер виртуалдык дарек мейкиндигин түзөт. Виртуалдык эстутуму жок компьютерлерде виртуалдык даректер эстутум шинасына түздөн-түз колдонулат жана окуганда же жазылганда ошол эле дарек боюнча физикалык эстутумдагы сөз окулат же жазылат. Виртуалдык эстутумда виртуалдык даректер эстутум шинасы аркылуу түздөн-түз берилбейт. Анын ордуна, алар виртуалдык даректерди физикалык даректерге түшүрүүчү Эстутум башкаруу блогуна (MMU) багытталат (4.3-сүрөт).

5.jpeg

Райс. 4.3. Эстутумду башкаруу блогунун (MMU) жайгашкан жери жана функциялары

Көпчүлүк виртуалдык эс тутумдары пейджинг деп аталган техникага таянат. Виртуалдык дарек мейкиндиги баракчалар деп аталган блокторго бөлүнөт. Физикалык эс-тутумдагы тиешелүү блоктор барак блоктору (бет кадры) деп аталат. Барактардын жана алардын блокторунун өлчөмү ар дайым бирдей. 512 байттан 64 КБга чейинки өлчөмдөр колдонулат. RAM менен дисктин ортосунда маалыматтарды өткөрүү ар дайым барактан барактан болуп турат.

4.4. I/O аппаратты башкаруу

Операциялык системанын эң маанилүү функцияларынын бири компьютердеги бардык киргизүү/чыгаруучу түзүлүштөрдү башкаруу болуп саналат. Иштетүү системасы бул түзмөктөргө инструктаж берип, үзгүлтүктөрдү кармап, каталарды чечиши керек. Ал ошондой эле түзмөктөр менен системанын калган бөлүгүнүн ортосунда жөнөкөй жана колдонуучуга ыңгайлуу интерфейсти камсыз кылышы керек. Интерфейс, мүмкүн болушунча, бардык түзмөктөр үчүн бирдей болушу керек.

I/O түзмөктөрүн болжол менен эки категорияга бөлүүгө болот: блок жана белги. Блоктук түзүлүштөр - бул белгиленген өлчөмдөгү даректүү блоктор түрүндөгү маалыматты сактоочу түзүлүш. Адатта блоктун өлчөмдөрү 512ден 32,768 байтка чейин. Ар бир блокту башка блоктордон көз карандысыз окуса болот. Эң кеңири таралган блоктук түзүлүштөр дисктер.

Символ түзмөгү эч кандай блок түзүмү жок символдордун агымын кабыл алат же камсыздайт. Белги түзмөк даректүү эмес жана издөө операциясын аткарбайт. Принтерлерди, тармактык интерфейс адаптерлерин, чычкандарды жана башка диск эмес түзүлүштөрдү символдук түзүлүштөр катары кароого болот.

Киргизүү/чыгаруу түзүлүштөрү адатта механикалык жана электрондук компоненттерден турат. Электрондук компонент аппараттын контроллери же адаптер деп аталат. Жеке компьютерлерде ал, адатта, кеңейтүү уячасына киргизилген басма схемасы түрүндө болот. Механикалык компоненти аппараттын өзү болуп саналат. Контроллер тактасы туташтыргыч менен жабдылган, ага кабель аппараттын өзүнө алып баруучу туташтырылган.

Иштөө системасы дээрлик дайыма аппараттын өзү менен эмес, контроллер менен алектенет. Көпчүлүк кичинекей компьютерлер үчүн түзүлүштөр менен өз ара аракеттенүү бирдиктүү автобус моделине ылайык уюштурулган. Чоңураак машиналар, негизги фреймдер, I/O каналдары деп аталган адистештирилген киргизүү/чыгаруучу компьютерлер тейлеген бир нече автобустары бар башка моделге ээ. Бул уюм негизги процессорго жүктү азайтат.

Ар бир контроллерде CPU жетүү мүмкүн болгон бир нече регистр бар. Бул регистрлерге белгилүү бир маанилерди жазуу менен, операциялык система түзмөккө маалыматтарды берүү жана кабыл алуу, иштетүү, өчүрүү ж.б. буйруктарды жөнөтөт. Аппараттын регистрлерин окуу анын статусун, буйрукту кабыл алууга даярдыгын ж.б. аныктоого мүмкүндүк берет.

Башкаруу регистрлеринен тышкары, көптөгөн түзмөктөрдө операциялык система тарабынан окула турган жана жазыла турган маалымат буфери бар. Мисалы, көпчүлүк компьютерлерде экрандагы пикселдерди көрсөтүү мындай буфер болгон видео эстутумдун жардамы менен ишке ашырылат.

Процессор башкаруу регистрлери жана аппараттын маалымат буферлери менен эки жол менен өз ара аракеттенет. Биринчиси, ар бир регистрге киргизүү/чыгаруу портунун номерин ыйгарууну камтыйт - 8 же 16 биттик номер. Башка компьютерлерде киргизүү/чыгаруу регистрлери кадимки эстутум дарек мейкиндигинин бир бөлүгү болуп саналат. Бул уюм эс-карталанган I/O деп аталат. Ал биринчи жолу PDP-11 миникомпьютеринде колдонулган. Ар бир башкаруу регистрине кадимки эс менен байланышпаган өзгөчө эстутум дареги ыйгарылат. Pentium процессору бар компьютерлерде дарек диапазону 640 КБдан 1 МБга чейинки түзүлүштүн маалымат буферлери үчүн сакталган жана киргизүү/чыгаруу портунун аймагы биринчи 64 КБты ээлейт.

Реестрден сөздү окугусу келген процессор өз дарегин автобустун дарек саптарына коёт, андан кийин башкаруу линиясына окуу сигналын берет. I/O мейкиндигине кирүү мүмкүнчүлүгүн эстутум мүмкүнчүлүгүнөн айырмалоо үчүн экинчи сигнал линиясы талап кылынат.

Компьютерге туташтырылган ар бир киргизүү/чыгаруучу түзүлүш аны башкаруу үчүн атайын программаны талап кылат. Түзмөктүн драйвери деп аталган бул программа көбүнчө аппараттын өндүрүүчүсү тарабынан жазылат жана аппараттын өзү менен бирге компакт-дисктерде таратылат. Ар бир операциялык тутум конкреттүү драйверлерди талап кылгандыктан, өндүрүүчүлөр көбүнчө эң популярдуу операциялык системалардын бир нечеси үчүн драйверлерди беришет.

4.5. Үзгүлтүккө учуратат

Адатта, контроллердин регистрлери бир же бир нече статус биттерин камтыйт. Алар чыгаруу операциясы аяктаганын жана киргизүү түзүлүшүндө жаңы маалыматтар бар-жоктугун аныктоо үчүн текшерилиши мүмкүн. Статус биттеринен тышкары, көптөгөн контроллерлор процессорго регистрлер жазууга же окууга даяр экендигин билдирүү үчүн үзгүлтүктөрдү көп колдонушат.

Үзүү - белгилүү бир окуя болгондо пайда болгон башкарууну аткаруучу программадан операциялык системага (жана ал аркылуу тиешелүү үзгүлтүктөрдү иштетүүчүгө) мажбурлап өткөрүп берүү. Үзүлүү механизми аппараттык жана программалык камсыздоо тарабынан ишке ашырылат. Үзгүлтүк сөзсүз түрдө процессор тарабынан буйруктарды аткаруу тартибин өзгөртүүгө алып келет.

Үзүлүүлөр үзгүлтүккө учураган контроллер тарабынан иштетилет. Бул контроллер үчүн киргизүүлөрдүн саны чектелген. Мисалы, Pentium персоналдык компьютерлеринде киргизүү/чыгаруу түзүлүштөрү үчүн 15 гана үзүү линиясы бар. Эски компьютерлердеги кээ бир контроллерлор IBM PCдеги клавиатура контроллери сыяктуу энелик платага орнотулган. Арткы панелдеги туташтыргычка сайылган контроллерлор үчүн IRQ сигналы менен аппараттын ортосундагы картаны түзүү кээде секиргичтер же өчүргүчтөр аркылуу жүргүзүлүшү мүмкүн. Колдонуучу жаңы картаны сатып алган болсо, ал учурдагы түзмөктөр менен карама-каршы келбөө үчүн үзгүлтүккө учуроо линиясын кол менен коюуга аргасыз болгон. Көпчүлүк колдонуучулар мында ката кетиришти, бул акыры автоматтык конфигурациялоо механизминин пайда болушуна алып келди (Plug and Play),

Үзгүлтүккө учуроо механизминин негизги функциялары төмөнкүлөр:

1. үзгүлтүккө учуратуу;

2. башкарууну тиешелүү үзгүлтүккө учураткычка өткөрүп берүү;

3. үзүлгөн программага туура кайтуу.

Үзүлүүлөр тышкы (асинхрондуу) жана ички (синхрондуу) болуп саналат.

Тышкы үзгүлтүктөр- Бул:

1. таймер үзгүлтүккө учуратат;

2. тышкы түзүлүштөрдөн үзгүлтүккө учуратуу (киргизүү-чыгаруу үчүн үзгүлтүктөр);

3. электр энергиясы үзгүлтүккө учурашы;

4. компьютер системасынын операторунун консолунан үзгүлтүктөр;

5. башка процессордон же башка эсептөө системасынан үзгүлтүккө учурайт.

Ички үзгүлтүктөр процессордун иштеши менен байланышкан жана анын операциялары менен синхрондуу болгон окуялар менен шартталган. Төмөнкү үзгүлтүккө суроо-талаптар мисалдар:

1. даректүүлүк бузулган учурда (аткалып жаткан буйруктун дарек бөлүгүндө тыюу салынган же жок дарек көрсөтүлөт, виртуалдык эстутум механизмдерин уюштурууда жетишпеген сегментке же баракка жетүү);

2. операция кодунун талаасында пайдаланылбаган экилик комбинация бар болсо;

3. нөлгө бөлгөндө;

4. заказдын толуп кетишинен же жок болушунан;

5. башкаруу каражаттарынан (мисалы, паритеттик катаны табуудан улам, ар кандай түзүлүштөрдүн иштөөсүндөгү каталар).

Учурда тыюу салынган буйрукту аткаруу аракетинен улам дагы эле үзгүлтүктөр болушу мүмкүн. Көптөгөн компьютерлерде буйруктардын бир бөлүгү колдонмо программалар тарабынан эмес, операциялык системанын коду менен гана аткарылышы керек. Бул компьютерде аткарылган эсептөөлөрдүн коопсуздугун жогорулатуу максатында жасалат. Ошого жараша аппараттык камсыздоодо иштөөнүн ар кандай режимдери каралган, ал эми колдонуучунун программалары артыкчылыктуу деп аталган инструкциялардын белгилүү бир бөлүгү аткарылбаган режимде аткарылат.

Артыкчылыктуу командаларга киргизүү/чыгаруу командаларынан тышкары борбордук процессордун иштөө режимин которуу командалары жана процессордун кээ бир системалык регистрлерин инициализациялоо командалары кирет. Бул режимде тыюу салынган буйрукту колдонууга аракет кылсаңыз, ички үзгүлтүккө учурайт жана башкаруу операциялык системанын өзүнө өткөрүлүп берилет.

Акыр-аягы, иш жүзүндө программалык үзгүлтүктөр бар. Бул үзгүлтүктөр тиешелүү үзгүлтүккө учуратуу буйругунда пайда болот, башкача айтканда, бул команда боюнча процессор кадимки ички үзгүлтүктөрдөгүдөй дээрлик аракеттерди аткарат. Бул механизм системалык программанын модулдарына өтүү жөн эле подпрограммага өтүү катары эмес, кадимки үзгүлтүккө окшош жол менен ишке ашуусу үчүн атайын киргизилген.

Үзүлүү сигналынын болушу аткаруучу программанын үзгүлтүккө учурашына себеп болбошу керек. Процессордо үзгүлтүктөрдү коргоо каражаттары болушу мүмкүн: үзгүлтүккө учуратуу системасын өчүрүү, үзгүлтүккө учураган жеке сигналдарды маскалоо (тыюу).

Үзүлүү сигналдарын акылга сыярлык тартипте иштетүү үчүн, аларга (мурда айтылгандай) артыкчылыктар ыйгарылган. Адегенде артыкчылыктуу сигнал иштетилет, башка үзүлүү сигналдарын иштетүү кечеңдетилген.