1.
Түрлі міндет атқаратын функциялар бір-бірімен байланысты. Мысалы егер бір
міндет екіншісіне шығыс мәліметтерін дайындап берсе, онда соңғысы бір міндеттің
сәйкес хабар алмағанша орындалмайды. Бұл жағдайда вариациялардың бірі- міндеттің
белгіленген шартта бір немесе бірнеше жаңа міндеттерді тудыруы.
2.
Бірнеше міндеттің бөлінген қорға қол жеткізуді реттеу қажет.
3.
Сыртқы оқиғалары бар міндеттерді синхрондау қажет. Ереже бойынша бұл үшін
үзіліссіздік механизмі қолданылады.
4.
Міндеттерді уақыт бойынша синхрондау қажет. Бұл жағдайда түрлі нұсқалардың
диапазоны нақты астрономиялық уақыттағы белгілі бір әсердің белгіленген уақыт
интервалы міндеттерінің орындалуының кідірілуіне дейін кең таралған. Ақырында бұл
мәселелерді шешу үшін таймер деп аталатын арнайы аппаратты құралдар қолданылады.
Нақты уақыт механизмі
НУОЖ бағалаудағы маңызды параметр жүйе ұсынатын нақты уақыт механизмінің
құралдар жиынтығы.
Басымдық жүйесі және диспетчерлеу алгоритмі
Жүйенің көріністі жетілдірудің базалық құралдары:
1.
Процестің басымдық жүйесі
2.
НУОЖ жоспарлау алгоритмінен тұрады.
Көпміндетті жалпы қолданыстағы ОЖ-де үзіліссіз уақыт кванты түсінігіне
негізделген, берілген процесті орындауға арнап ұсынылатын айналмалы
диспетчерлеу алгоритмінің түрлі жаңартулар қолданылады. Жоспарлаушы әр уақыт
квантының аяқталуы бойынша белсенді процестер кезегін қарастырады және
басымдықтарын негізге ала отырып, олардың қайсысына басқаруды беретінін
шешеді.
Басымдық
-бекітілген
-немесе уақыт бойынша ауысу мүмкін.
Жоспарлау алгоритмінің мүмкін түрі- ығыстырушы басымдық
Міндетаралық өзара әсер механизмі
Нақты уақыт механизмінің басқа жиынтығы процестер синхрондылығы мен
олардың арасындағы мәліметтер тасымалы құрылғыларына жатады. Оларға
семафорлар, мьютекстер (mutex), оқиғалар, белгілер, бөлшекті жадымен жұмыс
атқаратын құралдар, мәліметтер каналы (pipes), хабарлар кезегі.
2.2.3. Жүйенің реакция уақыты
Нақты уақыт жүйесін өндірушілердің көбісі жүйенің реакциясының
үзіліссіздікке уақыты деген параметр келтіреді. Жүйе реакциясының уақытын
болжау үшін біз қандай заманды білуіміз керек екенін түсінеміз.
Көрсеткіштермен тіркелетін объектідегі оқиғалар. Мәліметтер көрсеткіштен
енгізу/шығару модуліне жіберілетін жүйелер (интерфейстер)
Енгізу/шығару модулі, көрсеткіштен мәліметті қабылдап, оны өңдегеннен кейін,
объектіде оқиға болған туралы белгі бере отырып, басқарма компьютерде
сұранысты үзіліссіздікке зерттейді.
Енгізу/шығару модулінен белгі алысымен, жүйе осы оқиғаны өңдейтін
бағдарламаны іске қосу қажет.
Уақыт интервалы- объектідегі оқиғадан осы оқиғаны өңдейтінбағдарламадағы
бірінші нұсқаулар орындалғанға дейін жүйе реакциясының уақыты болып табылады.
Және нақты уақыт жүйелерін жобалау арқылы жетілдірушілер осы интервалды анықтай
білу керек.
2.2.4
Нақты уақыт ядролары
Бұл класқа осы операциялық жүйелердің нақты уақыт механизмдерінің
барлығының іске асырылатын монолитті ядросы бар жүйелер кіреді. Тарихи жүйенің бұл
түрі өте жақсы жобаланған болатын. Ережеге сәйкес, нақты уақыт ядроларының
жетілдірілуінің 2 түрі бар- кростық және резидентті.
2.2.5 Жүйе өлшемдері
НУОЖ үшін маңызды параметр болып орындаушы жүйенің өлшемі- жүйе жиынтығы
қосымшасының жұмысы үшін қажетті ең аз жиынтық көлемі болып табылады (ядро,
жүйелік модульдер, драйверлер).
2.2.6
Контекстінің ауыстыру уақыты
Нақты уақыттағы операциялық жүйелерде бірнеше оқиғаларды бір мезгілде өңдеуге
мүмкіндік беретін параллелизм жатыр, сондықтан барлық НУОЖ көп міндетті болып
табылады. ( көппроцессорлы, көпжелілі). Қатар оқиғаларды өңдеуге үстеме шығындарды
бағалай білу үшін процестен процеске басқаруды тасымалдау үшін кететін жүйенің
уақытын білу керек, яғни контекстінің ауыстыру уақыты.
2.2.7 Таймермен жұмыс істеу құралдары.
Таймермен жұмыс істеу құралдары сияқты құралдар қатты уақыт регламенті бар
жүйелер үшін қажет, сондықтан таймермен жұмыс істеу құралдарының дамуы- нақты
уақыттағы операциялық жүйелер үшін қажетті атрибут. Бұл құралдар:
-
түрлі уақыт аралықтарын белгілеу және өлшеу
-
уақыт интервалдарының таусылуына байланыстты үзілулерді реттеу;
-
бір реттік және циклдік қоңырауларды құруға
мүмкіндік береді.
2.3. НУОЖ-нің қолдану аясы
Көптеген уақыт мезетінде НУОЖ-нің негізгі тұтынушылары әскери және
ғарыштық облыстар болып келді. Қазір жағдай түгелдей өзгерді, НУОЖ-ні кең
таралымды тауарларды кездестіруге болады.
НУОЖ-нің негізгі қолдану аялары:
әскери және ғарыштық облыстар: борттық және ендірілетін құрылғылар
-
басқару және өлшеу жүйелері, радарлар;
-
сандық видеожүйелер, симуляторлар
-
ракеталар, жергілікті жердің жолын анықтайтын жүйелер.
өнеркәсіп:
-
өнеркәсіпті автоматты басқару жүйелері (ӨАБЖ), ( computer – aided manufacturing
(CAM)), технологиялық процестерді автоматты басқару жүйелері (ТПАБЖ);
-
көлік жасау: симуляторлар, моторды басқару жүйелері, автоматты айқасу;
-
энергетика: ақпараттар жиынтығы, құралдар мен мәліметтерді басқару;
-
телекоммуникация: коммуникациялық құрылғылар, желілік коммутаторлар,
телефон станциялары
-
банк құрылғылары (мысалы, көптеген банкоматтарда QNX НУОЖ жұмыс
жасайды)
Кең қолданымды тауарлар:
-ұялы телефондар, мысалы, GSM стандартындағы телефон pSOS НУОЖ-де жұмыс
істейді;
- сандық телевизиялық декодерлер;
- сандық телеарна ( мультимедиа, видеосерверлер)
- компьютерлік және офистік құрылғылар (принтерлер, көшірмелер), мысалы
факстарда VxWorks НУОЖ қолданылады, компакт-дискілерді оқуда VRTX32
НУОЖ қолданылады.
Көп жағдайда НУОЖ бірнеше нұсқаларда болады: жүйенің көлемі бірнеше
килобайттан құралғанда толық және қысқартылған болуы мүмкін.
СДЖ арналған бақылау жұмыстары:
1.
Нақты уақыттағы орындалу жүйесі деген не? (анықтама бер)
2.
Нақты уақыттағы орындалу жүйесіне қандай талаптар қойылады?
3.
Нақты уақыттағы жетілдіру жүйесі деген не? (анықтама бер)
4.
Нақты уақыттағы жетілдіру жүйесі неден құралады?
5.
НУОЖ өзегі қандай қызметтер атқарады?
6.
Қорды синхрондау қалай жүзеге асырылады?
7.
Міндетаралық айырбас қалай жүзеге асырылады?
8.
Мәліметтердің жіктелінуі деген не?
9.
Сыртқы құрылғылардың сұраныстарын өңдеу қалай жүзеге асырылады?
10.
Ерекше жағдайларды өңдеу не үшін қажет?
11.
НУОЖ-дегі қай жоспарлау принципі жиі қолданылады?
12.
Жоспарлау кезінде қандай міндеттер жиі атқарылады?
13.
Міндеттердің өзара үйлесімділігі қалай атқарылады?
14.
Қорларды пайдалану кезінде қандай қиындықтар туады? Критикалық секция
деген не?
15.
Сыртқы оқиғаларды синхрондау кезінде қандай негізіг беталыстар
қолданылады?
16.
Уақыт бойынша синхрондау не үшін қолданылады?
17.
Процестер мен мәліметтер тасымалын синхрондау құралдарына не жатады?
18.
Жүйе реакциясының оқиғаға қатысты уақыты болып не табылады?
19.
Жүйе реакциясының уақыты кезінде қандай уақыт аралығы аппаратурамен
анықталады?
20.
Жүйе реакциясының уақыты кезінде қандай уақыт аралығы операциялық жүйе
мен компьютер архитектурасымен анықталады?
Ұсынылатын әдебиеттер:
1.
Мартин ДЖ. Программирование для вычислительных систем реального времени.
Пер. с англ. Изд-во "Наука", 1975.- 360с.
2.
Тенанбаум Э. Современные операционные системы. пер. с англ. 2-е изд. – М.:
СПБ.: Нижний Новгород: Питер, 2005. – 1037с.
3.
Олифер В.Г. Олифер Н.А. Сетевые операционные системы. М.: СПБ.: Нижний
Новгород: Питер, 2006. – 538с.
4.
Грибанов В.П., Дробин С.В., Медведев В.Д. Операционные системы. - М.:
Финансы и статистика, 1990. - 239 с.
5.
Дейтел Х.М., Чофнес Р.Д. Операционные системы. пер. с англ. – М.: БИНОМ, 2006.
– 704с.
16
бөлім. UNIX ОЖ
3.
3 Тақырып . UNIX ОЖ. Жүйенің ерекшеліктеріне жалпы шолу
Дәріс жоспары
16.1
Нақты уақыттағы UNIX-тер.
16.2
UNIX ОЖ
16.2.1
Жүйенің ерекшеліктеріне жалппы шолу
16.2.1.1
Тарихы
16.2.2
Басты түсініктер
16.2.2.1
Тұтынушы
16.2.2.2
Тұтынушы интерфейсі
16.2.2.3
Артықшыланған тұтынушы
16.2.2.4
Бағдарламалар
16.2.2.5
Командалар
16.2.2.6
Процестер
16.2.2.7
Енгізу/шығарудың бағытын өзгерту
16.2.2.8
Аталған бағдарламалық каналдар
16.2.2.9
Қорғаныс принциптері
16.2.2.10
Құрылғыларды басқару
16.2.2.11
Құрылғылардың драйверлері
16.2.2.12
Құрылғылардың ішкі және сыртқы интерфейстері
16.2.2.13
Бағдарламалық ұялар ( Sockets)
16.2.2.14
Жойылған процедураларды шақыру
16.3
Жүйенің құрылымы
16.3.1
UNIX ОЖ өзегі
16.3.1.1
Өзекпен өзара әсерлесу принципі
16.3.2
Shell
16.3.3
Командалар
16.3.3.1
Командалар не атқарады?
16.3.3.2
Командаларды қалай орындау қажет?
Нақты уақыттағы UNIX-тер.
Нақты уақыттағы операциялық жүйелер тарихта UNIXтердің бума және өркендеу
дәуірінде құрылған, сондықтан олардың көбісі осы операциялық жүйелердің көркем
концепциясының осы немесе басқа кірмелерінен тұрады. (тұтынушы интерфейсі, процесс
концепциясы және т.б.)
UNIX ОЖ
Жүйенің ерекшеліктеріне жалппы шолу
Тарихы
1965 жылы Bell Telephone Laboratories фирмасы General Electric компаниясы мен
Массачусет технологиялық институтының МАС жобасымен күштерін біріктіріп, Multics
деп аталған жаңа операциялық жүйе жасауға кірісті. Multics жобасымен жұмыс аяқталған
соң Bell Telephone Laboratories фирмасының информатика бойынгша зерттеу
орталығының қызметкерлері «жеткілікті интерактивті есептеуіш құралдарсыз» қалды.
Жетілдіру жағдайларын жақсарту үшін Томпсон және Ричи өздерінің PDP-7 жүйенің
жобасын орындады, ол төмендегілерден тұрды:
UNIX файлдық жүйесінің бірінші нұсқасы
Процестерді басқару жүйесі
шағын утилиттер жиынтығы
жүйе жоғары дәрежедегі тілде жазылған
тұтынушыға барлық қажетті қызметті ұсынуғы мүмкіндік беретін
перифериялық құрылғылары бар қарапайым тұтынушы интерфейсінің
болуы
Қарапайым программалардан күрделіреу құруға мүмкіндік беретін элементарлы
құрылғылардың болуы
Жұмыста жеңіл және тиісмді иерархиялық файлдық жүйенің болуы
Жүйе көп пайдалынымды, көп қызметті болып табылады, әрбір тұтынушы
бірмезгілде бірнеше процесті орындай алады.
Барлық UNIX жүйесі екі бөлікке бөлінеді:
1.
Бірінші бөлікті программалар мен сервистік функциялар құрайды, UNIX
операциялық ортасын танымал қылады; бұл бөлік тұтынушыға өте оңай қол жеткізеді, ол
командалық процессор, хаттар тасымалы, тексті өңдеу процестері, текстік
программаларды өңдеу жүйелері сияқты программалардан тұрады.
2.
Басқа бөлігі өз қатарына осы программалар мен функцияларды қамтамасыз ететін
операциялық жүйені қосады.
Басты түсініктер
Тұтынушы
Есептеуіш файлдық жүйелерде тіркелген адам , сондықтан аталған есептеуіш ат
тұтынушы арқылы тіркелген жүйе деп аталады. UNIX ОЖ файлдық жүйе ағаш тәрізді
құрылымды болып келеді. Тұтынушы жүйеге енгенннен кейін оның ішіндегі өзінің үй
каталогына және барлық каталогтар мен файлдарға шексіз қол жеткізе алады. Тұтынушы
үй каталогындағы каталогтар мен файлдарды құру, жою, жаңарту әрекеттерін орындай
алады.
Тұтынушы интерфейсі
Тұтынушының UNIX жүйесімен өзара әсерлесуінің дәстүрлі тәсілі командалық
тілдерді қолдануға негізделген. (Қазіргі кезде графикалық интерфейстер кеңінен таралған)
UNIX ОЖ-нің кез келген командалық интерпретаторының жалпы атауы – Shell
(қабықша), себебі кез келген интерпретатор жүйенің өзегінің сыртқы қоршауынан тұрады.
Артықшыланған тұтынушы
UNIX ОЖ-нің өзегі әрбір тұтынушының идентификаторы бойынша (UID- User
Identifier) теңестірілуі, тұтынушыға жүйеде тіркелуі кезінде беріледі. НУОЖ-де
администратор үшін UID мағынасы ерекше. Осындай UID-сы бар тұтынушы
супертұтынушы (superuser) немесе root деп аталады. Оның кез келген файл мен келген
программаның орындалуына қол жеткізуге шексіщ құқығы бар. Сонымен қатар мұндай
тұтынушының жүйені толық бақылайтын мүмкіндігі бар. Ол оны тоқтата алады және
жоюы да мүмкін.
Бағдарламалар
UNIX ОЖ бір уақытта қолданбалы программаларды қолданудың операциялық
ортасы және жаңа қосымшаларды жетілдіру ортасы болып табылады. Жаңа
бағдарламалар түрлі тілде жазылуы мүмкін. ( Фортран, Паскаль, Модула, Ада және т.б.) .
Бірақ UNIX ОЖ ортасында стандартты программалау тілі С тілі болып табылады. ( кейінгі
кезден бастап С++ ауыстырылып жүр).
Командалар
Кез келген shell отбасының командалық тілі нақты 3 бөліктен құралады:
1.
Текстік қатарларды бақылауға және қарапайым командалардың негізінде
күрделі
командаларды
құруға
мүмкіндік
беретін
қызметтік
конструкциялар;
2.
Командалық тілдің өзіндік интерпретатор арқылы орындалатын кірме
командалар;
3.
Жеке файлдармен ұсынылатын командалар.
Процестер
UNIX ОЖ-дегі процес- меншікті адресті виртуальды кеңістікте орындалатын
программа. Тұтынушы жүеген енгеннен кейін командалық интерпретатордың
программасы орындалатын процес автоматты түрде құрылады.
Енгізу/шығарудың бағытын өзгерту
Механизмнің іске асуы UNIX ОЖ-нің келесі қасиеттеріне негізделген:
-
Біріншіден, кез келген енгізу-шығару әлдебір файлдан енгізу және әлдебір файлға
шығаруға негізделген;
-
Екіншіден, кез келген файлға қол жеткізу дескрипторы арқылы жүзеге асырылады
(оң бүтін сан);
-
Үшіншіден, әлдебір процесс кезінде іске қосылған программа, пайда болған
прооцестен ашық ашық файлдардың барлық дескрипторларын «мұра ретінде»
алады.
Аталған бағдарламалық каналдар
Программалық канал (pipe)- UNIX ОЖ-дегі процесаралық өзара әсерлесудің
дәстүрлі құралдарының ең көп тарағандарының бірі.
Программалық каналдың жұмысының басты принципі бір процестің байттық
шығаруы буферлеу және FIFO режимінде программалық каналдың мазмұнын басқа
процесс арқылы оқуға мүмкіндікті қамтамасыз етуге негізделген. (яғни бәрінен бұрын
жазылған байт бірінші оқылады).
Аталмаған программалық канал- ата-процеспен құрылады, процес ұрпақтан
мұраға қалады, сондықтан пайда болған процес иерархияларында байланыстың болуын
қамтамасыз етеді.
Аталған программалық каналға міндетті түрде әлдебір каталогтың элементі және
меншікті і-түйін сәйкес келу керек. Аталмаған программалық каналдармен
салыстырғанда, аталған программалық каналдар кез келген процес байланысы үшін
қолданыла алады. (яғни бір иерархия тобына кіретін процестердің болуы міндетті емес).
Қорғаныс принциптері
Тұтынушы жүйеге енгенде login программасы тұтынушы жүйеде тіркелгенін және
дұрыс парольді білетіндігін тексереді, жаңа процес тудырады және берілген тұтынушы
үшін қажетті shell іске қосады. Бірақ бұдан бұрын login жаңадан құрылған процесс үшін
тұтынушы және топ идентификаторын орнатады.
3.2.2.10Құрылғыларды басқару
UNIX ОЖ сыртқы құрылғыларға қол жеткізу үшін әмбебап файлдың абстракциясы
қолданылады.
3.2.2.11Құрылғылардың драйверлері
Құрылғы драйвері- өзіндік статикалық мәліметтерден тұратын көпкірісті
программалық модуль , ол құрылғымен жұмыс істеуді реттей алады, тұтынушымен
тапсырыс берілген айырбастарды орындайды, құрылғылардан үзілулерді өңдейді. UNIX
ОЖ-де символды, блокты және ағынды драйверлер деп түрленеді.ъ
Символды драйверлер- туынды байттар тізбегін шығару және қабылдауға
бағытталған қарапайым және құрылғыларды күтуге арналған драйвер болып табылады.
Мұндай драйверлер UNIX-тің өзегі стандартты қызметтің ең аз жиынтығын қолданады,
тұтынушы процестің виртуальді кеңістігінен мәліметтер қабылдауға және мәліметтерді
осындай виртуальді кеңістікке орналастыруға мүмкіндік беруге негізделген.
Блокты драйверлер- UNIX ОЖ-нің өзегінің блокты айырбасты жүйелік буферлеу
мүмкіндіктерін қолданумен жұмыс істейді. Мұндай драйвердің функциялар қатарына
UNIX ОЖ өзегінің буфер жүйесіне сәйкес мәліметтер блогын қосу және керек жағдайда
буферлік облыстың мазмұнын ашу жатады.
Ағынды драйверлер- күрделі ұйымдасуымен ерекшеленеді. Нақтырақ айтқанда,
мұндай драйвер тұтынушы сұранысының көп сатылы өңдеуін қамтамасыз ететін
модульдер конвейерінен тұрады. Ағынды драйверлер UNIX ОЖ-нің ортасында негізінен
көп деңгейлі, желілі хаттамаларға сәйкес жұмыс істейтін желілі құрылғыларға қол
жеткізуді жүзеге асыруға негізделген.
3.2.2.12
Құрылғылардың ішкі және сыртқы интерфейстері
Файлдың түріне қарамастан, (кәдімгі файл, каталог, байланыс және арнай файл)
тұтынушылық процесі open, close, read, write сияқты жүйелік шақырулырдан тұратын
стандартты интерфейс арқылы файлдармен жұмыс істей алады.
3.2.2.13
Бағдарламалық ұялар ( Sockets)
Бағдарламалық ұялар механизмі процесаралық дамыған өзара әсер ретінде жүзеге
асырылған. Бұл құрал кез келген процеске желімен қосылған бір компьютерде ме әлде
түрлі компьютерде орындалған ба оған қарамастан, кез келген басқа процеспен хат
алмасуға мүмкіндік береді.
3.2.2.14
Жойылған процедураларды шақыру
Жойылған процедураларды шақыру механизмінің басты идеялары болып
төмендегілер саналады:
(а) Көптеген жағдайларда процестерді өзара әсерлерінің көркем бейнеленген
асимметриялы сипаттамасы бар. Бір процес басқа процестен әлдебір қызметті сұрайды,
және бұл қызмет орындалмағанша орындауды жалғастырмайды. (процес – клиент сәйкес
нәтиже алмағанша )
(б) Тасымалдау қасиеті түрлі компьютерден құралатын операциялық біртекті желілерді
құруға мүмкіндік береді, бірақ түрлі архитектурадағы компьютердегі мәліметтердің түрлі
көрінісі қиындық тудырады. Сондықтан, RPC-нің екінші идеясы түрлі компьютерде
орындалған процестердің өзара әсерлесуі кезінде мәліметтердің форматын өзгертуді
автоматтандыру болып табылады.
3.3
Жүйенің құрылымы
UNIX жүйесі 4 басты компоненттерден тұрады:
өзек
shell
commands
file system
3.3.1
UNIX ОЖ өзегі
UNIX ОЖ –нің дәстүрлі өзегінің машиналы –тәуелді бөлігі келесі компоненттерден
тұрады:
Төмендегі деңгейде жүйенің айналымы және инициализациясы
Ішкі және сыртқы үзілулерді алғашқы өңдеу
Жадыны басқару ( виртуальды жадының аппаратты тірегінің ерекшеліктеріне
қатысты бөлігі)
Тұтынушы мен өзек режимдері арасындағы контексті процестердің ауысуы
Құрылғылардың
драйверлерінің
бөлігінің
тұтас
платформасының
ерекшеліктерімен байланысты
UNIX ОЖ өзегінің басты функцияларына мыналар жатады:
Жүйенің инициализациясы
Процестер мен тізбектерді басқару
Жадыны басқару
Файлды басқару
Коммуникациялық құрылғылар
Программалық интерфейс
3.3.1.1
Өзекпен өзара әсерлесу принципі
UNIX жүйесінде тұтынушылық процестердің орындалуы 2 дәрежеде жүзеге
асырылады: тұтынушы дәрежесінде және өзек дәрежесінде.
3.3.2
Shell
Shell- операциялық жүйемен байланыс жасауға мүмкіндік беретін программа.
3.3.3. Командалар
Программа- компьютерге арналған инструкциялар жиынтығы. Алдын- ала
жарияланусыз компьютермен орындалатын программалар орындаушы программалар
немесе командалар деп аталады.
3.3.3.1 Командалар не атқарады?
UNIX жүйесінің сыртқы орта қызметі бойынша категорияларға жіктелген
программалар мен аспапты жүйе құрылғыларын құрады. Бұл функциялар:
1 . программалық қоршау
2. текстерді өңдеу
3. ақпараттар ұйымы
4. қызмет етуші программалар
5. электроды байланыс
16.3.3.3
Командаларды қалай орындау қажет?
Сіздің сұранысыңыз UNIX жүйесіне түсінікті болу үшін сіз әрбір команданы
түзетілген форматта немесе синтаксистік командалық қатарда енгізуіңіз қажет.
СДЖ арналған бақылау жұмыстары:
1)
UNIX ОЖ-нің басты артықшылықтары қандай?
Достарыңызбен бөлісу: |