|
Operatsion · � � tizimlar o‘zbekiston respublikasi axborot texnologiyalari va kommunikatsiyalarini rivojlantirish vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti u
|
bet | 108/129 | Sana | 18.11.2023 | Hajmi | 4,88 Mb. | | #100808 |
Bog'liq a12b69867f018f785135aa04d3624799 Operatsion tizimlar грифли 100 штBuyruq
|
Funksiya
|
cat
|
standart fayla bir nechta fayllarni ulash
|
chmod
|
faylni himoya qilish rejimini o‘zgartirish
|
cp
|
faylni nusxalash
|
cut
|
fayldan matn ustunlarini kesish
|
grep
|
ma’lum bir shablonni fayldan qidirish
|
head
|
fayldan birinchi qatorni ajratib olish
|
ls
|
katalog ro‘yhati
|
make
|
ikkilik faylni yaratish uchun fayllarni
kompilatsiya qilish
|
mkdir
|
katalog yaratish
|
paste
|
matnlarni faylga joylashtirish
|
pr
|
chop etish uchun faylni formatlash
|
rm
|
faylni o‘chirish
|
rmdir
|
katalogni o‘chirish
|
sort
|
fayl satrlarini alifbo bo‘yicha tartiblash
|
tail
|
fayldan ohirgi satrlarni chiqarish
|
tr
|
Belgilarni bir to‘plamdan boshqasiga o‘zgartirish
|
POSIX 1003.1-2008 standarti ushbu dasturlarning taxminan 150 tasining sintaksisi va semantikasini aniqlaydi, asosan birinchi uchta toifaga kiradi. Ushbu dasturlarni standartlashtirish g‘oyasining maqsadi barcha Linux tizimlarida ishlaydigan qobiq skriptlarini yozish imkoniyatiga ega bo‘lishdir. Ushbu standart yordamchi dasturlarga qo‘shimcha ravishda veb-brauzerlar, multimedia fayllarini ishga tushuruvchilar, rasmlarni ochish dasturlari, ofis to‘plamlari va boshqa shu kabi ko‘plab dasturlar mavjud. Fayllar va kataloglarni boshqarish buyruqlari 9.1- jadvalda keltirilgan. Masalan, quyidagi buyruqni ko‘rib chiqamiz:
cp a b
Ushbu buyruq asl faylni o‘zgartirmasdan, a faylni b fayliga ko‘chirib o‘tkazadi.
Yadro tuzilishi
9.1- rasmda Linux operatsion tizimining umumiy tuzilishi ko‘rsatilgan. Endi tizimning yadrosini batafsil ko‘rib chiqaylik (jarayonlarni va fayl tizimini rejalashtirishni o‘rganishni boshlashdan oldin). Yadro to‘g‘ridan-to‘g‘ri qurilma ta’minoti bilan ishlaydi va K/Ch qurilmalari va xotira boshqaruv bloki bilan o‘zaro aloqani ta’minlaydi, shuningdek, protsessorning ularga kirishini nazorat qiladi. Yadroning pastki darajasi (9.2- rasm) past darajadagi uzilishlarni ishlov beruvchi va dispetcherlash mexanizmidan iborat. Dispetcherlash uzilish sodir bo‘lganda amalga oshiriladi. Shu bilan birga, past darajadagi kod jarayonning bajarilishini to‘xtatadi, holatini yadro jarayonlari tarkibida saqlaydi va tegishli drayverni ishga tushiradi. Jarayonni dispetcherlash yadro ma’lum bir operatsiyani tugatgandan so‘ng amalga oshiriladi va foydalanuvchi jarayonini yana ishga tushurish vaqti keladi.
Keyin turli xil yadro quyi tizimlarini uchta asosiy komponentlarga ajratilgan. 9.2- rasmdagi kiritish/chiqarish komponentlari yadroning barcha qismlarini, quril-malar bilan o‘zaro ishlashni, shuningdek, tarmoq operatsiyalari va tashqi qurilmalarga kiritish/chiqarish operatsiyalarini bajarishni o‘z ichiga oladi. Eng yuqori darajada, barcha kiritish/chiqarish operatsiyalari Virtual fayl tizimi (VFS- Virtual File System) darajasida birlashtirilgan. Eng yuqori darajada faylni o‘qish jarayoni (u xotirada yoki diskda bo‘ladimi) - bu terminal kirishidan belgilar o‘qish operatsiyasini
bajarish bilan bir xil. Eng past darajada, barcha kiritish/chiqarish operatsiyalari biron bir qurilma drayveridan o‘tadi. Linux ning barcha drayverlari belgili qurilma drayverlari yoki blokli qurilma drayverlari deb tasniflanadi, asosiy farqi shundaki qidirish va tasodifiy kirishga faqat blokli qurilmalar uchun ruxsat beriladi. Texnik nuqtai nazardan, tarmoq qurilmalari belgili qurilmalar, ammo ular bilan ishlash biroz farq qiladi, shuning uchun ularni ajratib ko‘rsatish yaxshiroq (9.2- rasmda ham ajratib ko‘rsatilgan).
9.2- rasm. Linux operatsion tizimi yadrosi tuzilishi
Linux tizimida jarayonlar
Linux tizimidagi asosiy faol obyektlar - bu jarayonlar. Har bir jarayon bitta dasturni bajaradi va dastlab bitta boshqaruv oqimini oladi. Boshqacha qilib aytganda, jarayonda keyingi bajariladigan ko‘rsatmalarni kuzatib boradigan bitta ko‘rsatma hisoblagichi mavjud. Linux qo‘shimcha jarayonlarni yaratishga imkon beradi (bajarishni boshlaganidan keyin). Linux - ko‘p vazifali tizim va bir vaqtning
o‘zida bir nechta mustaqil jarayonlar ishlashi mumkin. Bundan tashqari, har bir foydalanuvchi bir vaqtning o‘zida bir nechta faol jarayonlarga ega bo‘lishi mumkin, shuning uchun bir vaqtning o‘zida yuzlab va hatto minglab jarayonlar katta tizimda ishlashi mumkin. Aslida, bitta foydalanuvchi ishchi stansiyalarida o‘nlab fon jarayonlari mavjud, ular demonlar (daemons) deb nomlanadi. Ular tizim qobig‘idan ishga tushganda boshlanadi. Oddiy demon - bu cron. Ushbu demon sizga Linux tizimingizni bir necha daqiqa, soat, kun va hatto oylar davomida rejalashtirishga imkon beradi. Masalan, foydalanuvchi keyingi seshanba kuni soat 3 da tish shifokoriga borishi rejalashtirilgan deb tasavvur qilamiz. Belgilangan kun va vaqt kelganda, cron demon o‘z ishini ko‘radi va o‘z vaqtida ovozli signal dasturini (yangi jarayon shaklida) boshlaydi. Cron demon shuningdek, vaqti-vaqti bilan vazifalarni bajarish uchun ishlatiladi, masalan, har kuni soat 4.00 da diskdan nusxa olish. Demonlar Linux tizimida juda sodda tarzda amalga oshiriladi, chunki ularning har biri boshqa jarayonlarga qaramasdan alohida jarayon hisoblanadi. Linux operatsion tizimida jarayonlar yaratish juda oddiydir. Fork tizim chaqiruvi asl jarayon nusxasini yaratadi, ona jarayoni (parent process) deb ataladi. Yangi jarayon farzand jarayoni (child process) deb ataladi. Ona va farzand jarayonlari o‘zlarining shaxsiy xotira maydoniga ega. Agar ona jarayoni keyinchalik biron bir o‘zgaruvchini o‘zgartirsa, unda bu o‘zgarishlar farzand jarayoniga ko‘rinmaydi (va aksincha). Ochiq fayllar ona va farzand jarayonlari o‘rtasida almashiladi. Bu shuni anglatadiki, agar biron-bir fayl fork tizim chaqirig‘idan oldin ona jarayonida ochilgan bo‘lsa, kelajakda ikkala jarayonda ham ochiq qoladi. Ushbu faylga biron bir jarayon tomonidan kiritilgan o‘zgartirishlar boshqasiga ko‘rinadigan bo‘ladi. Bu xatti-harakatlar yagona oqilona usuldir, chunki bu o‘zgarishlar ushbu faylni ochadigan har qanday boshqa jarayon uchun ham ko‘rinadi.
Linux operatsion tizimida jarayonni yaratish
pid = fork( ); /* agar fork muvaffaqiyatli tugatilsa, pid > 0 ona jarayonida */
if (pid < 0) {
handle_error(); /* fork muvaffaqiyatsiz tugadi (masalan, xotira yoki qandaydir jadval to‘lib qolsa) */
} else if (pid > 0) { /* bu yerda ona kodi joylashgan */
} else { /* bu yerda farzand kodi joylashgan */
}
Jarayonlar o‘zlarining PID-lariga ega bo‘ladilar (PID-jarayon identifikatori). Yuqorida aytib o‘tilganidek, jarayon yaratilganda, uning PID-si yangi jarayonning onasiga beriladi. Jarayon identifikatorlari turli xil usullarda qo‘llaniladi. Masalan, farzand jarayoni tugaganda, uning onasi yangi tugatilgan farzand jarayonining PID-ni oladi. Bu juda muhim bo‘lishi mumkin, chunki ona jarayonida ko‘plab farzand jarayonlari bo‘lishi mumkin. Farzand jarayonning ham farzand jarayonlari bo‘lishi mumkin. Linux tizimida jarayonlar bir-birlari bilan xabarlarning biron bir shaklidan foydalangan holda aloqa o‘rnatishi mumkin. Siz ikkita jarayon o‘rtasida kanal yaratishingiz mumkin, bunda bitta jarayon baytlar oqimini yozishi mumkin, boshqa jarayon esa o‘qishi mumkin. Ushbu kanallar ba’zan kanallar (pipes) deb ataladi. Jarayonni sinxronizatsiya qilish bo‘sh kanaldan ma’lumotlarni o‘qiyotganda jarayonni blokirovka qilish orqali amalga oshiriladi. Kanalda ma’lumotlar paydo bo‘lganda, jarayon blokdan chiqariladi. Jarayonlar boshqa usulda - dasturiy uzilishlardan foydalangan holda aloqa o‘rnatishi mumkin. Jarayonlar tizimga kiruvchi signal kelganida qanday harakatlar qilish kerakligini aytishi mumkin.
Linuxda jarayonlarni boshqarish tizim chaqiruvi
Qobiqdan foydalanganda, farzand jarayoni foydalanuvchi tomonidan kiritilgan buyruqni bajarishi kerak. U buni exec tizim chaqiruvi bilan amalga oshiradi, bu butun xotira nusxasini birinchi parametrda ko‘rsatilgan fayl tarkibiga almashtiradi.
Umumiy holatda, exec tizim chaqiruvi uchta parametrga ega: bajariladigan fayl nomi, massiv argumentlari ko‘rsatgichi va massiv qatorlari ko‘rsatgichi. Execl, execv, execle va execle kabi turli xil kutubxona protseduralari sizga ba’zi parametrlarni o‘tkazib yuborish yoki ularni boshqa yo‘llar bilan belgilashga imkon beradi. Ushbu protseduralarning barchasi bir xil tizim chaqirig‘iga murojaat qiladi.
Linux da jarayonlarni boshqarish
UNIX ning klassik tizimda jarayonlarni boshqarish vositalari jarayonni yaratish va yangi dasturni ishga tushurishni ikki turdagi amallarga ajratadi:
fork tizim chaqiruvi yangi jarayonni yaratadi;
yangi dastur exec tizim chaqiruvi yordamida ishga tushuriladi.
UNIX da jarayon har bir alohida dastur konsepsiyasini amalga oshirishni qo‘llab-quvvatlash uchun zarur bo‘lgan barcha axborot bor. Linux tizimida jarayonning xususiyatlari uch guruhga bo‘linadi: jarayonni, uni o‘rab turgan muhit va kontekstni identifikatsiyalash. Jarayon identifikatori (PID) – bu jarayonning yagona identifikatori (son); ilova boshqa jarayon uchun signal, modify yoki wait tizim chaqiruvi bajarilayotganida operatsion tizimida jarayonlarga buyruqlar berish uchun foydalaniladi.
|
|
Bosh sahifa
Aloqalar
Bosh sahifa
Operatsion · � � tizimlar o‘zbekiston respublikasi axborot texnologiyalari va kommunikatsiyalarini rivojlantirish vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti u
|