3.Көп тапсырманың жалпы принциптері Бұл тарауда біз заманауи операциялық жүйелер мен бағдарламалық қамтамасыз етудің негізгі элементіне айналған көп тапсырманы орындау принциптерін зерттейміз. Жүйелердің бірнеше тапсырмаларды қалай тиімді басқара алатынын және біркелкі және жауап беретін пайдаланушы тәжірибесін қамтамасыз ететінін қарастырайық.
3.1 Көп тапсырманы орындау негіздері:
Операциялық жүйе бір уақытта бірнеше тапсырманы қалай басқарады.
Уақытты бөлу принциптері.
3.2 Тапсырманы жоспарлау:
Процессор ресурстарына қандай тапсырмалар қол жеткізе алатынын анықтайтын жоспарлау алгоритмдері.
Тапсырма басымдықтары және ресурстарды әділ бөлу тұжырымдамасы.
3.3 Процессаралық байланыс:
Процесстер қалай байланысады және бірге жұмыс істейді.
Ортақ жад, сигналдар және хабарламалар сияқты байланыс механизмдері.
3.4 Қорғау және оқшаулау:
Процестер арасындағы қауіпсіздік пен оқшаулауды қамтамасыз ету.
Мекенжай кеңістігін бөлу және ресурстарға қол жеткізуді бақылау.
3.5 Ресурстарды виртуализациялау:
Ресурстарды виртуалдандыру виртуалды машиналарды жасауға және тапсырмаларды бір-бірінен оқшаулауға қалай мүмкіндік береді.
Виртуалды машиналарды басқарудағы гипервизорлардың рөлі.
Көптапсырманың жалпы принциптерін түсіну тиімдірек және жауап беретін жүйелерді құруға мүмкіндік береді. Келесі бөлімдерде біз бағдарламалық жасақтаманың архитектурасына көшеміз және операциялық жүйелер әлеміндегі ағымдағы тенденцияларды қарастырамыз.
3.1 Көп тапсырманы орындау негіздері:Көп тапсырма компьютерлік жүйе ресурстарын тиімді пайдалануды қамтамасыз ететін негізгі принцип болып табылады. Бұл бөлімде біз көп тапсырманың негіздерін және операциялық жүйелердің бірден бірнеше тапсырманы қалай басқаратынын қарастырамыз.
3.1.1 Көп тапсырма түсінігі:Көп тапсырма бір уақытта бір ғана нақты процессор болса да бірнеше тапсырманы орындауға мүмкіндік береді.Тапсырмалар арасында CPU уақытын уақытша бөлу.
3.1.2 Сәйкестік және бәсекелестік:Бір мезгілде: бірнеше тапсырманы бір уақытта тиімді орындау.Бәсеке: тапсырмалар ресурстар үшін бәсекелесетін жағдай.
3.1.3 Процестер мен ағындар:Процестер: Жеке адрестік кеңістігі бар оқшауланған бағдарламалар.Тақырыптар: процесс ішіндегі жеңіл орындау бірліктері.
3.1.4 Уақытты жоспарлау:Операциялық жүйе тапсырмалар арасында процессор уақытын тиімді бөледіЖоспарлау алгоритмдері берілген сәтте қандай тапсырмаларды орындау керектігін анықтайды.
3.1.5 Уақытты бөлу:Операциялық жүйе әрбір тапсырманы орындау үшін қысқа уақыт кезеңін береді.Тапсырмалар арасында контекстті ауыстыру.
3.2 Тапсырманы жоспарлау:Тапсырмаларды жоспарлау көп тапсырманың маңызды аспектісі болып табылады, ол тапсырмалардың орындалу ретін және CPU уақытын бөлуді анықтайды. Бұл бөлімде біз жоспарлау алгоритмдерін, олардың принциптерін және олардың жүйе өнімділігіне әсерін қарастырамыз.
3.2.1 Жоспарлау алгоритмдері:Басымдықты жоспарлау: Тапсырмалар олардың басымдылығы бойынша орындалады.Кезекті жоспарлау: Тапсырмалар қабылданған ретпен өңделеді.
3.2.2 Жоспарлау критерийлері:Жауап беру қабілеті: жүйенің сыртқы сұрауларға жауап беру уақыты.CPU тиімділігі: процессордың тоқтап қалу уақытын азайтады.
3.2.3 Нақты уақыттағы жоспарлау:Қатты жоспарлау: Тапсырмаларды орындау үшін кепілдік берілген максималды мерзім.Жұмсақ жоспарлау: басымдықтар, бірақ қатаң кепілдіктерсіз.
3.2.4 Әділдік және тосқауылдар:Әділдік: әрбір тапсырманың ресурстарға әділ қолжетімділігін қамтамасыз ету.Құлыпты өңдеу: ортақ ресурстарға қатынасу кезінде қайшылықтарды шешу.
3.2.5 Жоспарлауды оңтайландыру:Тапсырманың әрекетін болжау: Тапсырмалар тарихына негізделген бейімделгіш жоспарлау.Соқтығысуға қарсы әдістер: қақтығыстар мен тоқтап қалудың алдын алу.
Тапсырмаларды тиімді жоспарлау тұрақты және жауап беретін операциялық жүйелерді қамтамасыз етудің кілті болып табылады. Әртүрлі алгоритмдерді және олардың сипаттамаларын түсіну инженерлерге нақты пайдалану жағдайлары үшін дұрысын таңдауға көмектеседі.
3.3 Процессаралық байланыс:Процессаралық байланыс (IPC) көп тапсырмалы жүйелердегі әртүрлі тапсырмалар арасындағы байланысты ұйымдастыруда шешуші рөл атқарады. Бұл бөлімде біз процестердің бір-бірімен қалай байланысатынын және өзара әрекеттесетінін қарастырамыз.
3.3.1 Ортақ жад:Ортақ жад аймағы: бірнеше процестерге ортақ жад аймағы арқылы деректерді ортақ пайдалануға мүмкіндік береді.Мутекстер мен семафорлар: ортақ ресурстарға қол жеткізуді синхрондауды қамтамасыз етеді.
3.3.2 Хабарламалар:Процессаралық хабарламалар: процестер арасында құрылымдық мәліметтер алмасу.Хабарлама кезегі: хабарламаларды белгілі бір ретпен өңдеуді және өңдеуді қолдайды.
3.3.3 Сигналдар мен үзілістер:Сигналдар: Оқиғалар немесе қателер туралы процестерді хабардар ету механизмі.Үзілістер: ағымдағы тапсырманың орындалуын өзгертуге әкелетін сыртқы оқиғалар.
3.3.4 RPC және RMI:RPC (Remote Procedure Call): Қашықтағы процестер арасында байланысу үшін қашықтағы процедураларды шақыру.RMI (Remote Method Invocation): Бөлінген жүйелерде қолданылатын ұқсас механизм.
3.3.5 Файлдар мен ұялар арқылы өзара әрекеттесу:Файлдарды оқу және жазу: процестер ортақ файлдарды пайдалана отырып, деректермен алмасуы мүмкін.Розеткалар: әртүрлі түйіндердегі процестер арасындағы байланысқа арналған желілік механизм.
Процессаралық байланыс механизмдері жүйеде әртүрлі тапсырмалардың бірге жұмыс істеуіне икемділік пен мүмкіндік береді. Тиісті байланыс әдісін таңдау қолданбаның нақты талаптары мен сипаттамаларына байланысты.
3.4 Қорғау және оқшаулау:Процестер арасындағы қауіпсіздік пен оқшаулауды қамтамасыз ету көп тапсырмалы жүйелердің негізгі аспектісі болып табылады. Бұл бөлімде жүйелер деректер қауіпсіздігін қалай басқаратынын және қажетсіз өзара әрекеттесудің алдын алу үшін оқшаулауды қамтамасыз ететінін қарастырамыз.
3.4.1 Мекенжай кеңістігі бөлімі:Әрбір процестің өзінің бірегей мекенжай кеңістігі бар.Басқа процестердің жадқа рұқсатсыз кіруінен қорғау.
3.4.2 Құқықтар мен артықшылықтар:Құқықтар мен артықшылықтарды пайдаланып ресурстарға қол жеткізуді бақылау.Артықшылықтар процесс қандай операцияларды орындай алатынын анықтайды.
3.4.3 Құлыптау және синхрондау механизмдері:Бірнеше процестердің ортақ ресурстарға бір уақытта қатынасуын болдырмау үшін құлыптарды пайдаланыңыз.Тапсырманы орындауды үйлестіру және қақтығыстарды болдырмау үшін синхрондау.
3.4.4 Қателер мен ерекшеліктерді басқару:Рұқсат етілмеген әрекеттерді болдырмау үшін қателер мен ерекше жағдайларды өңдеңіз.Ақауларды анықтау және қалпына келтіру механизмдері.
3.4.5 Виртуализация және тапсырмаларды оқшаулау:Виртуализация виртуалды машиналар сияқты оқшауланған орталарды жасауға мүмкіндік береді.Тапсырмаларды оқшаулау әртүрлі тапсырмаларды орындау үшін тәуелсіздік пен қауіпсіздікті қамтамасыз етеді.
3.4.6 Аудит және журнал жүргізу:Процесс әрекеттерін бақылау және ықтимал қауіптерді анықтау үшін аудит жүргізу.Талдау және сәтсіздіктерді қалпына келтіру үшін оқиғалар журналы.
Жүйе қауіпсіздігін қамтамасыз ету және деректердің ағып кетуін болдырмау үшін қорғаныс пен оқшаулауды қамтамасыз ету маңызды. Қол жеткізу құқықтарын тиімді басқару және ресурстарды бақылау тұрақты жұмыс істеуге және сыртқы қауіптерден қорғауға ықпал етеді.
3.5 Ресурстарды виртуализациялау:Ресурстарды виртуализациялау оқшауланған және тиімді есептеу орталарын құруға мүмкіндік беретін негізгі технология болып табылады. Бұл бөлімде ресурстарды басқару және көп тапсырмалы жүйелерде икемділікті қамтамасыз ету үшін виртуалдандыру қалай қолданылатынын қарастырамыз.
3.5.1 Орталық процессорды (CPU) виртуализациялау:Өз бетінше басқаруға болатын виртуалды процессорларды жасау.Гипервизорлар ресурстарды виртуалды машиналар арасында басқарады және таратады.
3.5.2 Жадты виртуализациялау:Физикалық жадтан виртуалды адрестік кеңістіктерді оқшаулау.Виртуалды жадты басқаруға арналған бет және бет файл механизмдері.
3.5.3 Құрылғыны виртуализациялау:Физикалық құрылғыларға тікелей қол жеткізудің орнына виртуалды құрылғыларды қамтамасыз ету.Гипервизорлар виртуалды машиналар мен физикалық аппаратураның өзара әрекеттесуін қамтамасыз етеді.
3.5.4 Контейнерлеу:Қолданбалар мен олардың тәуелділіктерін контейнерлерде буып-түйуге мүмкіндік беретін виртуалдандырудың жеңіл түрі.Процестер мен ресурстарды оқшаулау, бірақ толық ОЖ виртуализациясынсыз.
3.5.5 Желіні виртуалдандыру:Әрбір виртуалды машина немесе контейнер үшін виртуалды желі ресурстары.Желінің өзара әрекеттесуінің оқшаулануы мен қауіпсіздігін қамтамасыз ету.
3.5.6 Артықшылықтары мен қолданбалары:Ресурстарды тиімді пайдалану, нақты жабдыққа тәуелділікті азайту.Бұлттық есептеулердегі қолданбалар, бағдарламалық қамтамасыз етуді тестілеу, қолданбаларды орналастыру.
Ресурстарды виртуализациялау икемді және масштабталатын есептеу орталарын құруда маңызды рөл атқарады. Орталық процессор мен жадты виртуалдандырудан контейнерлеуге дейін бұл технологиялар ресурстарды тиімді басқаруды және оқшауланудың жоғары дәрежесін қамтамасыз етеді.