Системалык жана колдонмо программалык камсыздоо

Бардык программалык камсыздоо (программалык камсыздоо) системалык жана колдонмолук болуп бөлүнөт. Системалык программаларды башка бардык программалар колдонгон программалар деп атоого адат болуп калган, аларсыз колдонмо программаларды түзүү жана аткаруу мүмкүн эмес. Колдонмо программалар компьютерди башкарууга түздөн-түз тиешеси жок илимий, техникалык жана башка милдеттерди аткарат.

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

Негизги программалык камсыздоо- Бул компьютердин иштешин камсыз кылуучу программалык каражаттардын минималдуу топтому. Ал камтыйт: операциялык система жана операциялык кабыктар.

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

Веб браузер

Маалыматтар базасы

Оюндар

Колдонмо программалык камсыздоо

Компиляторлор

Редакторлор

Котормочулар

Системалык программалык камсыздоо

Операциондук система

Машина тили

Жабдуулар

микроархитектура

Физикалык приборлор

Райс. 1.1.

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

(борбордук иштетүү бирдиги) жана арифметикалык логикалык бирдикти камтыган маалымат жолу бар.

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

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

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

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

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

 1.2.     Операциондук система

Операциондук система(OS) – бул бир жагынан компьютердин аппараттык жабдыктары менен колдонуучунун милдеттери менен интерфейсинин ролун аткарган, экинчи жагынан эсептөө тутумунун ресурстарын эң натыйжалуу пайдаланууга арналган башкаруу жана кайра иштетүү программаларынын комплекси. жана ишенимдуу эсептеелерду уюштуруу.

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

Операциялык системанын мисалдары: UNIX, OS/2, Windows, Linux, QNX, MacOS, BeOS.

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

Функциялардын кеңири тизмеси төмөндө келтирилген:

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

2. RAMга аткарыла турган программаларды жүктөө.

3.  Эстутум бөлүштүрүү.

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

5. Бардык программаларды жана маалыматтарды аныктоо.

6. Иштеп жаткан тиркемелерден ар кандай суроо-талаптарды кабыл алуу жана аткаруу. ОС иштеп жаткан программадан талап кылынуучу системалык функцияларды (кызматтарды) көп сандагы аткарууга жөндөмдүү. Бул кызматтарга жетүү ушул операциялык системанын колдонмо программалоо интерфейсин (Application Program Interface, API) аныктаган белгилүү эрежелерге ылайык жүзөгө ашырылат.

7. Бардык киргизүү/чыгаруу операцияларын тейлөө.

8. Бардык программалык камсыздоонун эффективдүүлүгүн кескин жогорулата турган файлдарды башкаруу тутумдарынын (FMS) жана/же маалыматтар базасын башкаруу тутумдарынын (МББ) иштешин камсыз кылуу.

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

10. Берилген стратегияга жана кызмат дисциплинасына ылайык тапшырмаларды пландаштыруу жана пландаштыруу.

11. Иштеп жаткан программалар ортосунда билдирүүлөрдү жана маалыматтарды алмашуу механизмдерин уюштуруу.

12. Тармактык операциялык системалар өз ара байланышкан компьютерлердин өз ара аракеттенүүсүн камсыз кылуу функциясы менен мүнөздөлөт.

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

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

15. Реалдуу убакытта жооп берүү убактысы боюнча катуу чектөөлөрдү канааттандыруу (реалдуу убакыт операциялык системалары үчүн мүнөздүү).

16. Колдонуучулар өз программаларын даярдаган программалоо системаларынын иштешин камсыз кылуу.

17. Система жарым-жартылай иштебей калган учурда кызматтарды көрсөтүү.

 Операциялык система көптөгөн программалык модулдардан турат. Негизги операциялык системанын модулу супервайзер деп аталат. Татаал операциялык системаларда ал бир нече модулдардан турушу мүмкүн, мисалы, киргизүү/чыгаруу супервайзери, үзгүлтүккө учуратуу супервайзери, программанын супервайзери, тапшырма менеджери жана башкалар.

Адабияттарда операциялык системанын ядросу (ядро) термини да көп колдонулат, ал жетекчинин синоними катары түшүнүлөт.

