Операциялык жүйелер курсы



Жұмыс түрі:  Материал
Тегін:  Антиплагиат
Көлемі: 41 бет
Таңдаулыға:   
Мазмұны
Preface ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... 6
Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... 7
1. Операциялық жүйе
концепциясы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .8
1.1. Компьютерлік
жұйе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... 8
1.2. Кеңейтілген машина есебіндегі операциялык,
жүйелер ... ... ... ... ... ..8
1.3. Менеджер ресурсындағы операциялық
жүйелер ... ... ... ... ... ... ... ... 9
2. Операциялық жүйелер
тарихы ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... .9
2.1. Мэйнфрейм операциялық жүйелер; қарапайым
жүйелер ... ... ... ... ...12
2.2. Серверлік операциялық
жүйелер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..13
2.3. Көппроцессорлы операциялық
жүйелер ... ... ... ... ... ... ... ... ... ... ... ..13
2.4. Нақты уақыттың операциялык
жүйесі ... ... ... ... ... ... ... . ... ... ... ... ... 14
2.5. Дербес компьютерлердің операциялық
жүйелері ... ... ... ... ... ... ... ... 14
3. Операциялық жүйенің негізгі
функциялары ... ... ... ... ... ... ... ... ... ... ...15
3.1. Компьютсрді аппаратты қамтамасыздандыруға
шолу ... ... ... ... ... ... 15
3.2. Операциялықжүйе
сервисі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .1
6
3.3. Жүйелік
шақырулар ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... 17
3.3.1. Процесті басқаруға арналған жүйелік
шакырулар ... ... ... ... ... ... .. .17
3.3.2. Файлдарды басқаруға арналған жүйелік
шақырулар ... ... ... ... ... ...17
3.3.3. Құрылғыларды басқаруға арналған жүйелік
шақырулар ... ... ... ... 17
3.3.4. Ақпаратты
қызметету ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ..17
3.3.5.
Байланыс ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ..18
3.4. Жүйелік
программалар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ..18
3.4.1. Командалық интерпретатор немесе
қабықша ... ... ... ... ... ... ... ... ...19
3.5. Операциялық жүйелер
структурасы ... ... ... ... ... ... ... ... ... ... ... ... ... .19
3.5.1. Монолитті
жүйесі ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ..19
3.5.2. Көпдеңгейлі
жүйелер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... .20
3.5.3. Виртуальды
машиналар ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
...20
3.5.4.
Экзоядро ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ...20
3.5.5. Клиент-сервер
моделі ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... 20
4.
Процестер ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... 21
4.1. Процес
концепциясы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... .21
4.2. Процесс
моделі ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... .21
4.3. Процесті
кұру ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ..22
4.4. Процесті
аяктау ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... 22
4.5. Процесс
реализациясы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ...24
5.
Ағындар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... .24
5.1.
Ағынмоделі ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ..24
5.2. Көпағынды
модель ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ...26
5.3. Процессор аралық
эрекеттесу ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ...26
5.3.1. Жарысу
күйі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... .26
5.3.2. Семафорлар жэне
мьютекстер ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... 27
5.3.3.
Мониторлар ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... 27
5.3.4.
Барьерлер ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ..28
5.4.
Жоспарлау ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... 28
6. Өзара
тосқауылдау ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ...28
6.1. Өзара тосқауылдау
шарттары ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..28
6.2. Страусты
алгоритмі ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... .29
6.3. Өзара тосқауылдауды табу жэне
болдырмау ... ... ... ... ... ... .. ... ... ... .29
6.4. Өзара тоскауылдауды
болдырмау ... ... ... ... ... ... .. ... ... ... ... ... ... ... ...29
6.5. Өзара тосқауылдауды
тоқтату ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 29
6.6. Ілеспе
сұрақтар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ...29
7. Жадты
басқару ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ..29
7.1. Негізгі жадтық
басқару ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... .30
7.2.
Жалғау ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ...30
7.2.1. Жадты битті массивтермен
басқару ... ... ... ... ... ... ... ... ... ... ... ... ..31
7.2.2. Байланысқан тізімдер көмегімен жадылық
басқару ... ... ... ... ... ... .31
7.3. Вирутальды
жад ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... .31
7.3.1. Жадты беттік
ұйымдастыру ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .3
2
7.4. Беттерді орналастыру
алгоритмі ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... .32
7.5.
Сегменттеу ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... 33
8. Файлдық
жұйелер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... .33
8.1.Файлдар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ..3 3
8.1.1. Файлдар
құрылымы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... .33
8.1.2. Файлдар
атрибуты ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ...34
8.1.3. Операциялық
файлдар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
...35
8.1.4. Файлдар
реализациясы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... 35
8.2.
Каталогтар ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... .36
8.2.1. Бірдеңгейлі каталогты
жұйелер ... ... ... ... ... ... ... ... ... ... ... ... ... ... .36
8.2.2. Екі деңгейлі каталогтар
жүйесі ... ... ... ... ... ... ... . ... ... ... ... ... ... ... .36
8.2.3. Иерархиялық каталогтық
жүйелер ... ... ... ... ... ... ... ... ... ... ... ... ... .36
8.3. Файлдық жүйелер құрылымы жэне
мысалдары ... ... ... ... ... ... .. ... ... 37
9. Енгізу-
шығару ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ..38
9.1. Енгізу-шығару аппаратурасының
принциптері ... ... ... ... ... ... ... ... ...38
9.1.1. Енгізу-шығару
құрылғылары ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..38
9.1.2. Қүрылғының контроллерлері
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .38
9.1.3. Жадтың адресті кеңістігінде көрсетілген енгізу-
шығару ... ... ... ... 39
9.2. Енгізу-шығаруды программалық қамтамасыз етудің
прициптері мен
есептері ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ...40
9.2.1. Программалық енгізу-
шығару ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ...41
9.2.2. Үзіліммен басқарылатын енгізу-
шығару ... ... ... ... ... ... ... . ... ... ... ..41
9.2.3. DMA-ны қолдану арқылы енгізу-
шығару ... ... ... ... ... ... ... . ... ... ... .41
9.3. Енгізу-шығарудың программалық
деңгейі ... ... ... ... ... ... ... ... ... ... ..42
9.3.1. Үзілімдерді
өңдеушілер ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... 42
9.3.2. Құрылғы
драйверлері ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... .42
9.3.3. Енгізу-шығаруды кұрылғыдан тэуелсіз
программалык қамтамасыз
ету ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .44
9.3.4. Құрылғы драйверлері үшін біртекті
интерфейс ... ... ... ... ... ... .. ... .44
9.3.5.
Буферлеу ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ..44
9.3.6. Жеке қүрылғыларды имедену жэне
босату ... ... ... ... ... ... ... . ... ... .45
9.3.7. Қүрылғыдан тэуелсіз блок
өлшемі ... ... ... ... ... ... ... . ... ... ... ... ... ...45
9.4. Пайдаланушы кеңістігіндегі енгізу-шығаруды
программалық қамтамасыз
ету ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .45
9.5.
Дискілер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ..46
9.5.1. Дискілердің аппаратты
бөлігі ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... 46
9.5.2. Дискілерді
форматтау ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ..48
9.5.3. Тақырыпты жылжытуды жоспарлаудың
алгоритмі ... ... ... ... ... ... .4 9
9.5.4. Қателерді
өңдеу ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... 49
9.5.5. Түракты есте сактау
құрылғысы ... ... ... ... ... ... .. ... ... ... ... ... ... ... ..50
9.6.
Таймерлер ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... 50
9.6.1. Таймерлерді программалармен қамтамасыз
ету ... ... ... ... ... ... ... ...5 0
9.6.2. Жұмсақ
таймерлер ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... 51
9.7. Алфавитті-сандық
терминалдар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .51
9.7.1. RS-232 интерфейстік терминалдардың техникалық қү-
ралдары ... ..51
9.7.2. Енгізуді программалық қамтамасыз
ету ... ... ... ... ... ... ... ... ... ... ... 51
9.7.3. Шығаруды программалык қамтамасыз
ету ... ... ... ... ... ... ... ... ... ...52
9.8. Пайдаланушының графикалық
интерфейсі ... ... ... ... ... ... . ... ... ... ... 52
9.8.1. Дербес компьютерлердің дисгаіей, тышқан, клавиатураларын
аппаратты камтамасыз ету ... ... ... ... ... ... ... ... ... ... ... .52
9.8.2. Енгізуді программалык
жасау ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ..53
9.8.3. Windows үшін шығаруды программалык қамтамасыз
ету ... ... ... ...53
9.9. Желілік
терминалдар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... .54
9.9.1. X Windows
жүйесі ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... .54
9.10. Энергиякажеттіліктің режимін
басқару ... ... ... ... ... ... ... ... ... ... ... .54
9.10.1. Аппаратты
аспект ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... 55
9.10.2. Операциялық жүйенің
аспектісі ... ... ... ... ... ... .. ... ... ... ... ... ... ... .55
Қорытынды ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... .57
Әдебиеттер ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... 58
Preface
Operating systems are one of the more challenging fields of computing.
There are many reasons for that. From the user point of view, they provide
the interface and the basic set of concepts to work with a computer, making
it a useful tool for running many different kinds of applications. Using
computers requires to minimally understand operating system abstractions
like "files", "processes", "drivers" and so on. As the use of computers
spread to all aspects of modern life, all these concepts are more and more
present in the work, the leisure and, in general, the daily life of a
growing number of people. The impact of operating systems on economy is
also patent by the fact that they represent the major software business in
the world. But, at the same time, they also represent the largest free
software project: Linux, where thousands of students and researchers all
over the world collaborate in the construction of a powerful operating
system.
Operating systems play also a central role in computer education. They are
considered to be a core subject in the computer science curricula of all
universities and in the curricula recommendations of all prestigious
research and professional associations, like FEEE or ACM. The reason is
that operating systems provide a whole understanding of the computer
functioning, both hardware and software. Operating systems could be
considered in this way as the "art" of managing hardware resources and
creating an idealised (abstract) view of the same so as to facilitate users
their use and also sharing those resources with other users. Operating
systems are also in the origin of new disciplines of computing. This way
the book by F. P. Brooks "The mythical man month. Essays on software
engineering" describing their experiences in the design of the OS360
operating system could be considered the birth of "software engineering" as
a discipline. Operating systems are also in the origin of "concurrent
programming" History of operating systems starts during the sixties with
the design of batch systems and later with time sharing systems, like the
OS360. The emphasis of operating systems on those days was put on resource
sharing, so as to maximize the utilization of the expensive hardware
resources. The computer was conceived as a sort of big "electrical factory"
supplying computing power to hundreds of terminals. With the appearance and
spreading of personal computers, the main interest of operating systems was
moved to user interfaces: the introduction of the windowing system and the
mouse was considered as a big revolution in the system conception. Finally,
networks have supposed the last important milestone in operating systems.
The network is actually one of the main resources managed by operating
systems. Properly managing it has allowed important facilities like sharing
resources across the network in distributed systems. Internet access is
nowadays one of the most attractive features of operating systems and web
browsers are one of the most important tools.
This course on operating systems mainly covers the main abstractions and
the theoretical background of operating systems. For a whole understanding
of operating systems it would be highly recommended to complement this
course with a second course, more focused on user interfaces, and some
course on network programming.
Professor, Dr. Joan Vila

