Operatsion tizim nima va u qanday ishlaydi?
Shaxsiy kompyuterlarning operatsion tizimlari yaratilish tarixiga nazar solsak, sakkiz razryadli shaxsiy kompyuterlar uchun yaratilgan birinchi operatsion tizim CP/M – 80 (Controll Programm for Microcomputers, ya’ni mikrokompyuterlar uchun boshqaruvchi dasturlar) nom bilan tanigan. Uning muallifi Digital Research kompaniyasining prezidenti Geri Kildell bo’lgan.
16 razryadli yangi kompyuterlar yaratish g’oyasini dasturlar yaratuvchi Microsoft (Maykrosoft) kompaniyasining asoschisi va prezidenti, multimilliarder Bill Geyts ilgari surgan, u IBM firmasi bilan hamkorlikda ishlashga rozi bo’ladi.
Bill Geyts va Pol Allen BASIC dasturlash tili uchun tarjimon dastur yozishdi va u IBM firmasining MITS Altair kompyuteriga moslashtirildi. Shundan so’ng, 16 razryadli kompyuterlar uchun operatsion sistemalar yaratish jadallashdi va 1981 – yilda shaxsiy kompyuterlar uchun birinchi yaratilgan CR/M operatsion sistemasining ko’p g’oyalarini o’zida mujassamlashtirgan MS DOS (Microsoft Disk Operation system – Maykrosoft diskli operatsion tizimi) operatsion tizimi 1981 yil avgust oyida paydo bo’ldi. MS DOS 64 K bayt xotiraga ega bo’lgan kompyuterlarga mo’ljallangan bo’lib, o’zi 8 K bayt xotirani egallar edi. O’sha paytda yetarli deb hisoblangan bunday kompyuter xotirasi hozirgi paytda bir “o’yinchoqqa” aylandi. Chunki hozirgi zamon shaxsiy kompyuterlarining xotirasi bir necha Gigabaytlarga tenglashdi.
Mualliflar MS DOS ni rivojlantirishni davom ettirib, uning MS DOS 1.1, MS DOS 1.25, MS DOS 2.0, MS DOS 2-11 versiyalarini taklif etishdi va nihoyat, 1984 yilda MS DOS 3.0 IBM PC AT shaxsiy kompyuteriga 80286 mikroprotsessorga asoslangan, 5.25 dyumli diskavodda ishlashga mo’ljallangan operatsion tizim yaratildi. 1986 yilda Compaq computer firmasi 80386 mikroprotsessorga asoslangan IBM kompyuterini chiqardi.
IBM firmasi esa 80386 mikroprotsessorga asoslangan PC/2 (Personal system – shaxsiy sistema) kompyuterini yaratdi. Bu mikroprotsessor asosida yaratilgan kompyuter nazariy jihatdan bir necha Gigabayt xotiraga ega bo’lishi mumkin edi. Shuning uchun MS DOS tizimini kengaytirish ishlari davom etardi va 1987 yil MS DOS 3.3 yaratilib, u 3.5 dyumli, ya’ni 1,44 mbaytli disklar bilan ishlash imkoniyatini berdi. 1987 yili IBM va Microsoft firmasi tomonidan bir vaqtda bir necha masalalar yechishga qodir bo’lgan OS/2 operatsion tizimi ishlab chiqildi. Ammo u keng tarqalmadi. Chunki o’sha paytda MS DOS 3.3 ning imkoniyatlari ko’pchilikni qoniqtirar edi. Hozirda bizga keng tarqalgan WINDOWS, UNIX, LINUX operatsion tizimlaridan keng foydalanayotgan bo’lsak-da, MS DOS o’z kuchini yo’qotdi deya olmaymiz.
MS DOS va uning qobiq dasturi hisoblangan Norton Commander tizimlari turli klavishlari kombinatsiyasidan iborat. Buyruqlar bilan ishlashga mo’ljallangan bo’lishiga qaramay, foydalanuvchilar uchun qulay hisoblanadi.
Operatsion tizim funksiyalari
Agar “operatsion tizim” (OS) tushunchasini qisqacha izohlasak, bu boshqaruv dasturidir. OS bu – kompyuterning fizik va dasturiy resurslarini taqsimlash va ularni boshqarish uchun ishlatiladigan dastur.
Kompyuter resurslari ikki xil: fizik va dasturiy resurslarga bo’linadi.
Fizik resurslar bu :
Dasturlash tizimi – dasturlash tillari va ularga mos til protsessorlari majmuasidan iborat bo’lib, dasturlarga ishlov berish va so’zlashni ta’minlovchi dasturlar to’plamidan iborat. Dasturlash tizimining tashkil qiluvchilar (dasturlar) amaliy dasturlar to’plami singari OS boshqaruvi ostida ishlaydi. Kompyuter resurslari OS boshqaruvi ostida bo’ladi. OS ga ehtiyoj resurslar taqsimoti va ularni boshqarish masalasi zaruriyatidan kelib chiqadi. Resurslarni boshqarishdan maqsad foydalanuvchiga kompyuterdan effektiv foydalanish bilan birga resurslarni boshqarish tashvishidan ozod qilishdir.
OS lardan quyidagi xususiyatlarga ega bo’lishi talab qilinadi:
1. Ishonchlilik. OS o’zi ishlayotgan qurilmalar bilan birga ishonchli bo’lishi kerak. OS foydalanuvchining aybi bilan vujudga kelgan xatoni aniqlashi, uni tahlil qilishi va tiklash imkoniyatiga ega bo’lishi kerak. OS foydalanuvchining o’zi tomonidan qilingan xatodan himoyalashi, hech bo’lmaganda dasturiy muhitga keltiriladigan zararni minimumga olib kelishi kerak.
2. Himoya. OS bajarilayotgan masalalarning o’zaro bir – biriga beradigan ta’siridan himoyalash kerak.
3. Bashorat. OS foydalanuvchi so’roviga bashoratchilik bilan javob berishi kerak. Foydalanuvchi buyruqlari sistemada qabul qilingan qoidalar asosida yozilgan bo’lsa, ularning ketma – ketligi qanday bo’lishidan qat’iy nazar natija bir xil bo’lishi kerak
4. Qulaylik. Foydalanuvchiga OS ni taklif qilishdan maqsad – resurslarni aniqlash va bu resurslarni boshqarish masalalarini yechishdan ozod qilishdir. Tizimni inson psixologiyasini hisobga olgan holda loyihalash kerak.
5. Effektivlik. Resurslar taqsimotida OS foydalanuvchi uchun maksimal holda tizim resurslaridan foydalanish darajasini ishirish kerak. Tizimning o’zi esa iloji boricha kamroq resurlardan foydalanishi kerak. Resurslarning OS tomonidan band qilinishi foydalanuvchi imkoniyatlarini kamaytirishga olib keladi.
6. Moslanuvchanlik. Tizim amallari foydalanuvchiga qarab sozlanishi mumkin. Resurslar majmuasi OS effektivligi va samaradorligini oshirish maqsadida ko’paytirilishi yoki kamaytirilishi mumkin.
7. Kengaytiruvchanlik. Evolutsiya jarayonida OS ga fizik va dasturiy resurslar qo’shilishi mumkin.
8. Aniqlik. Foydalanuvchi tizim interfeys darajasidan pastda sodir bo’ladigan jarayonlar bexabar qolishi mumkin. Shu bilan birga foydalanuvchi tizim haqida qancha bilgisi kesa shuncha bilish imkoniyatiga ega bo’lishi kerak. Bu holatda aniqlik interfeys sistemasida qabul qilingan qoida va fizik qurilmalar ulanishi va o’zaro bog’liqligining funksional harakteristikasi asosida amalga oshiriladi.
Avval qayd etganimizdek, OS ning asosiy vazifasi bu –resurslar taqsimoti va boshqarishdan iborat. OS foydalanuvchini resurslar taqsimotidan ozod qilib kompyuterni uch xil rejimda ishlashini ta’milashi mumkin: bir dasturlik; ko’p dasturlik; ko’p masalali.
Bir dasturli rejim – kompyuterning barcha resurslari faqat bir dasturga xizmat qiladi.
Ko’p dasturli rejim (multidastur) – OS bir vaqtning o’zida bir – biriga bog’liq bo’lmagan bir necha dasturlarga xizmat qiladi. Bunda resurslar dasturlar o’rtasida o’zaro taqsimlanadi. “multidastur” rejimi markaziy protsessor ish vaqti bilan “periferiya” qurilmalari ishini ta’minlashdan iborat. Bu usulning bir dasturli rejimidan afzalligi resurslardan effektiv foydalanish va berilgan masala yechilishini tezlatishdir.
Ko’p masalali rejim – “multimasala” rejimda bir vaqtning o’zida bir necha masalaning parallel ishlashini ta’minlash ko’zda tutilgan. Bunda bir masalaning natijasi ikkinchi masala uchun berilganlar majmuasinin tashkil qilishi ham mumkin. OS yechilayotgan masalalarni bir – biri bilan bog’liqligini rejalashtiradi va nazorat qilib boradi. “ko’p dasturli” rejimdan (dasturlar orasida vaqtni taqsimlash prinspi) farqli, bu yerda barcha masalalar bo’yicha parallel ishlash ko’zda tutilgan. Ko’p masalali rejim faqat multisistemada (bir necha protsessor) tashkil qilinadi.
OS kompyuter va foydalanuvchi o’rtasida vosita hisoblanadi. OS foydalanuvchi so’rovini analiz qiladi va uni bajarilishini ta’minlaydi. So’rov OS tilida qabul qilingan buyruqlar ketma – ketligi ko’rinishda bo’ladi. OS so’rovlarni turli rejimlarda bajarishi mumkin, shu sababli OS ni quyidagi tiplarga bo’lish mumkin:
• Paket rejimi sistemasi;
• Vaqtni taqsimlash sistemasi;
“paket” rejimi – bu masalalar majmuasiga ishlov beruvchi sistema ya’ni bir yoki bir necha foydalanuvchi tomonidan tayyorlangan topshiriqlarni bajaruvchi sistema. Masalalar majmuasi kompyuterga kiritilgandan so’ng foydalanuvchi bilan uning masalasi o’rtasida muloqot qilish ta’qiqlangan. Bunday OS bir dasturli yoki ko’p dasturli rejimlarda ishlashi mumkin.
Vaqtni taqsimlash – bir vaqtning o’zida bir necha foydalanuvchiga xizmat qilish mumkin va foydalanuvchiga o’z masalasi bilan muloqot qilish imkonini beradi. Bir vaqtda ishlash effektiga, protsessor vaqti va boshqa resurslarni turli foydalanuvchilar tomonidan berilgan hisoblash jarayonlariga taqsimlash bilan erishiladi. OS kompyuterga kiritilayotgan topshiriqlar uchun navbat tashkil qiladi va har biriga navbat asosida protsessordan foydalanish vaqtini aniqlaydi. Birinchi topshiriqni bajargandan so’ng OS uni navbatning oxiriga olib borib qo’yadi va ikkinchi masalaga xizmat qiladi va x.k. har bir masalaga xizmat qilish vaqti parametrlarida aniqlanadi. Professional dasturchi tashkil qilish jarayonida bu vaqt birligini o’zgartirishi mumkin.
Real vaqt – tizim berilgan real vaqt oralig’ida topshiriqning bajarilishini ta’minlaydi. Bunda kompyuterdagi hisoblash jarayoni tezligi real vaqt o’tishiga hamohang bo’lishi kerak. Kompyuter bunday OS bilan odatda, bir dasturli rejimda ishlaydi.
Muloqot operatsion sistemasi – yakka foydalanuvchi uchun mo’ljallangan bo’lib ko’mpyuter bilan muloqotning qulay ko’rinishini ta’minlaydi. OS, odatda, bir dasturli rejimda ishlaydi.
Uzilishga ishlov beruvchi (обработка прерываний) modul OS tarkibiga kiritilgan asosiy modullardan biri hisoblanadi. U foydalanuvchi dasturi bilan aloqani ta’minlaydi. Uzilishga ishlov beruvchi modul operativ xotiraga yuklanadi va u yerda kompyuter bilan ishlash seansi vaqtida saqlanib turadi. Bu modul komponentlari qism dasturlaridan iborat bo’lib, fayl sistemasi ishlashini, disk bilan berilganlarni almashishni va, shu bilan birga, maxsus holatlarni tahlil qilishni ta’minlaydi. Amaliy dasturdan bu qism dasturlarga murojaat qilinganda uzilishga ishlov beruvchi modul bajariladigan amallar parametrini oladi, uni tahlil qiladi va holatni ko’rinishiga qarab kerakli modullarga bir yoki bir necha murojaatni hosil qiladi.
1. Klaviatura va buyruq faylidan kiritilgan buyruqni qabul qilish va sintaktik tahlil qilish.
Buyruq protsessori tomonidan bajariladigan buyruqlar ichki buyruqlar deyiladi. Foydalanuvchining tashabbusi bilan bajariladigan buyruqlar esa tashqi buyruqlar tashkil qiladi. Tashqi buyruqni bajarish uchun buyruq protsessori diskdan mos ismli buyruqni qidiriladi, agar uni topa olsa, u hilda uni xotiraga yuklaydi va unga boshqaruvni beradi. Buyruqlarni bunday usulda taqsimlanishi operativ xotira bandligini kamaytiradi va kompyuter unumdorligini oshiradi.
Amaliy dasturlarni ishga tushurish tashqi buyruqqa murojaat qilishdek amalga oshiriladi. Buyruq protsessori funksiyasiga buyruq fayllarini ishlatish ham yuklatilgan. Buyruq faylining birontasi OS ni yuklangandan so’ng avtomatik tarzda bajariladi va foydalanuvchiga faoliyat muhiti sozlanganligi haqida dalolat beradi. Avtomatik tarzda bajariladigan buyruq foydalanuvchi ehtiyojiga qarab sistemali dasturchi tomonidan yaratiladi. Buyruq protsessori berilgan satrda yozilgan berilganlarni ketma – ket o’qiydi va tahlil qiladi. Berilganlar buyruq, tamg’a yoki izohdan iborat bo’lishi mumkin. Agar navbatdagi satrda biron – bir daturga murojaat qiluvchi buyruq bo’lsa, buyruq fayl ishini to’xtatib turadi va chiqarilgan dastur bajariladi. Dastur o’z ishini yakunlagandan so’ng buyruq fayl o’z ishini davom ettiradi.
Buyruq protsessori xotiraga yuklanganda ikki – doimo xotirada saqlanadigan rezident va xotiraning foydalanuvchi uchun ochiq bo’lgan norezident qismiga bo’linadi. Bunda ixtiyoriy dastur buyruq protsessorini norezident qismini o’chirib yuborishi mumkin. Bu dastur o’z ishini yakunlaganda boshqaruv har doim buyruq protsessorining rezident qismiga uzatiladi va u sistema diskidan yuklash orqali buyruq faylining norezident qismini tiklaydi. OS aynan shu ko’rinishda tashkil qilinganligi sababli qattiq disk resurslari yetarli bo’lmasa yoki u umuman bo’lmasa sistemali yumshoq disk bo’lishi shart va u ishga tayyor holatda bo’lishi kerak. OS normal ishlashini ta’minlash uchun qattiq yoki yumshoq disk o’rniga operativ xotirada tashkil qilingan virtual diskdan foydalanish mumkin.
OS tashqi buyruqlari diskda alohida saqlangan dasturlar yordamida bajariladi. Ixtiyoriy OS ga turli amallarni bajarishga mo’ljallangan o’nlab dasturlar kiritilgan. Masalan, barcha OS larga kiritilgan qurilma drayveri deb nomlanadigan maxsus rezident dasturlar kiritish – chiqarish sistemasini to’ldirish uchun qo’llaniladi. Drayverlar qo’shimcha tashqi qurilmalarni yoki mavjud qurilmalarni nostandart ishlatilishini ta’minlab beradi. Real OS loyihalanganda fizik qurilmalar imkoniyatlari foydalanuvchi talabiga to’liq javob bera olmasa maxsus rezident dasturlar yaratib kompyuter imkoniyatlarini kuchaytirish mumkin.
Mavjud OS larning bir – biridan farqi “tizim darajasi” bilan aniqlanadi, ya’ni konkret tipdagi kompyuter uchun mos OS qurish (ko’chirish) bilan aniqlanadi. Bunda OS tannarxi kompyuter arxitekturasi, unga kirgan qurilmalar, berilganlarni ichki ko’rinishi bilan birga OS tarkibiga kiritilgan imkoniyatlarga bog’liq bo’ladi. Qaralayotgan OS larning farqini faqat professional (sistemali) dasturchigina farqlay oladi. Odatda, oddiy foydalanuvchiga bunday farqlar sezilmaydi. Buday farqlar xotira hajmi, berilganlarga ishlov berish vaqti, sistema imkoniyatlari va ishonchliligi bilan aniqlanadi.
Tizimda bajariluvchi dastur jarayonni tashkil qiladi. Jarayon – bu holatlarning yagona ketma – ketligidir. Jarayon kompyuter resurslari va fayllar bilan bog’liq bo’ladi. Fayl – berilganlar dasturiy bo’lishi mumkin. Jarayonda qatnashgan har bir fizik resurs albatta mavjud bo’lishi shart. Yangi jarayonni tashkil qilishni eski jarayonda nusxa olish yo’li bilan ham tashkil qilish mumkin, bu holatda yamgi jarayon tugallanishi eski jarayon orqali ham amalga oshirilishi mumkin. Har bir jarayon o’z jarayonini yangi jarayon bilan almashtirib boshqaruvni yangi jarayonga berishi ham mumkin.
Ritchi va Tompson (1978) terminologiyasiga asosan dastur bajariladigan muhit, holat (obraz) deyiladi. Holat tarkibiga dastur va unga bog’liq bo’lgan berilganlar, ochiq fayllar holati va joriy mundarija kiradi. Holat atributiga foydalanuvchi tomonidan kiritilgan ayrim identifikatorlar foydalanuvchi uchun ochiq deb hisoblanadi. Jarayonni bunday tashkil qilinishi foydalanuvchiga qo’shimcha ma’lumot berish va jarayonga aralashish imkoniyatini beradi. Shuni aytish kerakki, barcha jarayonlar uchun ham foydalanuvchi atributi mavjud emas. Bunday holat jarayon yaratgan jarayonlarda vujudga keladi. Bunday jarayonlarga foydalanuvchi aralashuvi maxsus sistemali buyruqlar asosida amalga oshirilishi mumkin. Sistemada jarayonga ko’makchi jarayonlar mavjud bo’ladi.
Sistemadagi ko’pgina jarayonlar kutish holatiga o’tishi berilganlarni kiritish va chiqarish yoki biron – bir sistemali funksiyani bajarilishini kutish bilan bog’liq bo’ladi. Har bir real sistemada bir vaqtda mavjud bo’lgan jarayonlar chegaralangan. Bu holat ko’proq kompyuterning real fizik imkoniyatlaridan kelib chiqadi.
Berilganlar segmentiga foydalanuvchi berilganlarni kiritishi mumkin va bu segment boshqa foydalanuvchilardan himoyalangan. Foydalanuvchi bu orqali dasturiy usul bilan kengaytirishi yoki qisqartirishi mumkin. Berilganlar sigmenti hajmi OS da qabul qilingan oraliq bilan aniqlanadi yoki real foydalanuvchi ehtiyojiga qarab tashkil qilinadi. Xotira chegaralanganligi sababli, OS dan foydalanuvchi ehtiyojini to’liq qondira olmasiligi ham mumkin.
II Bo’linmas stek segmenti xotiraning bosh chegarasidan boshlanib pastga qarab o’sadi. Bu oraliq avtomatik tarzda zarurat tug’ilsa o’sishi mumkin. Real tizimda stek segmentini boshqa qurilmalarda (masalan, virtual tashqi xotira) ham tashkil qilish mumkin. OS shunday tashkil qilinishi kerakki, bo’linmas stek segmenti hajmi yetarli bo’lmasa, OS o’z o’rnini, sistemaning ishonchlilik darajasini kamaytirmagan holda, bo’linmas stek segmentiga bo’shatib berish imkoniyatiga ega bo’lishi kerak. Sistemadagi har bir jarayonning adres muhiti boshqa jarayonlarning adres muhitidan farqli. Jarayonlar bilan aloqa maxsus dasturlar yordamida amalga oshiriladi.
Jarayonni boshqarish (o’zgaruvchi, ishga tayyor, ishlovchi va blokirovka qilingan holatlar). Jarayon turli holatda bo’lishi mumkin. Holatni aniqlash OS dasturlari yoki foydalanuvchi tomonidan (ayrim hollarda) boshqarishi ko’zda tutilgan.
O’zgaruvchi holat. Biron – bir ish bajarilishi natijasiga ko’ra hosil bo’ladigan holat. Holatni turlicha bo’lishi muhitga va realishlovchi dasturga bog’liq bo’ladi. Masalan, ma’lumotlarning turli holatda turlicha taqsimoti bevosita jarayonni boshqarishga o’z ta’sirini o’tkazadi.
Ishga tayyor holat. Bu holda qaralayotgan dastur uchun kerak bo’lgan fizik hamda dasturiy resurslar ishga tayyor holda turadi va qaralayotgan dastur faqat buyruqni kutadi.
Ishlovchi holat. Jarayonni boshqarish dasturi ishlovchi dastur uchun kerakli resurslarni ishga tayyor holatga keltiradi va aktiv holatdagi dastur yuqori imtiyozli hisoblanadi. Ishlovchi dastur uchun kerakli bo’lgan resurs uning uchun har doim ishga tayyor holatida bo’ladi. Agarda ishlayotgan dastur uchun kerak bo’lgan resurs ishlayotgan dasturga nisbatan yuqoriroq prioritetli (afzalikka ega bo’lgan) dastur bilan band bo’lsa, ishlovchi dastur kutish holatiga o’tkaziladi. OS ning ayrim buyruqlari foydalanuvchi dasturiga nisbatan prioriteti yuqori hisoblanadi. Albatta, ixtiyoriy OS ga foydalanuvchi dasturi ishini to’xtatish imkoniyatini beradigan buyruq kiritilishi zarur.
Blokirovka qilingan. Dastur ishlashi uchun ayrim resurslar yetarli bo’lmasa sistema bunday dasturni blokirovka qilib qo’yadi. Ya’ni bunda dasturga nisbatan sistema holati aniqlanmagan hisoblanadi. Odatda, bunday holatda sistema foydalanuvchining aralashinuvini talab qiladi.
Masalaning bog’lanishini boshqarish (ketma – ket, parallel). Masala OS resurslari bilan ketma – ket yoki parallel bog’lanishi mumkin. Bunday bog’lanish, asosan, resurslarning jarayonga xizmat qilish tezligiga bog’liq. Agar resurslarning xizmat qilish tezligi bir xil bo’lsa, resurslar xizmatga ketma – ket chaqiriladi. Agar talab qilinayotgan resurs tezligi sekin bo’lsa va u mustaqil o’zi masalaga xizmat qila olsa, u holda bu resursga boshqaruv beriladi va navbatda turgan keyingi resurs aktiv holatga o’tadi va x.k. shu bilan birga, masala uchun bir necha resurs parallel xizmat qiladi. OS tarkibiga masalani hal qiluvchi dasturlarni parallel va ketma – ket bo’lgan qismini aniqlaydigan maxsus buyruqlar kiritiladi.
Yordamchi qurilmalar. Aksariyat qurilmalar bilan har bir oniy vaqtda faqat bitta masalaga xizmat qilishi mumkin. Qurilmalarning bunday ko’rinishda ishlashi kompyuterdan noeffektiv foydalanishga olib keladi. Bunday hol yechilayotgan masalaning hisoblash vaqti ko’p bo’lsa, ayniqsa, sezilarlidir. Tezkor qurilmalar foydalanuvchi uchun, OS ning fayllarini bajarish dasturi yordamida taqsimlanadi. Tezkor qurilmalarda vujudga keladigan ushlanishlar ularning tez ishlashi va kiritish – chiqarish so’roviga ketgan vaqtini inobatga olsak – umumiy jarayonni qoniqarli deb hisoblasak bo’ladi. Kompyuter unumdorligiga salbiy ta’sir ko’rsatadigan faktorlardan asosiysi kiritish – chiqarish qurilmalarining sekin ishlashidir. OS kompyuter unumdorligini oshirish uchun spuling mexanizmini ishga soladi. Spuling – kiritish – chiqarishga mo’ljallangan berilganlarni avtomatik tarzda diskka yozib qo’yuvchi dastur. Spuling tayyorlagan ma’lumot qurilma tayyor bo’lganda qo’yilgan masalaga qarab kiritiladi yoki chiqariladi.
Matematik ta’minot resurslari – berilganlar va dastur bajarilishini nazorat qiluvchi, foydalanuvchidan himoyalanmagan funksiyalar majmuasidan iborat. Bu resurslar orasida sistema rejalashtirish, sistema kutubxonalari, fayllarni boshqarish va kiritish – chiqarishga xizmat qiluvchi servis (xizmat ko’rsatuvchi) dasturlar mavjud.
Kiritish va chiqarish – bu kiritilayotgan va chiqarilayotgan berilganlarni ko’chirish jarayonidir. Berilganlarni boshqarish dasturlar orqali amalga oshiriladi. Bular kiritish va chiqarish, filtr va komunikatsiya dasturlaridir. Bu dasturlar yordamida foydalanuvchi berilganlarni uzatishda o’z yo’nalishini tashkil qilishi mumkin. Berilganlarni majmuasini ixtiyoriy qurilma va xotiraning ixtiyoriy adresiga yo’naltirishi mumkin. Filtrdan foydalanib berilganlarni tartiblash va so’ngra chiqarish oqimiga yo’naltirish mumkin.
Kiritish va chiqarish standart qurilmalari. Odatda berilganlarni kiritish uchun klaviaturadan foydalaniladi. Ma’lum amallar ketma-ketligi bajarilgandan so’ng ma’lumotlar majmuasi monitorga chiqariladi. Shu sababli klaviatura kiritish standart qurilmasi, monitor esa chiqarish standart qurilmasi deb xisoblanadi. OSda nostandart bo’lmagan qurilmalarni kiritish – chiqarish qurilmasi deb e’lon qiluvchi yo’naluvchi funksiyalar mavjud. Bunday qurilmalar “beriferiya” kiritish – chiqarish qurilmalari deyiladi, chunki ular real kompyuterga nisbatan qabul qilingan deb hisoblanadi.
Kiritish – chiqarish qurilmalari va dasturlari. Kiritish va chiqarish qurilmalari kompyuter konfiguratsiyasiga bog’liq va ularning soni bir necha bo’lishi mumkin. Real vaqtda tizimga bog’langan qurilma va qurilmalar soni kompyuterning portlari sonidan ko’p bo’la olmaydi. Har bir qurilmani ishga tushirish va u bilan belgilanganlarni almashish OS dasturlari yordamida amalga oshiriladi. Dastur odatda – bevosita qurilma va uning fizik xarakteristikasini hisobga olgan xolda yaratilgan bo’ladi. Ayrim xolarda biron – bir kiritish – chiqarish qurilmasi o’rniga boshqasini ishlatish, xotira bilan berilganlarni o’zaro almashish xatolikka yoki umuman berilganlarni almashmaslikka olib keladi. Bunday xolda bog’lanish amalga oshmagani sabablaridan biri – bu qurilma uchun qo’lanadigan dasturni mos kelmasligi bo’lishi mumkin. Bunday holda qurilmaga mos dasturni yuklab so’ng undan foydalanish tavsiya qilinadi.
Filtr – sistemali dastur yoki buyruq bo’lib, berilganlarni kiritish qurilmasidan o’qib tartiblaydi va va dastur yoki buyruqda aniqlangan qurilmalarga yo’naltiriladi.
Kommunikatsiya – bu ikki sistemali dasturni, buyruqni, dastur va buyruqni yoki buyruq va dasturni birlashtirish. Bunday ko’rinishdagi birlashtirish bir dastur yoki buyruqning natijasini boshqa dastur yoki buyruqqa kiritish imkoniyatini beradi. Yo’naltirilgan kiritish-chiqarish bilan kommunikatsiya farqi: yo’naltirilgan kiritish – chiqarish bilan kommunikatsiya farqi: yo’naltirilgan kiritish – chiqarish bu – berilganlarni o’qish yoki ularni “periferiya” qurilmasiga uzatishdir. Kommunikatsiya esa-bu sistema dasturi va buyruqlari orasidagi o’zaro berilganlarni almashishdir, ya’ni berilganlarni uzatish OS ichida amalga oshiriladi.
Operatsion tizimning qo'shimcha funksiyalari. Berilganlarga ishlov berish. Berilganlar kompyuter xotirasida turli ko’rinishda saqlanadi. Bular avvaldan kelishilgan holda bo’ladi. Masalan, dastur saqlanish prinsipi bilan berilganlarni saqlanishi turlichia bo’ladi, biron-bir matn muharriri yordamida xosil qilingan ma’lumot boshqa muharrir yordamida hosil qilingan ma’lumotlarning ichki ko’rinishidan farq qiladi. Har bir malumotning ichki tuzilish avvaldan tanlabolingan kodlash usuli yordamida xosil qilinadi. Kodlar turlari va kodlash usulari turlicha. Ularni qanday ko’rinishda tanlab olish va ishlatish bevosita tizim ijodkorlariga bog’liq. Odatda, biron-bir kodlash usuli ma’lum bir turdagi kompyuter (dasturiy ta’minot bilan birga) uchun tanlab olinadi va bu turdagi kompyuter takomillashsa, kodlash usulini saqlab qolishga harakat qilinadi. Bundan shunday xulosa qilishimiz mumkin, OS tarkibidagi berilganlarga ishlov beruvchi dastur berilgan dastur berilganlar tuzilishini aniqlab dastur, arifmetik konstanta, berilganlar majmuasi (matn) va h.k. kerakli usulda tahlil qilib, ko’zda tutilgan ishni bajaradi.
Virtual xotirani boshqarish. OS tarkibiga virtual (faraziy) xotiraga ishlov beruvchi dastur kiritiladi. Virtual xotira – bu taxmin (tasavvur) qilinadigan xotira. Virtual xotira hajmi real fizik xotira hajmidan ko’p bo’ladi. Bunday usulni tanlab olish sabablari, birinchidan, xotiraninig har bir manzilini tanlash manzilini tanlash bo’lsa, ikkinchidan, real operativ xotiraning tannarxi birmuncha qimmatligidadir. Shuni eslatib o’tish kerakki, albatta protsessor virtual xotirag ishlov berishda real fizik xotiraga ishlov berishga nisbatan ko’proq vaqt sarflaydi. Virtual xotira varaqma-varaq tashkil qilinadi. Har bir varaqda aniqlangan xotiraning malumot birligi uchun o’z manzili mavjud bo’ladi. Bu manzillar ketma-ketligi ularning ko’rinishi va yozilishi har bir varaq uchun bir xil bo’ladi. Virtual xotiraning real adresi xisoblanganda varaqdagi manzil qiymatiga varaq koeffitsienti qo’shiladi. Shu sababli manzillar chalkashiligi oldi olinadi. Ya’ni agar biz bir necha nomdagi ko’chani qarasak, har bir ko’chada 13-uy mavjud bo’lsa, harbir 13-uy manzili turli bo’ladi, chunki ko’chalar nomi turli.
Virtual tashqi xotirani boshqarish. Virtual tashqi xotirani boshqarish virtual ichki xotirani boshqarishga nisbatan birmuncha murakkabroq. Buninig asosiy sababi ularning hajmidadir. Masalan, axolisi 50 000 kishidan iborat bo’lgan shaxardan barcha 13-uylarni topish, aholisi 50 000 000 kishidan iborat shahardagi barcha 13-uylarni topishga nisbatan ancha oson. Shu sababli tashqi xotiradagi real manzilni topish uchun turli usullardan foydalaniladi. Manzil bevosita varaq koeffitsienti qo’shilishi bilan aniqlanadi va real adresdagi berilganlar tanlanadi.
Berilganlarni saqlanishi:
*Ketma-ket, agar foydalaniladigan berilganlar xotirada ketma-ket joylashgan bo’lsa, u holda xotiraning navbatdagi manzilidan berilganlarni olish uchun har safar keyingi manzil qidirilmasdan kerakli berilganlar ketma-ket tanlab olinadi.
*Indeksli, berilganlarning navbatdagi qismi tugagandan so’ng o’zining davomi qayerda joylashganligi xaqidagi malumot bevosita berilganlardan keyin joylashgan bo’ladi bu ma’lumot tahlil qilinib, berilganlarning ko’rsatilgan joydan boshlab talqin qilinadi.
*Indeksli-ketma-ket, indeksli boshqarishdan farqi berilganlar davomi ko’rsatilgan joydan bir emas balki bir nechta berilganlar birligidan iborat ketma-ketlik ko’rinishda beriladi.
Himoya. OS da ishlatiladigan berilganlar himoyalangan bo’lishi kerak. Himoyalanish OS tarkibiga kirgan dasturdan, foydalanuvchi dasturidan va foydalanuvchining biron-bir harakatidan bo’ladi. Har qanday OS o’z tarkibiga kirgan dasturlarni himoyalashi ko’zda tutilgan bo’ladi. Biroq, bu himoyalanish buzilishi mumkin,buzilish, odatda, tashqi aralashuv natijasida ro’y beradi. Shu sababli OS tarkibidagi ayrim dasturlarga kirish umuman ta’qiqlab qo’yilgan. Albatta, bunday ta’qiqni malakali foydalanuvchi “aylanib” o’tishi mumkin, biroq bunday usul tavsiya qilinmaydi.
Effektiv joylashtirish. Berilganlarni qay tartibda joylashtirish sistemasini mukammal ishlashiga omil bo’ladi. Berilganlar pog’ona – pog’ona joylashtiriladi. Bunda ko’p ishlatiladigan berilganlar oldingi “fon”da, kamroq ishlatiladiganlar esa keyingi bo’limlarda joylashtiriladi. Albatta, joylashtirishda ikkita berilganlar majmuasi o’rtasida bo’sh joylar qoldirmaslikka harakat qilinadi. Berilganlar majmuasi orasida bo’sh joy hosil bo’lishi mumkinmi? Ha, mumkin. Bu berilganlarning saqlanishining ichki tuzulishidan kelib chiqadi. OS berilganlarni effektiv joylashtirishi uchun shunga o’xshash holatlarni hisobga olgan holda joylashtiradi.
Kompyuter bilan muloqot. OS ning ayrim resurslarida kompyuter bilan muloqot ko’zda tutilgan. Bundan tashqari, foydalanuvchi ham o’z dasturiga muloqotni kiritishi mumkin. Muloqot tashabbuskori sistema yoki foydalanuvchi bo’lishi mumkin. Tashabbuskor sistema bo’lganda, sistema hosil bo’lgan holatdan boshqa holatga o’tish yo’lini foydalanuvchi tavsiyaga asosan bajaradi. Bunday holatlar rejali yoki rejasiz bo’lishi mumkin. Rejali holat sistemada ko’zda tutilgan bo’lib foydalanuvchining javobi sistema unumdorligini oshirishga olib keladi. Rejada ko’zda tutilmagan muloqotda esa sistema jarayonni qay tartibda bajarishni “bilmaydi” va “tupik” holat vujudga kelishi ham mumkin. (Masalan, foydalanuvchi dasturi sistemada mavjud bo’lmagan resurni talab qilishi). Muloqot tashabbuskori foydalanuvchi bo’lganda, sistema kutish holatiga o’tadi va foydalanuvchining buyrug’iga asosan ishni davom ettiradi. (Masalan, sistema xizmat qilayotgan dasturni vaqtincha yoki umuman to’xtatish).
Kompyuterning ishonchliligini ta’minlash. Kompyuterning qurilmalari normal ishlashi uchun ma’lum shart – sharoitlar bajarilishi talab qilinadi, bular elektr manbai parametrlari, tashqi muhit temiraturasi va boshqalardir. Bu shart – sharoitlardan chetga chiqish kompyuter apparaturasida uzilishga yoki noto’g’ri ishlashiga olib keladi. OC da apparatura noto’g’ri ishlashi natijasida paydo bo’ladigan xatolikni inkor qiluvchi dastur mavjud bo’lib, zaruriyat tug’ilganda sistema tashabbusi bilan bu dastur ishlaydi va hosil bo’lgan xatolikka ishlov beradi. Bundan tashqari, dasturiy resurslar noto’g’ri ishlashi natijasida xatolik vujudga keladi. Bu vaziyatda ishlatilayotgan dasturning to’g’ri yoki noto’g’ri ishlatilayotganligini aniqlash uchun turli uslublardan foydalaniladi. Bunday uslublardan biri quyidagicha. OS tarkibiga maxsus dastur kiritiladi va bu dastur berilganlarga ishlov berishdan avval va ishlov bergandan so’ng tekshiriladi. Shu dastur kodlari yig’indisi tekshiriladi, agarda hosil bo’lgan kod avvaldan shu dastur uchun aniqlanga kodga teng bo’lsa, u holda dastur to’g’ri ishlaydi yoki ishlagan dbe talqin qilinadi. Odatda, OS tarkibiga kirgan barcha dasturlar uchun yagona kod tanlanadi, masalan barcha bitlar nolga tenglab olinadi. Buning uchun dasturning oxirgi buyrug’idan keyin nol kodiga to’ldiruvchi bo’lgan kod tanlanadi va bu kodni dastur kodlari bilan yig’indisi nol kodini beradi. Shu bilan dastur ishi natijasining ishonchliligiga erishiladi, chunki dasturdagi bitta bitning qiymati o’zgarishi dastur uchun aniqlangan kontrol yig’indida boshqa kod hosil qiladi. Bu holatlarni aniqlash va uni tahlil qilish uchun OC tarkibiga maxsus dasturlar kiritiladi.
Topshiriqni boshqrish tili. Kompyuterda bajarilishi kerak bo’lgan topshiriq avtomatik tarzda yoki foydalanuvchi aniqlagan parametrlar yordamida bajariladi. Jarayonni boshqarish uchun OS ga boshqarish tili kiritiladi va topshiriqni bajarish uchun zarur bo’lgan resurslar aniqlanadi. Odatda, agar topshiriqni boshqarish tilida ma’lum resurslar qayd etilmasa, unda sistema uchun qabul qilingan parametrlar olinadi. Topshiriqni boshqarish tili hozirgi zamon shaxsiy kompyuterlarida sistemani tashkil qilinayotgan paytda tanlab olinadi. Parametrlarni tanlab olish foydalanuvchining talab va ehtiyojiga qarab amalga oshiriladi. Har bir sistemani qo’shimcha dasturlar bilan boyitish har doim ham yaxshi natijaga olib kelmaydi. Masalan, funksional jihatdan bir vaqtning o’zida bir necha dasturning sistemada saqlanishi sistema uchun kerakli dasturning qilirilishiga ko’p vaqt va qo’shimcha xotira sarflanishiga olib keladi. Shu kabi sistema uchun bevosita zarur bo’lmagan dasturning saqlanishi ham shu natijaga olib keladi. Dasturiy ta’minot bo’yicha mutaxassis bo’lmagan foydalanuvchi uchun topshiriqni boshqarish tilini tahlil qilish va unga o’zgarishlar kiritish tavsiya qilinmaydi.
Resurslar taqsimoti. Avval aytganimizdek, resurslar fizik va dasturiy bo’ladi. OS yordamida resurslar shunday taqsimlanadiki natijada bajarilayotgan topshiriqlar ma’lium ketma – ketlikda amalga oshiriladi. Topshiriqlar tili yordamida foydalanuvchining dasturiy normal ishlashini ta’minlaydigan resurslar aktiv holatga chiqariladi va topshiriq bajarilishiga qarab ular ma’lum ketma – ketlikda bajariladi. Resurslar ishlatilishiga ketma – ketligi boshqarish tili va foydalanuvchi dasturiy yordamida amalga oshiriladi.
Protsessor vaqti. Topshiriq bajarilishi uchun ketgan umumiy vaqt protsessori va kutish vaqti majmuasidan iborat bo’ladi. Protsessor vaqti bevosita foydalanuvchi dasturiga ishlov bergan vaqt bilan aniqlanadi. Qo’shimcha vaqt bu OS resurslariga murojat va uni bo’shashini kutish, muloqot, protsessorga bog’liq bo’lmagan boshqa resurslarning ishlash vaqtidir. Foydalanuvchi dasturiga ketgan umumiy vaqtga nisbatan protsessor vaqti salmog’I har doim kam bo’ladi.