Эгерде кандайдыр бир ресурсту (RAM, киргизүү-чыгаруу түзүлүшүн, маалымат массивдерин ж.б.) колдонуу зарыл болсо, эсептөө процесси операциялык системанын супервайзерине атайын чакыруулар аркылуу анын талабы жөнүндө маалымдайт. Мында ресурстун түрү жана зарыл болгон учурда анын көлөмү көрсөтүлөт. Мисалы, оперативдүү эстутум сураганда, андан аркы иштөө үчүн талап кылынган даректүү уячалардын саны көрсөтүлөт.

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

1. ресурс бекер жана системадагы бир эле ресурска жогорку артыкчылыктуу тапшырмалардан суроо-талаптар жок;

2. учурдагы суроо-талап жана мурда берилген суроо-талаптар ресурстарды бөлүштүрүүгө мүмкүндүк берет;

3. ресурс эң төмөнкү артыкчылыктуу тапшырма тарабынан колдонулуп жатат жана убактылуу алынып салынышы мүмкүн (жалпы ресурс).

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

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

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

1.3.   Иштөө чөйрөлөрү

Бир операциялык системада иштөө үчүн иштелип чыккан тиркеме башка операциялык системада иштебейт, анткени API'лер ошол операциялык системаларда ар башка. Бул чектөөнү жеңүү үчүн операциялык системаны иштеп чыгуучулар операциялык чөйрөлөр деп аталгандарды түзө башташты. Операциялык система (негизинен) башка операциялык системалар менен байланышкан бир нече операциялык чөйрөнү колдой алат.

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

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

Эреже катары, эмуляция төмөнкү максаттар үчүн колдонулат.

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

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

Эгерде операциялык система ар кандай операциялык чөйрөлөр менен иштөөнү уюштурса, анда мындай системада бул үчүн гана эмес, башка операциялык системалар үчүн да түзүлгөн программаларды аткарууга болот. Мисалы, сиз DOS чөйрөсүндө иштөө үчүн программа түзө аласыз. Эгерде мындай программа киргизүү/чыгаруу операциялары жана эстутумдун суроо-талаптары менен байланышкан бардык функцияларды өзүнөн өзү эмес, DOS тутумунун функцияларын чакыруу менен аткарса, анда ал (абсолюттук көпчүлүк учурларда) MS DOS да, OS да ийгиликтүү аткарылат / 2, жана Windows 2000 жана ал тургай Linux да.

Windows XP операциялык системасы Win32API аркылуу түзүлгөн негизги тиркемелерден тышкары, Windows 3.x үчүн 16 биттик тиркемелерди, 16 биттик DOS тиркемелерин, OS/2нин биринчи версиясы үчүн 16 биттик тиркемелерди иштетүүгө мүмкүндүк берет.

UNIXте Windows эмуляциясын WineHQ программасы аркылуу жасоого болот. Бул тууралуу маалымат алуу үчүн жана Windows API'син UNIX аркылуу эмуляциялоого мүмкүндүк берген ачык булактуу Wine пакетин жүктөп алуу үчүн http://www.winehq.com дарегин караңыз.

Белгилей кетсек, WineHQ кадимки эмулятор эмес. Бул бул программанын аббревиатурасы менен көрсөтүлөт: "Вин эмулятор эмес". Толук эмулятор катары иштөөнүн ордуна, Wine Windows программалары чакырган динамикалык шилтеме китепканасына альтернативалык байланышты камсыз кылуу жана Windows NT ядросу менен шайкеш келген процесстерди иштетүү аркылуу "шайкештик катмарын" түзөт.

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

1.4. Операциялык снаряддар

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

Бул кемчиликти жоюу үчүн көптөгөн программалык “капкалар” – shell (англис тилинде – “shell”) түзүлгөн.

Аларга Norton Commander – DOS кошумчасы катары түзүлгөн программа, FAR Manager – Windows 95/98/NT/2000/XP үчүн тексттик кабык, Midnight Commander – Linux тутумунун кабыгы ж.б. Shells колдонуучуга менюсун сунуштайт, анын ичинен ал каалаган аракетти тандай алат.

Акыркы убакта операциялык кабыктарды колдонуучу графикалык интерфейстери (GUI) жигердүү алмаштырды, мисалы, X-Window ар кандай терезе менеджерлери - KDE, Gnome ж.б., алар колдонуучулар арасында барган сайын популярдуу болуп баратат.

Сыягы, операциялык кабыктарды командалык сап интерфейстери менен графикалык интерфейстердин ортосундагы бир нерсе катары көрүүгө болот.