Kipicne
Қоғамдағы білім беру жуйесінің маңызды максаты болып ақпаратты-
технологиялар аймағындағы білім беру саналады. Информатикалык білім беру
облысындағы практикалық жетістіктер, яғни студенттерді, оқушыларды болашақ
жүмыс орнына дайындау, қажетті білім беру, өкінішке орай қазіргі кезде
компьютерлік технологиялар даму тенденциясынан неғұ-рлым артта қалуда.
Қазіргі таңда компьютерлік технологиялар түрақты шапшаң өзгеруін ескеретін
болсақ, жарты жыл ішінде ақпараттың санының екі есе ұлгаюы білім беру,
информатика аймағындағы маңызды саланың тиімді әдістермен оқытуын талап
етеді. Тек осы жағдайда ғана жаппай тиімді қолданылатын ақпараттық
технологиялар мен жаңа пайда болған технологиялық жабдыктардың арасындағы
айырмашылық қысқара түседі.
Бағдарламаларды өңцеу, олардың таралуы компьютерлердің барлық
құрылғыларының дүрыс пайдалануы - өте күрделі процесс.
Компьютерлер операциялық жұйе деп аталатын бағдарламалық қамтамасыз ету
деңгейінде жабдыкталған. Операциялык жүйелер жэй интерфейс пайдаланылған
бағдарламаларды камтамасыз етеді жэне барлық құрылғыларды басқару жүмысын
атқарады. Операциялық жүйелер компьютердің аппаратты жабдықтарымен
қолданылатындар арасындағы интерфейс есебінде сипатталуы мүмкін. Интрефейс
негізінде көп жағдайда екі немесе оданда көп қабаттардан тұратын аппаратты
жабдыктар жатады. Ең төменгі деңгей қүрамында интегралды схемалар чиптері
бар катодты түтік және баскада да физикалык құрылғылардан тұратын физикалық
қүрылғының құрамында болады.
Компыотерді қолданылатын кепшілік операциялық жүйелер аумагында аздаған
білімге ие. Операциялық жүйенің базалык функциясы - бүл ресурстарындағыдай
операциялық жүйелер қозғалысы жэне кеңейтілген машина есебіндегі
операциялық жүйелер қозғалысы.
Осы Операциялық жүйелер курсы компьютерді қолданушыларға қажетті білім
алу жэне профессиональды үйренуге көмекші оқу құралы ретінде үсынылған.
Операциялық жүйе концепциясы
1.1. Компьютерлік жүйе
Компьютерлік жүйе процессорлардан, оперативті жадыдан, дискілерден,
клавиатурадан, монитордан, желілік интерфейстен және басқа да кү-
рылғылардан түрады. Барлық кұрылғыларды басқару үшін компьютерлерді тиімді
жэне оіггимальды қолдану мақсатывда операциялъщ жүйе деп аталатын арнайы
программамен қамтамасыз етіледі.
1.1-сурет.Операциялық жүйенің жалпы компьютерлік структурасьшда
орналасуы
Операциялық жүйе юдэамына аппаратпен тікелей қатынас кажеттілігінен
тэуелсіздендіретін программалық қамтамасыздандыру деңгейінен тңзады.
Операциялык жүйе барлык тізімде көрсетілген қүрылғыларды басқаруға жауап
береді және аппаратпен жұмыс жасауға арналған қарапайым интерфейс
қолданушыларды қамтамасыз етеді. Операциялық жүйе әртүрлі қолданушыларға
арналған әртүрлі колданбалы программалар арасьшдағы компьютердің аппаратты
жабдықтарын қолдануды басқарады және координаттайды.
Операциялық жүйені қолданудың ерекшеліктері:
• ыңғайлылығы;
• тиімділік.
1.2. Кенейтілген машина есебіндегі операциялык жүйе
Кецейтілген машина есебіндегі операцияльщ жүйе. Қолданушы көру нүктесінен
операциялық жүйе аппаратпен қамтамасыздандырылған, құралған нақты
компьютерде жұмыс жасауға қарағанда кеңейтілген
8
машина есебіндегі немесе виртуальды машинада программалау жэне жүмыс жасау
анағұрлым ыңғайлы және тиімді функцияларды атқарады. Жоғарыда айтылғандарды
қорытындылай келе, операциялык жүйе -жүйелік шацыру деп аталатын арнайы
командалар көмегімен қолданылатын программалардың біршама мүмкіндіктерін
беріп отыр. Шакыруларға төменде көбірек тоқталамыз.
1.3. Менеджер есебіндегі операциялық жүйе
Менеджер есебіндегі операцгіялық жүйе. Компьютермен (немесе желімен)
бірнеше қолданушылар жұмыс жасағанда және де қолданушылардың абсолютті
белгісіз ретсіз тәртіппен жұмыс жасауын ескерсек, жадыны, енгізу-шығару
құрылғысын, басқа да ресурстарды басқару жэне қорғау өте кажетті. Ақпаратты
жэне жабдықты қолданушылар арасындағы тарату. Операцияльіқ жүйенің негізгі
жұмысы төмендегідей сипатталады: кім қандай ресурс пайдаланып отыр;
қолданушылардан түскен эртүрлі программалардан түскен конфликті проблемасын
шешіп беру; ресурстарға сұраныс өндеу; есеп бойынша сүраныс коэффициенті.
Кеңістікте жэне уақыт бойынша анықтауды ресурстарда басқару өз есебіне
алады.
2. Операциялық жүйе тарихы
Операциялык жүйе дамуының тарихы үлкен уақыт периодын алып жатыр.
Операциялық жүйенің пайда болуы мен дамуы компьютерді конструкциялау
процесімен тарихи тығыз байланысты. Сондықтан, операциялық жүйелерді көз
алдымызға кандай болғанын елестету үшін компьютерлер кезеңдерін кезекпен
қарастырайық.
Есептеуіш техниканың негізін қалаушы, аналитикалық машинаны құраушы ағылшын
математигі Ч.Бэббидж {Charles Babbage, 1792-1871). Бұл таза механикалық
машина болды. Жоғары дэлдікті механизмдерді жэне көп детальды шығару
технологиясы ол кезде жеткіліксіз түрде дамығандықтан, әрине ол
аналитикалық машинаның операциялык жүйесі болмады.
Бірінші кезең (1945-55): электронды лампалар жэне коммутсщияпъщ панелъдер.
Бэббидждін, әрекетінен соң екінші дүниежүзілік соғысқа дейін цифрлік
компыотерлерді конструкциялау практикалық түрде ешқандай прогресс бермеді.
Орта есеппен 1940 жылы АКДІ пен Европадағы ғалымдар есептеуіш машинаны
қү.растыру бағытындағы жұмыстарын жалғастырды. Ең бірінші машиналарға
механикалық реле пайдаланды, кейінірек релені электронды лампаларға
ауыстырды. Әрбір машинаны бір команда өңдеп, құрап, программалап,
эксплуатациялап, жүмыс жағдайында ұстап отырды. Барлық программалау
абсолютгі машина тілінде орындалуы, машинаны негізгі функциялармен басқару
коммутациялық панельдер қосуының көмегімен іске асты. Ол кезде
программалау тілі (тіпті ассемблерде болған жоқ) белгісіз болды.
Операциялық жүйе де болған жоқ.
Екінші кезең (1955-65): транзисторлар жэне пакеттік өңдеу жүйесі. 50-ші
жылдардың ортасында транзисторларды ойлап табу жэне қолдану барлық
көріністі радикальды түрде өзгертті. Компьютерге деген сенім арта түсті,
машинаның ұзақ уақыт жұмыс жасап қана коймай, пайдалы функцияларды атқара
алатынына жоғары дәлдік, сенім пайда болды. Алғашқы рет жобалаушылар, қү-
раушылар, операторлар, программалаушылар арасындағы нақты айырмашылық пайда
болды. Енді мэйнфрейм деп аталатын машиналар перфокарталарда ЭЕМ-да ФОРТРАН
программалау тілі бойынша толық профессионалды операторлармен баскарылады.
Пакетті өңдеу жүйесі - жалпылама қабылданып шешілген шешім болды. Екінші
кезеңнің үлкен компьютерлері инженерлік есеп пен физикада жиі кездесетін
дербес туындылардағы дифференциалдық тевдеулерді шешу сияқты техникалық
және ғыльми есептеулер үшін негізінде пайдаланылды. Ассамблер және Фортран
тілінде программаланды, ал типтік операциялык жүйелер ретіыде FMS (Fortran
Monitor System) жэне IBSYS (IBM 7094 компьютеріне арналған ЛМкорпорациясы
қ^рған операциялық жүйе).

