Nazorat savollari - U. R. Xamdamov, dj. B. Sultanov, S. S. Parsiyev, U. M. Abdullayev

331
IXBOB. AMALIYOTDA OPERATSION TIZIMLARDAN
FOYDALANISH
9.1. Linux operatsion tizimi, qurilish tamoyili va ahamiyati
Linux - bu UNIX operatsion tizimining mashhur variantidir,
ammo UNIX ning boshqa ko‘plab versiyalari va variantlari mavjud,
ular Unix operatsion tizimi mavzusida ko‘rib chiqilgan. Ushbu tizim
ishchi stansiyalar va serverlarning eski modellari uchun ustun bo‘lgan
operatsion tizimlardan biri bo‘lib, u boshqa tizimlarda -
smartfonlardan
(Android
operatsion
tizimi
Linux
asosida)
superkompyuterlarga qadar qo‘llaniladi. Bu operatsion tizimlarni
qurishning ko‘plab muhim tamoyillarini aks ettiradi. Muhokamamizni
Linux tarixi va rivojlanish yo‘lidan boshlaymiz.
Keyinchalik Linux
operatsion tizimi haqida umumiy ma’lumotlar va undan qanday
foydalanish haqida tushunchalar beriladi. Ushbu sharh faqatgina
Windows tizimi bilan tanish bo‘lgan o‘quvchilar uchun juda
muhimdir, chunki tizim foydalanuvchidan tizimning deyarli barcha
tafsilotlarini yashiradi. Grafik interfeyslar operatsion tizimni endi
boshlagan foydalanuvchilar uchun juda qulay bo‘lishi
mumkin
bo‘lsada, ular past moslashuvchanlikka ega va tizim qanday ishlashi
haqida tushuncha bermaydi. Keyin ushbu bobning asosiga o‘tamiz -
Linux tizimidagi xotirani boshqarish, kiritish/chiqarish, fayl tizimi va
xavfsizlik masalalariga. Har bir mavzu uchun biz avval asosiy
tushunchalarni, so‘ngra tizim muammolarini va nihoyat amalga
oshirish usullarini muhokama qilamiz. Linus Torvalds tomonidan
Linux operatsion tizimini yaratilishiga MINIX operatsion tizimi sabab
bo‘lgan. Shuning uchun biz mavzuni avval MINIX operatsion
tizimidan boshlaymiz.
MINIX
Barcha zamonaviy UNIX tizimlari umumiy xususiyatga ega:
ularning barchasi yirik va murakkab bo‘lib, ular qaysidir ma’noda
UNIX tizimining asosidagi g‘oyaga zid keladi.
Tizimlarning barcha
boshlang‘ich kodlari erkin (bu ko‘p hollarda noto‘g‘ri bo‘lgan) bo‘lsa
ham, baribir, bitta odam ularni tushunishi mumkin emas. MINIX
tizimi birinchi Unixga asoslangan mikroyadroli tizimlaridan biri edi.
Mikroyadroning g‘oyasi, yadroda iloji boricha kamroq funksiyalarni
332
bajarish va uni ishonchli va samarali qilishdir. Shunga ko‘ra, xotira
boshqaruvi va fayl tizimi foydalanuvchi jarayonlariga o‘tkazildi.
Yadro boshqa hech narsa qilmasdan jarayonlar o‘rtasida xabarlarni
uzatish bilan shug‘ullanadi. Yadro C tilidagi 1600 va 800 assembler
qatorlaridan iborat edi. Intel 8088 protsessorining
arxitekturasi bilan
bog‘liq texnik sabablarga ko‘ra, yadroga kiritish/chiqarish qurilma
drayverlari (yana 2900 qo‘shimcha qatorlar) joylashtirilgan. Fayl
tizimi (C da 5100 satr) va xotira menejeri (C da 2200 satr) ikkita
alohida foydalanuvchi jarayoni sifatida ishladi. Mikroyadro tizimining
monolit tizimdan ustunligi shundaki, mikroyadro tizimini tushunish va
saqlash oson (yuqori modulliligi sababli). Bundan tashqari, kodni
yadrodan foydalanuvchi rejimiga o‘tkazish tizimni yuqori darajadagi
ishonchlilik bilan ta’minlaydi, chunki
foydalanuvchi rejimida
ishlaydigan jarayonning buzilishi bunday zararni keltirib chiqara
olmaydi, chunki yadro rejimida komponent ishdan chiqishi mumkin.
Bunday tizimning asosiy kamchiligi bu foydalanuvchi rejimidan yadro
rejimiga qo‘shimcha o‘tish bilan bog‘liq bo‘lgan biroz past
ko‘rsatkichdir. Barcha zamonaviy UNIX tizimlarida X Windows oyna
tizimi foydalanuvchi rejimida ishlaydi, natijada unumdorlik biroz
pasayadi, lekin katta modullikka erishiladi (Windows dan farqli
o‘laroq, butun foydalanuvchi grafik interfeysi yadroda joylashgan).
O‘sha davrning boshqa mashhur mikroyadrolariga Mach (Accetta va
boshqalar, 1986) va Horus (Rozier va boshqalar, 1988) kiradi. U joriy
qilingandan bir necha oy o‘tgach, MINIX tizimi o‘z
yangiliklar
guruhining komp.os.minix va 40000 dan ortiq foydalanuvchilari bilan
muhim obyektga aylandi. Ko‘p foydalanuvchilar buyruqlar va
foydalanuvchi dasturlarini o‘zlari yoza boshladilar, shuning uchun
MINIX tizimi tezda Internetda ko‘p sonli foydalanuvchilarning
jamoaviy ijod mahsuli bo‘lib, keyinchalik paydo bo‘lgan boshqa
jamoaviy loyihalar uchun prototip bo‘lib xizmat qildi. 1997
yilda
MINIX tizimining 2.0 versiyasi ishlab chiqildi. Endi bazaviy tizim
tarmoq dasturiy ta’minotini o‘z ichiga oldi va uning hajmi 62,200
qatorga yetdi. 2004 yilda, MINIX ning rivojlanish yo‘nalishi tubdan
o‘zgardi, tortishish markazi mutlaqo muammosiz va ishonchli tizimni
yaratishga yo‘naltirildi, u avtomatik ravishda muvaffaqiyatsizliklardan
xalos bo‘lib, hattoki takrorlangan dastur xatolariga qaramay to‘g‘ri
ishlashni davom ettirishi mumkin edi. Natijada, 1-versiyadagi
modullik g‘oyasi MINIX 3.0 versiyasida sezilarli darajada kengaydi,
333
deyarli barcha qurilma drayverlari foydalanuvchi maydoniga
ko‘chirildi (va barcha drayverlar alohida jarayonlar sifatida ishlaydi).
Yadro hajmi keskin kamaydi (bitta
dasturchi tushunishi mumkin
bo‘lgan 4000 kod qatoriga). Xatolarga bardoshliligini oshirish uchun
ichki mexanizmlar ham o‘zgartirildi. Bundan tashqari, 650 dan ortiq
mashhur UNIX dasturlari Windows X tizimi (ba’zan shunchaki X deb
ataladi), turli xil kompilyatorlar (gcc ni o‘z ichiga olgan), matn
protsessorlari, tarmoq dasturlari, veb-brauzerlar va boshqalarni o‘z
ichiga olgan MINIX 3.0-ga ko‘chirildi. Oldingi versiyalardan farqli
o‘laroq (asosan ta’limga oid), MINIX 3.0 versiyasidan boshlab, tizim
ancha foydaliroq bo‘lib qoldi (asosiy urg‘u
yuqori ishonchlilikka
qaratiladi).