2.1-сурет. ҒМ типтік есебінің структурасы
Үшінші кезең (1965-1980): жтегралъды схемапар мен көпесептегіш. 60-шы
жылдардың басында IBM фирмасы барлық проблемаларды бірден шешуге тырысты,
сөйтіп OS360 операциялық жүйелі 1BM360 программалық сәйкес маіпина
сериясын шығарды. Бұл машинаның ең үлкен жетістігі -көпесептік және таш бір
маңыздылығы - үшінші кезең операция жүйесі бос жады белігіне дискіден жаңа
тапсырманы енгізіп-шығару қабілетіне ие. Бұл техникалық эдіс жалғау деп
аталатын немесе spooling {Simultaneous Peripheral Operation On Line -
интерактивті режимдегі біріккен косалқы операция). Жауап күту уақытын
қысқарту үшін, уақыт бөлу режимінен
жүйелік өңдеу жұмысы басталады, оның біріншісі CTSS (Compatible Time
Sharing System - біріккен уақыт бөлу жүйесі). Жүздеген бірмезгілде
қолданушыларды қолдайтын операциялық жүйенің уақыт бөлу режиміндегі ең
белгілісі MULTICS (MULTiplexed Information and Computing Service
-мультиплексті ақпаратты және есептегіш қызмет) кезектегі операциялық
жүйелерге өз әсерін тигізді. MULTICS жүйесінің бірқолданушылық версиясы
бойынша кейінірек UNIX® операциялык жүйесі көптеген компанияларды жэне
үкімет басқару орталықтарында, академиялық әлемде танымал бола бастады. Кез
келген LWW-жүйесінде жұмыс жасай отырып, программа жасау мүмкіндігіне ие
болуы үшін IEEE электротехника, электроника инженерлер Институты POSIX деп
аталатын стандартты LWX-жүйесін өңдеп шығарды. POSIX, UNIX версиясына
қазір көп қолдау жасайды. Стандартгы POSIX жүйелік шақырудың минимальды
интерфейсін анықтайды. POSIX интерфейсін сэйкес UNIX жүйесімен қатар
көптеген операциялық жүйелерді қазір колдайды.
1987 жылы білім беру мақсатында UNIX жүйесін өзгертіп, кіші МШІХ, кейінірек
осы лүйе негізінде Linux жүйесі жасалады.
Төртітиікезең (1980 жылдан осы цазірге дейін): дербес компьютерлер.
Операциялық жүйелер эволюциясьшың келесі периоды Үлкен Интегралды
Схемалардың пайда болуымен байланысты (LSI, Large Scale Integration) -1
кв.см-де 1000 транзистордан тұратын кремнийлік микросхемалар.
1974 ж. Intel компаниясы бірінші универсиалды 8-разрядты орталык процессор
шығарды. Бүл процессорға операциялық жүйе қажет болды. Бұл алғашқы
жаңалықты таныту, сынау үшін СРМ деп аталатын дискілік операциялық жүйе
жасалды (Control Program for Microcomputers ~ микрокомпьютерлерді басқаруға
арналган программа). 80-ші жылдардың басывда IBM корпорациясы IBM PC
(Personal Computer - дербес компьютер) өвдеп шығарды. IBM РС-ке сэйкес DOS
(Disk Operating System - дискілік операцріялық жүйе), кейінірек MS-DOS
(MicroSoft Disk Operating System). Бірінші микрокомпьютерге арналған СРМ,
MS-DOS және де басқа операциялық жүйелері клавиатурадан командалар енгізу
арқылы ғана толыгымен негізделді. Сонан соң операциялық жүйе қызметі
өзгертілді. Қолданушының графикалық интерфейсі ойлап табылды. Графикалық
интерфейс (GUI, Graphical User Interface) қүрамындағы терезелер, белгілер,
әртүрлі менюлер жэне тышқандар. Apple графикалық интерфейсі арқылы
кұрылған. Microsoft корпорациясы Macintosh компаниясының жетістіктерінің
эсерінен MS-DOS қабылдағышын шығарды, Windows жүйесі өңделді. Windows
жүйесінің тұжырымы бойынша - Windows 95, Windows 98, Windows NT (NT
білдіреді New Technology - жаңа технология) Windows Me (Millennium edition
- мыңжылдық шыгарылымы).
Дербес компьютерлер элемінде Windows-тщ басты бәсекелесі UNIX жүйесі жэне
оның эртүрлі туындылары. UNIX жоғары өндірісті RISC процессорлы (RISC,
reduced instruction set computer - команда құрамы
қысқартылған компьютер) машиналарда, желілік серверлерде, жүмыс
станцияларына жэне жоғары модельді басқа да компьютерлерде ең жоғары жүйе
болып табылады. Pentium процессорлы компьютерлерде Windows альтернативті
танымал, студенггерге және де басқа әртүрлі колданушылар үшін Linux.
80-ші жылдьщ ортасында белгіленген опреациялық жүйелері және желілер аркылы
басқарылатын дербес компьютер желілері өсіп, дами бастады. Әрбір компьютер
локальды операциялык жүйе басқару нэтижесінде жұмыс жасайды және меншіктік
локальды қолданушыға ие. Желілік операциялық жүйені, бірпроцессорлы
операциялық жүйемен салыстырғанда өте көп айырмашылығы жоқ.
Белгілі бір анықталып белінген операциялық жүйе көптеген процессорлардан
қүралғанына қарамастан, қолданушы бір процессорлы жүйе арқылы көрсетіледі.
Белгілі бір анықталып бөлінген жүйелер, мысалы, бірнеше процессорды бір
мезгілде қолданбалы есептердің жиі өңделуіне жол береді, сондықтан
параллель түрде бөлінген оптимизация үшін күрделі жүктелу алгоритмы қажет.

2.2-сурет. Операциялық жүйелер эволюциясы
2.1. Мэйнфремдік операциялық жүйелер; қарапайым жүйелер
Негізгі ерешеліктері:
• тікелей бірлесіп жүмыс жасайтын
пайдаланушы - компьютердің жоқтығы;
• бірдей жұмыстардың көп
мөлшерінің бірігуі;
• басқару жұмысының автоматты
кезекпен баскарылуы;
• операциялық жүйелер
функциялары.
Резидентті монитор:
• үзілістердің сілтемелері;
• жұмыстың кезекпен орындалуы;
• кү-рылғылармен басқару;
• басқару тілінің аудармашысы.
Орталық процессорды төмен дэрежеде қолдану нәтюкесінде енгізу-шығару
уакытының үлкен мэнінен карапайьш жүйелердің проблемалары туындайды.
Шешім әдістері:
• жалғауларды пайдалану;
• мультипрограммалау.
2.2. Серверлік оисрациялык жүйелер
Серверлік операциялық жүйелер төменгі деңгейде орналасады. Бүл жүйелер
серверлерде жұмыс жасайды, пайдаланушылардың аппараттық жэне программалық
ресурстарын өзара бөлуіне жол береді, көптеген пайдаланушыларға бірмезгілде
кызмет жасайды. Серверлер Интернетпен немесе файлдармен, баспа
қу_рылғыларымен жүмыс жасау мүмкіндігін туғызады. Интернет-провайдерлері
көптеген клиенттердің бірмезгілде желіге кіруін камтамасыз ету үшін бірнеше
серверлер жұмысын эдетте шығарады. Серверлерде web-сайт беттері жэне
енгізілген колданушы сұранысын өндейді. UNIX ж-әне Windows 2000 типті
серверлік операциялық жүйе болып табылады. Енді бүл мақсатта Linux
операциялық жүйелерде де қолданьша бастайды.
2.3. Көппроцессорлы операциялык жүйе
Көппроцессорлы операциялық жүйе ерекшеліктері:
• негізгі жадты тарату;
• орталық процессорды кезекпен
қолдану.

2.3-сурет. Көпроцессорлы жүйенің структурасы
Операциялық жуйелерде жаңа функциялар пайда болады, олерациялык жүйе ұлкен
өлшемге ие:
• жұмысты жоспарлау;
• орталық процессор жадысын
басқаруды жоспарлау.
2.4. Нақты уақыттың операциялық жүйесі
Операциялық жүйенің негізгі функциялары:
• процессорларды басқару;
• жадты басқару;
• файлдарды басқару;
• қорғау.
Накты уақыт жүйесін өңдеудің жаңа тенденциялары:
• уақытқа шектеулік;
• нақты уақыт режиміндегі
критикалық жүйе.
2.5. Дербес компьютерлердің операциялық жүйелері
Негізгі жұмысы - шапшаң қозғалыстың жэне ұтымды пайдаланудың
эксплуатациялық максималдығы:
• типтік жүйелер (Windows, Linux,
MacOS);
• тышқан мен терезе жүйесінде
интерфейс негізделеді:
• ағаш түріндегі файлдар жүйесі
(Unix);
• мультиесеп мүмкіндігі;
• мультимедиалык мүмкіндіктер;
• желіге рүдсат;
• қорғау механизмі.
Дербес компьютерлердің операциялық жүйесін өңдеудің жаңаша тенденциялары:
1. параллельді жүйелер;
2. мультипроцессорлық жүйелер. артықшылығы:
• есептеуіштің шапшаңдығы мен келемінің
ұлғаюы;
• сенімділігі.
3. Бірнеше физикалық процессорлар
арасында есептеуді бөлуге арналған жүйелер.
артықшылығы:
• ресурстарды бөлу;
• есептеуіштің шапшаң қозғалысының
үлғаюы;
• сенімділік;
• байланыс.
4. Желілік операциялық жүйе.
3. Операциялық жүйенің негізгі функциялары
Операциялык жүйе компьютер жабдығымен тығыз байланысты. Аппаратты
қамтамасыз ету операциялық жүйенің командалық қүрамына жэне ресурстарды
басқаруға әсер етеді.
3.1. Компьютерді аппаратты қамтамасыздандыруға шолу
Операциялық жүйе үзу механизмі. Үзу менеджерінің қызметі:
• инструкция бағытын үнемдеу;
• жаңа үзу жетістіктерінің
дисквалифициясы;
• басқа әрекетгер.
Пайдаланушыньщ сүранысы немесе қате шақыруды үзу кезінде кедергілер пайда
болуы мүмкін.
Операцияның екі багыты.
Орталық процессор жұмысының бағыты:
• пайдаланушы бағыты: шектелген
көмекші комиссия;
• супервизор бағыты (ядро,
монитор немесе жүйе).

3.1 -сурет. Екі бағыттағы жүйе схемасы
Айрыкша щсқау:
• қорғаудың үш типті артықшыльщтарымен байланысты нұсқау:
A) ЕнгізуШығаруды қорғау;
B) жадты қорғау;
C) процессорды қорғау.

3.2. Операциялық жүйе сервисі
1. Кеңейтілген машина есебіндегі операциялық жүйе:
• программаны орындау;
• енгізу-шығару козғалысы;
• файлдар жүйесін қолдану;
• байланыс;
• қатенің табылуы.
2. Менеджер ресурс есебіндегі операциялық жүйе:
• есеп;
• қорғау.
Мысал ретінде Unix жүйесін қарастырайық.

3.3. Жүйелік шақырулар
Қолданушы программалары жэне операциялык жүйе арасындағы интерфейс жүйелік
шақьфулар құрамын анықтайды. Жүйелік шақырулар операциялык жүйелерден
айырмашылығы - функциялау негізінде бір концепция.
Жүйелік шакырулардың эртүрлі типтері:
• процессорды басқаруға арналған
жүйелік шақыру;
• файлдарды басқаруға арналған
жүйелік шакыру;
• қүрылғыларды басқаруға арналған
жүйелік шақыру;
• ақпаратты қызмет ету;
• байланыс.
3.3.1. Процесті басқаруға арналған жүйелік шақырулар
Негізгі орындалатын функциялар:
• аяқтау, жүмыстың апаттық
тоқтауы;
• тиеу, орындалу;
• процесті құру, процестер
атрибутын орнықтыру;
• уақыт шамасында күту;
• сигнал күту;
• жадты босату жэне орналастыру.
3.3.2. Файлды басқаруға арналған жүйелік шақырулар
Негізгі орындалатын функциялар:
• файлды құру, файлды өшіру;
• ашу, жабу;
• оку, басу, орналастыру;
• файл атрибутгарын алу, файл
белгілерін кұру.
3.3.3. Қү-рылғыларды баскаруға арналған жүйелік шақырулар
Негізгі орындалатын функциялар:
• қүрылғы сұрату, кздэылғы
шакыру;
• оқу, жазу, жылжыту;
• файл атрибуттарын алу, файл
белгілерін қүру;
• қүрылғыны логикалық қосу немесе
ажырату.
3.3.4. Ақпаратты кызмет ету
Негізгі орындалатын функциялар:
• уақыт пен датаны
алу және орнықтыру; **■—-~^.т^,^,^ ^^^^
• берілген жүйені
алу және орнықтыру; ,
• қүрылғы
белгісін немесе файлды, проце:ті алу;
• құрама
процестері, файлдар немесе белгі қүрылғылары. - ^ ,.
3.3.5. Байланыс
Негізгі орындалатын функциялар:
• қүру байланысты
өшіру;
• посылка жэне хабар
алу;
• тапсырыс
статусының ақпараты;
• қосымша немесе
алшақтатылған кұрылғылар бөлімі.

3.4. Жүйелік программалар
Жүйелік программа концепциясы. Жүйелік программалар операциялык жұйелерді
қамсыздандыру үшін қызмет жасайды, колданушьпшң процессі есебінде орындайды
жэне қоршаған ортаның ете тиімділігін камтамасыз етеді. Программалау
тілінде жазылған (мысалы, С тілі) программа үсынады.
Жүйелік программа функциялары:
• файлдарды манипуляциялау;
• күйі, жағдайы жайлы акпарат;
• файлдарды модификациялау;
• программалық тілдерді қолдану;
• программаның орындалуы жэне
көтерімділігі;
• байланыс.
3.4.1. Командалық интерпретатор немесе қабықша
Командалық интерпретатордың концепциясы. Компьютер интерпретаторы
операциялық жүйемен пайдаланушы арасындағы бірінші интерфейс командасын
орьшдайтын жэне анализ жасайтын, пайдаланушыға көрсетілген команданы оқитын
(көпретті командалары бар текст файлы) программаиы үсынады. Команда
интерпретаторы немесе қабықша терминалмен команда оқиды.
Пайдаланушы жүйеге енген кезде, кабықша түсіріледі. Қабықшаға арналған
стандарггы кіру-шығу құрылғысы - терминал болып табылады (монитор
клавиатурамен). Қабықша (shell) деп аталатын UNIX командалық
интерпретаторды карастырайық. Жүйелік шақырулардың қалай колдану
керектігінің жақсы мысалы ретінде қарастыруға болады. Сонымен қатар,
қабықша пайдаланушы графикалық интерфейс қолданбаған жағдайда операциялық
жүйе жэне өз терминалында отырған пайдаланушы арасындағы негізгі
интерфейсті сипаттайды. Көптеген қабықшалар бар, мысалы; sh, csh, ksh және
bash. Бүлардын, барлығы дерлік алғашқы қабықшадан (sh) пайда болғандықтан,
төмендегі жазылған функцияларды қолдайды.
Командалык интерпретатор UNIX:
• UNIX қабықшасының программалануы;
• UNIX - пайдаланушы процесі есебінде
орьшдайтын аудармашы тапсырыстық - бағдарлама;
• мысалдар; sh, ksh, csh, ... Командалық
интерпретатор сипаттамалары:
• ішкі және сыртқы тапсырыстар;
• орындалуы;
• ағындармен басқару;
• қабыкша сценарийлары
3.5. Операциялык жүйе структурасы
Операциялық жүйені ішкі жағынан қарастырайық, операциялык жүйесінің 5 түрлі
структурасы:
• монолитті жүйе;
• көпдеңгейлі жүйе;
• виртуальды машиналар;
• экзоядро;
• клиент-сервер моделі.
3.5.1. Монолитті жүйе
Монолитті жүйе әрқайсысы кез келген әртүрлі процедураны шақыру мүмкіндігіне
ие жэне қатаң анықталған интерфейске ие процедуралар құрамы түрінде
жазылған.
1 Г\
Монолитті жүйенің қарапайым моделі: утилиттер, сервистік процедуралар,
басты процедура.
3.5.2. Көпдеңгейлі жуйелер
Көпдеңгейлі жүйелер иерархий деңгейі түрінде ұйымдастырылған. Мысал ретінде
THE (авторы Э.Дейкстра), 6 деңгейден тұрады: белгілі бір анықталып бөлінген
процессордан жэне көпесепті процессорға дейін.
3.5.3. Виртуальды машиналар
Виртуальды машина мониторы деп аталатын жүйенің негізгі бөлігі бір емес
бірнеше виртуальды машиналарды ұсынып, кепесептілікті қамтамасыз етеді және
жабдықтармен жұмыс жасайды.

3.5-сурет. Жүйе моделдері. а) накты машина; б) виртуалды машина.
3.5.4. Экзоядро
Операциялык жүйе - эрбір пайдаланушыны реалды компьютердің көшірмесімен,
бірақ көп ресурстармен қамтамасыз етеді. Төменгі деңгейде, ядро деңгейінде
виртуалды машиналар үшін ресурстар таралуын, олардьщ колданылуын тексеруді
жүзеге асыратын экзоядро программасы жұмыс істейді. Экзоядро схемасының
жетістігі сол, бейнелеусіз функционерлейді.
3.5.5. Клиент-сервер моделі
Қазіргі заманғы операциялық жүйелерде минималды микроядроны қалдыру аркылы
жоғары деңгейлерге кодтың тасымалдану жағына
тенденция қалыптасқан. Операцияға сұраныс алу арқылы пайдаланушы процесс
(клиент сұранысы) оны өңдейтін және жауап жіберетш серверлік сұранымға
сұраныс жібереді.
4. Процестер
Процесс - операциялық жүйелердің басты түсінігі. Командалар, регастрлер
жэне айнымалылар санағышының ағымды мэндерін коса орындалатын бағдарлама
процесс болып табылады. Әрбір процеспен қүрамында программаның өзі,
программаның деректері және стегі бар, оның адресті кеңістігі түсінігіне
байланысты.
4.1. Процесс концепциясы
Қазіргі заманғы компьютерлерде біруақыгга бірнеше әрекеттер орындалады:
дисктен оқу, мәтінді мониторға немесе принтерге шығару. Бұл кезде эрбір
уақыт моментінде бір процессор тек бір ғана программамен айналысады, бірак
секунд ішінде бірнеше программа орындалады. Операциялық жүйелерде бір
уавдітта орындалатын процестерді басқару үшін тізбектелген процестердің
концептуалды моделі вдэылған.

4.1-сурет. Бағдарламалар реализациясы 4.2. Процесс моделі
Қазіргі заманғы компьютерлерді программалық жасау, операциялық жүйені
қоскандағы жеке жағдайда, орындалатын программалар болып табылатын тізбекті
процестердің жинағы түрінде ұйымдастырылған. накты процессор процестен
процеске қайта қосылады, бұл қайта қосылу көпесептілік немесе
мулыпипрограммшау деп аталады.

4.2-сурет. Процестердің жүйелі орындалуы
Процестік модельдеу ұғымына:
1. жүйе процестері құрылымы;
2. процестерді жоспарлау;
3. Синхронизацияланған механизмдар байланысы, өзара
тосқауылдау өндеу шарттары кіреді.
4.3. Процесті қ^ру
Операциялық жүйедегі процестерді қү-ру жэне үзулер тәсіліне қажетті,
қажеттілік өлшемі.
Процес жасауын тудыратын төрт негізі:
• жүйелер инициализациясы;
• процесс құрудағы жүйелер сұранысының
орындалуы;
• жаңа процес қү_руына пайдаланушы
сұранысы;
• тапсырма дестесінде иницирлеу.
4.4. Процесті аяқтау
Жаңа процес келесі оқиғалардың біреуінің арқасында:
• қалыпты шығуы
(қасақана);
• нэтижесінде қате
шығуы (қасақана);
• нәтижесінде
жөнделмейтін қате шығуы (қасақана емес);
• басқа процеспен
жою (қасақана емес)
Процесс күш Программалар мысалы
Shell командасы
"Cat chapterl chapter2 chapters \ grep tree "
• бірінші процесс cat (үш файлдарды шығарады
жэне қосады);
• екінші grep барлық сызьщтарды тавдайды, tree
мазмұнды сөз.

4.3-сурет. Процестің күйі. 1. процесс кіру үшін қоршалады; 2. процесс басқа
жоспарлаушыны табу; 3. процесс жоспарлаушыны тандайды; 4. қолайлы кіру
тұрады
Процестердің эртүрлі күйінің мінездемесін былай көрсетеді:
• жаңа - процесс жасалады;
• орындалу - нұ-сқалардың орындалауы;
• күту - процесс болу үшін оқиғаны күту;
• даярлық - процессорға белгіленген болу үшін,
процесс күтеді;
• аяқтау - орындалған процесті аяқтау.

4.5. Процесс реализациясы
Процестердің типтік кестесі
Кесте4.1.
Процесті басқару Жадты басқару Файлды
баскару
• регистрлер
• командалардың Жаца сегмент Түпкі каталог
санауышы мэтіннің
• стек көрсеткіші керсеткішінде Жұмысшы
каталог
• процесс куйі Сегмент Файл
деректі
• приоритет көрсеткішінде дескрипторлар
ы
• параметрді Стек сегменті Пайдалаланушы
жоспарлау • ID көрсеткішінде идентификатор
өндеуі • түпкі лары Топтар
процесс • процесс идентификатор
тобы лары
• сигналдар
• процестің басты
уакыты
• орталық
процессордын
қолданған уақыты
• туынды процестің
процессорлық уақыты
• келесі апаттық
сигнал уакыты

5. Ағындар
Әдетте процеске адресті кеңістік жэне жеке басқарушы ағын сэйкес келеді,
факт жүзінде бүл процесті анықтайды. Дегенмен, кейде бірнеше
квазипараллельді басқарушы ағындармен бір адресті кеңістікте жұмыс істейтін
жағдайлар туындайды.
5.1. Ағын моделі
Процесті орывдаушы командалардың ағыны ретінде қарастыруға болады. Бір
процесте эртүрлі ағьшдар, эртүрлі процестер сияқты өте тэуелсіз емес.
Төменде ағындар моделі керсетілген.
Бір карастырған процесс моделі, екі тәуелсіз концепцияға: ресурстардың
топталынуы жеке бағдарламаньщ орындалуына негізделеді. Кейде болу пайдалы
және мұнда ағын түсінігі пайда болады.
Процесте программа мэтінін жэне деректерді, сондай-ақ басқа да ресурстарды
қамтитын адресті кеңістік бар.
Екінші жағынан, процесті командалар, регистрлер санауышы бар, орындалатын
командалар ағыны немесе жэй ғана ағын ретінде қарастыруға болады. Ағында
эрекетгердің орындалу тэртібін бақылайтын командалар санауышы, ағымды
айнымалылар сақталынатын регистрлар, процестің орындалу протоклын
(хаттамасын) қамтитын стек болады жэне
онда шақырылған, бірақ әлі кайтарылмаған әрбір процедураға жеке фрейм
жасалған. Ағын процестің ішінде орындалуы керек. Процестер ресурстарда
тоіггастыру үшін қолданылады, ал ағындар орталык процессорда кезекпен
орындалатын объектілер болып табылады. Ағындар концепциясы процесс моделіне
бір ортада жеткілікті дэрежеде тэуелсіз бірнеше программалар процесінің
біруақытта орындалу мүмкіндігін қосады. Бір процесте параллельді өтетін
бірнеше процестерге ұқсас. Бірінші жағдайда ағындар адресті кеңістікті,
файлдардың ашылуын және басқа ресурстарды бөледі. Екінші жағдайда процестер
физикалық жадпен, дисктер, принтерлермен жэне процестердің кейбір
қасиетгеріне ие, сондықтан оларды кейде қарапайымдандырылған процестер деп
атайды. Көпағындылық термині бірнеше агынның бір процесте қолданылуын
өрнектеу үшін пайдаланылады.

5.1-сурет (а) Жеке ағынмен үш процесті басқару; (б) Үш ағынмен бір процесті
баскару
Кесте5.1.
Процесс элементтері, Ағын элементтері, жеке
процесс ағындарымен бірге ағындар
қолданылады
Адресті кеңістікте Команда санаушысы
Глобальды өзгергіштер Регистрлер
Ашык файлдар Стек
туынды процесстер Күйі
Өнделмеген апаттык
сигналдар
Сигналдар және оны
өндеушілер
Ресурстардың ақпаратты
қолданылуы туралы

5.2. Көпағьшды модель
Процесстер көпағынды режимде, негізінен бір ағынды ережемен іске қосылады.
Бұл ағын жаңа ағындар жасай алады.

5.2-сурет. Көпағынды модель
5.3. Процессор аралық әрекеттесу
Процестер бір бірімен өзара жиі эрекеттеседі және мұнда процестердің езара
эрекетін, мүмкіндігінше үзіліс болдырмастан дұрыс үйымдастыру керек.
Процесс бірнеше басқа процестерді (туынды процестерді) жасай алады, ал бұл
процестерде өз кезегінде, туынды процестер туғызады, яғни процестер ағашы
пайда болады. Байланысқан процестер - бү_л кейбір міндеттерді орындау ұшін
біріккен процестер және оларға біріншісінен баскасына жиі деректер беріп
отыру қажет, сондай-ақ өзінің кызметін синхрондау керек. Осындай байланыс
процессор аралыц әрекеттесу деп аталады.
5.3.1. Жарысу куйі
Кейбір операциялык жүйелерде бірге жұмыс істейтін процестер деректердің
ортақ коймасын пайдалана алады. Бірнеше процестер біруақытга деректерді
санап немесе жазатын жағдайлар, жарысу күйі деп аталады.

5.4-сурет. Екі процесс бір уакытта бірге пайдаланылатын жадқа қатынауды
калайды
5.3.2. Семафорлар және мьютекстер
Синхронизация примитиві, семафор - мэні нөл болатын (активтеудің сақтаулы
сигналы жоқ жағдайда) немесе кейінге калдырылған активтеу сигналдарының
санына сэйкес келетін кейбір оң сандар бола алатын айнымалылардың жаңа
типі, dow және up екі операция семафора мэнін төмендетеді жэне ұлғайтады.
Мьютекс - семафораның қарапайым түрдегі нүхқасы, бұғатталған немесе
бұғатталмаған күйде бола алатьш айнымалы жэне ол бірге пайдаланылатын
ресурстарға қатынауды өзара болдырмауды басқарады.
5.3.3. Мониторлар
Монитор - ерекше модулые немесе дестеге біріктірлген процедуралар, айцымалы
және басқа да кұрылымдардың жиыны.
monitor example integer i;
condition c;
procedure producer^);
end;
procedure consumer*);
end;
• end monitor:
5.3.4. Барьерлер
Барлық процестер әзірше бүған дайын емес кезде, процесс келесі фазаға өте
алмайтын жағдайдағы процестер тобына арналаған синхрондау механизмдері.
Мұнда эрбір фазаның соңына барьер қою арқылы жетуге болады.
5.4. Жоспарлау
Компыотердің көпесепті жұмысы кезінде, процессорға бір уақытта қатьшауға
тырысатын бірнеше процесс болуы мүмкін. Егер бір процессорге қатынау болса,
процессорлар арасында таңдау болу қажет, бұл жоспарлаушының негізгі
функциясы, ал колданылған алгоритмдер -жоспарлау алгоритмі болып табылады.
Бул кезде
• жоспарлау қажет
болғанда процестің бет алысына;
• жоспарлау
алгоритмдерінің категорияларына;
• жоспарлау
алгоритмдерінің міндеттеріне;
• деректерді
дестелі өңдеу жүйесінде жоспарлауға көңіл аудару керек.
6. Өзара тосқауылдау
Процесс қолданбалы есептерді орындау кезінде бір ғана емес, бірнеше
ресурсқа қатынауға мэжбүр болады. Екі немесе одан да көп процестер
эрекеттескен кезде, олар сыртқы көмексіз шығуға мүмкін болмайтын, патолы
(патовые) жағдайға түседі. Мұндай жағдай тұйыққа тірелу жағдайы немесе
өзара тосцауылдау деп аталады.
Компьютерлік процестер осыған ұқсас, ары қарай қозғала алмайтын жағдайға да
тап болады. Көз алдыңызға магнитті лентада жинақтаушысы жэне компакт-диск
жазуга арналған қондырғысы бар компьютерді елестетіңіз (CD-recorder). Енді
екі процестің эрқайсысы деректерді лентадан компакт-дискіге жазуы керек. 1-
ші процесс ленталы кондырғыны пайдалануға сұраныс жасайды жэне алады. Бұдан
кейін 1-ші процесс компакт-диск жазу қондырғысын сұрайды және 2-ші процесс
оны босатқанша күтеді. Ақыры 2-ші процесс ленталы қондырғыны сұрайды және
ол да біраз уақытқа тоқтап түрады, себебі магнитофонды 1-процесс колдануда.
Демек, бүл шығарға жол жок, типті түйыққа тірелу.
6.1. Өзара тосқауылдау шарттары
Өзара тосқауылдау жүзеге асу үшін келесі шарттар орындалу керек:
• өзара болдырмау
шарты. Әрбір ресурс осы моментте тек бір ғана процеске беріледі немесе
қатынайды;
• ұстап түру
немесе күту шарты. Бұрын алған ресурстарды үстап тұрған процестер жаңа
ресурстарды сұрай алады;
• ресурсты күштеп
істен шығаруды болдырмау шарты. Процестен бұрын алған ресурстарын күштеп
алып қоюға болмайды.
Ресурстарға ие процестер оларды өздері босатуға тиіс.
• Циклді күту
шарты. Әркайсысы ресурсқа қатынауды күтетін екі немесе одан да көп
процестердің дөңгелек тізбегі болу керек.
6.2. Страусты алгоритм
Страусты алгоритм - ең қарапайым эдіс болып табылады. Алгоритмнің мэні
операциялық жүйелердің, соның ішінде Windows және Unix үлкен белігі өзара
тосқауылдау мэселесін болдырмау болып табылады.
6.3. Өзара тосқауылдауды табу және болдырмау
Жүйе тұйыққа тірелу жағдайына түсуді болдырмауға тырыспайды. Жүйе жүйені
тұйыққа тірелу жағдайына дейінгі күйіне қайтарудың жолын іздейді.
6.4. Өзара тосқауылдауды болдырмау
• ресурстың
траекториясы;
• қауіпті жэне
кауіпсіз күйлер;
• ресурстың бір
түрі үшін Банкир алгоритмі;
• эртүрлі
ресурстар үшін Банкирдің алгоритмі.
6.5. Өзара тосқауылдауды токтату
• өзара болдырмау
шартының шабуылы;
• үстап тұру жэне
күту шартының шабуылы;
• ресурсты күштеп
істен шығаруды болдырмау шартының шабуылы;
• циклді күту
шартының шабуылы.
6.6. Ілеспе сұрақгар
• екі фазалық
тосқауылдау;
• ресурссыз
тұйыққа тірелу;
• ашығу
7. Жадты басқару
Компьютерлерде өте жылдам бүркеме-жад, орташа жылдамдығы ондаған мегабайт
болатын оперативті жад; дискідегі ондаған немесе жүздеген гигабайт баяу
жадтан тұратын иерархиясы болады. Операциялық жүйе жріысының мэні жад
блогын калай қолдануды координациялау больга табылады. Жад иерархиясын
басқаратын операциялык жүйе бөлігін жад менеджері деп атайды, Жад
менеджерінің функциялары жадтың қандай бөлігі пайдаланылатынын қай бөлігін
пайдаланылмайтынын,
процестер арасында жадтың таралуын анықтау болып табылады. Жад менеджері,
оперативті жад барлык процестерді баскаруда өте кішкентай болған жағдайда,
оперативті жад пен дискі арасындағы жалғауларды басқарады.
7.1, Негізгі жадтық басқару
• дискіге
жалғанбайтын біресепті жүйе;
• бекітілген
адресті көпесептілік;
• көпесептілікті
моделдеу;
• адрестерді
баптау және қорғау;
• қосымша жадты
жалғау (подкачка).
Жадты басқарудың ең қарапайым мүмкін схемасы бағдарлама мен операциялық
жүйе арасындагы жадты бірге қолдана отырьга, бір уақытта тек бір
программаны орындау болып табылады. Бүл тақырыптың үш түрлілігі суретте
көрсетілген.

7.1-суре. Дискіге жшіғамайтын біресептілік жүйе 7.2. Жалғау (Подкачка)
Жадты басқарудың екі ортақ тәсілі мүмкіндікті аппараттық қүралдардан
тэуелсіз қолданылады.
Жалғау (Подкачка) деп аталатын ең қарапайым стратегия, эрбір процесті толык
енгізуден, оньщ біраз уақыт орындалуынан және дискіге орналасуынан тұрады.
Жүйені жалғау операциясы, өсу үшін кеңістік екі процестің арасына таралған,
жад конфигурациясы көрсетілген 7.2-суретте келтірілген.
Суреттен біз, әрбір көрсетілген процесстің оның таралу жадының жоғары
жағында стегі бар жэне тек бағдарлама мэтінінен тыс деректер сегменті бар
жэне ол жоғарыға қарай үлғаяды. Олардың арасындағы жадты кез келген облыс
үшін қолдануга болады.

7.2-сурет. (а) Деректер аимағындағы өсуі үшш кеңістш; (б) Деректер аймағы
стегінің есуі үшін кеңістік беру
7.2.1. Жадты битті массивтермен баскару
Егер, жад динамикалык түрде бөлінсе, операциялық жүйе бұл процестерді
басқаруы тиіс. Жадты қолданудың екі эдісі бар: битті массивтер жэне бос
аймақтар тізімі. Битті массивтермен жұмыс істегенде жад бірнеше сөздерден
бірнеше килобайттар орналасатын модульдерге бөлінген. Битті массивте эрбір
бос блокқа нөлге тең бір бит сэйкес келеді, ал эрбір бос емес бит бірге
тең.
Битті массив бекітілген көлем жадында сездердің таралуынын қарапайым әдісі.
7.2.2. Байланысқан тізімдер көмегімен жадылық баскару
Жадылық бақылаудың басқаша эдісі процесс немесе екі процесс арасындағы
аймақ (участок) фрагмент болып табылатын, жадының таралган және бос
фрагменттерінің байланысқан тізіміне қызмет ету болып саналады.
Тізім адрестер бойынша сұрыпталған болсын, бул жолды сұрыптаудың жетістігі
бар, дискіде процесс аяқталғанда немесе көшірілгенде тізімдердің өзгеруі
қарапайым операция болады.
7.3. Вирутальды жад
Виртуальды жадтың негізгі идеясы - бағдарлама, деректер және стектің
біріктірілген өлшемі физикалық жадтың санынан асып кетуі мүмкін.
Операциялық жүйе бағдарламаның қазіргі кезде оперативті жадта қолданылатын
бөлігіне ғана сақтайды, қалған бөлігі дискіде орналасады. Виртульды жад
көпесепті жүйеде де жұмыс істей алады.

7.3-сурет. Виртуальды жэне физикалық жадтар 7.3.1. Жадты беттік ұйымдастыру

7.4-сурет. Жадты битгік ұйымдастыру
7.4. Беттерді орналастыру алгоритмі
Бетгік үзілім болған жагдайда, операциялық жуйе жаңадан енгізілетін бетке
орын беру үшін жадтан жойылатын бетті таңдау керек.
Беттерді алмастырудың мүмкін алгоритмдері:
• оптималды
алгоритм;
• соңғы уақьітта
пайдаланылмаған бет алгоритмі;
• бірінші
жеткенге - бірінші қызмет керсету;
• екінші эрекет;
• сағат
алгоритмі;
• бәрінен көп
пайдаланылмаған бет алгоритмі;
• WSClock
алгоритмі.
7.5. Сегменттеу
Сегменттелген жады деректер күрылымы, ұлғаятьш немесе қысқаратын басқарудың
карапайым түріне ие. Оның шешімі машинаны көптеген толық бір бірінен
тәуелсіз адресті кеңістіктер - сегменттермен қамтамасыз ету. Сегмент - қү-
рамында процедура, массив, стек немесе скалярлы айнымалылары бар логикалық
объект. Сегменттеу бірнеше процесстердің процедуралар мен деректерді бірге
қолданылуын жеңілдетеді. Ортақ мысал - бірге қатынау кітапханасы.
Сегменттеу жадыны беттік үйымдастырудан айтарлықтай ерекшеленеді: беттер
бекітілген өлшемге ие, ал сегменттерде ол жоқ.
8. Файлдық жүйелер
Ақпарат дискілерде және файлдар деп аталатын басқа да сыртқы тасымалданған
модульдерде сакталады.
Файлдық жүйе деп - файлдармен жүмыс істейтін операциялык жүйенің бөлігін
айтады. Файлдық жүйенің маңызды аспектісі, оның сыртқы көрсетілімі, файлдар
операциялары, файлдар қорғанышы жэне т.б. болып табылады.
8.1. Файлдар
Файлдар ақпаратты дискіде сақтау және оны санау (оқу) тәсілін көрсетеді.
Файлдардың аталуы маңызды сипаттама болып табылады. Файлды жасаған кезде
процесс файлға ат береді жэне ол процесс аяқталғаннан кейін сақталып
қалады. Файлға оның аты бойынша басқа да процестер катынай алады. Қазіргі
замангы барлық операциялық жүйелер ат (атау, есім) ретінде 8 символдан
түратын мэтінді жолды пайдалануды ұстанған. Көптеген файлдық жүйелер
файлдар атын 255 символға дейін қабылдай алады. UNIX-та. жазулық жэне
жолдық символдар ерекшеленеді, Windows-тын барлық нұсқасында жане MS-DOS-ia
жоқ. Көптеген операциялық жүйелерде файл аты нүктемен бөлінген
(ажыратылған) екі бөліктен тұрады.
Нүктеден кейінгі файл атының бөлігі файл кеңейтуі деп аталады жэне файл
типін көрсетеді. UNIX жүйесінде кеңейту өлшемі пайдаланушыдан тэуелді, ал
Windows жүйесі, керісінше, эрбір кеңейтуге белгілі бір мэн береді.
8.1.1. Файлдар құрылымы
Файлдар әртүрлі әдістермен қүрылуы мүмкін: файл - байтгардың тізбектелуі,
жазбалар мен бұтақтардың тізбектелуі болып табылады.
Бірінші жағдайда операциялық жүйе файлдың мазмұнына мән бермейді, ол тек
байтгарды көреді. Байттарға түлынушы деңгейінің программаларымен мэн
беріледі (UNIXжэне Windows жүйесінде). Файлдардың операциялық жүйесін
қарапайым байттардың тізбектелу ретінде карау максималды иілгіштікті
қамтамасыз етеді.
Файл кұрылымында жазбалардың тізбектелуі ретінде, оқу операциясының бір
жазбаны кайтаруы, ал жазу операциясының бір жазбаны қайта жазуы немесе
толықтыруы маңызды болып табылады.
Жазбалар бұтақ түрінде болатын деректер құрылымының үшінші вариантьшда
ұзындық бірдей болу міндетті емес. Әрбір жазбада өріс кілті болады және
бү_тақ өріс кілті болады, және бұтақ өріс кілті бойынша сүрыпталады, бұл
берілген кілтті тез (жылдам) іздеуді қамтамасыз етеді. Мұвда негізгі
файлдық операция келесі жазбаны алу емес, ал жазбаны кілттің көрсетілген
мәнімен алу болып саналады.
Қазіргі заманғы операциялық жүйелерде барлык файлдар автоматты түрде ерікті
қатынау файлдары болып табылады.
8.1.2. Файлдар атрибуты
О қорғаныш;
О пароль;
О жасаушы;
О иеленуші;
О тек оку жалауы;
О жасырын жалау;
О жүйелік жалау;
О архивті жалау;
О ASCIIекілік жалау;
О ерікті қатынау жалауы;
О уакытша жалау;
О тосқауылдау жалауы;
О жазбаньщ үлындығы;
О кілттіңорны;
О кілттің ұзындығы;
О жасау уақыты;
О соңғы қатынау уақыты;
О соңғы өзгерту уақыты;
О ағынды өлшем;
О максималды өлшем.
8.1.3. Операциялык файлдар
. Құру. Файл деректерсіз жасалған. Жүйелік сұрату жаңа файлдьщ пайда
болғаны туралы хабарлайды жәие оның кейбір белгілерін орнатуға жол береді.
2. Жою. Файл бұдан кейін кажет болмаған жағдайда дискідегі
орынды босату үшін жойылу керек.
3. Ашу. Файлды қолданар алдында, процесс оны ашуы керек.
4. Жабу. Барлық қатынаулар аяктайды, адрестердің белгілері
мен дискі керек болмаған жағдайда, орынды босату үшін файл жабылуы тиіс.
5. Оцу. Деректер
файлдан оқылады. Шақырушы деректердің қаншалықты керектігін анықтауы
керек және оларды қою үшін буферді қамтамасыз етуі тиіс.
6. Жазу. Деректердің файлға жазылуы.
7. Қосу. Жазуды шақырудың қысқартылған түрі
деректерді файлдың соңына қосады.
8. Іздеу. Бұл әдіс кездейсоқ файлға қатынау үшін деректерді
қайдан алу керектігін анықтайды.
9. Атрибуттарды алу. Процестер файлдар атрибуттарын жиі алуға
тиіс.
10. Атрибуттарды орнату. Белгілердің кейбіреулері
файл жасалып болғаннан кейін өзгере алады.
11. Қайта атау. Тұтынушыға файлдың атын өзгертуге тура
келеді.
8.1.4. Файлдар реализациясы

8.1 -сурет. Дискіде үздіксіз файлдардың орналасуы

8.2-сурет. Файлдардың орындалу схемасы
8.2. Каталогтар
Фзйлдық жұйелерде файлдар каталогтар арқылы ұйымдастырылады.
8.2.2. Бірдеңгейлі каталогты жүйелер
Бірдеңгейлі каталоггар жүйесі - барлық файлдар орналасқан бір ғана тұбірлі
каталог болған кездегі каталогтар жүйесінің қарапайьш турі.
Бір каталогты жүйенің кемшілігі, эртүрлі түлынушылар өздерінін, файлдары
үшін кездейсоқ түрде бірдей атауды қолдануы мүмкін.
8.2.3. Екі деңгейлі каталогтар жүйесі
Әрбір түлыиушыға бір каталог бөлінетін жағдайды карастырайық. Бұл кезде бір
тұтынушымен жасалған файлдар аты екінші тұтынушының файлдар атына сәйкес
келу кедергісі болмайды.
8.2.4. Иерархиялық каталогтық жүйелер
Екідеңгейлі иерархияның арқасында эртүрлі пайдаланушылар арасында файлдар
атауындағы кедергілер жойылады, бірак ол файлдардың көп санымен жұмыс
істейтін пайдаланушылар үшін, логикалық түрде файлдарды ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Жүйелік программалаудың негізгі ұғымдары мен анықтамалары жайлы
Жүйелік бағдарламалауды жіктеу
Отбасы және операциялық жүйелердің тарихы
Жүйелік бағдарлау
Автоматтандырылған ақпараттық жүйе (Глоссарий)
Жаратылыстану-математика бағытындағы информатикадан жүргізілетін қолданбалы курстар
Информатикaны оқытудa мультимедиялық технoлoгиялар негізінде қолданбалы бағдаpламаларды құру және пайдалану әдістeмeсі
Компьютерлерді программалық қамсыздандыру курсын оқыту әдістемесі
Жүйелік программалаудың негізгі ұғымдары мен анықтамалары
Информация, информатика
Пәндер