1-bo‘lim

Operatsion tizim nima?

OT nima uchun kerak, u qanday vazifalarni bajaradi, qanday turlari bor va zamonaviy tizimlar qanday paydo bo'lgan.

🕑 10 daqiqa o‘qish 📄 931 so‘z 👁 2 marta ko‘rilgan
Ushbu bo‘lim mundarijasi
  1. OT nima qiladi?
  2. Uchta asosiy vazifa
  3. 1. Resurslarni taqsimlash
  4. 2. Himoya va ajratish
  5. 3. Murakkablikni yashirish
  6. Qisqacha tarix
  7. Yadro (kernel) nima?
  8. Yadro turlari
  9. Zamonaviy OT lar
  10. OT turlari
  11. Nimalarni ko'ramiz?
  12. Birinchi kuzatuv
  13. Xulosa

Kompyuteringizni yoqqaningizda, hech qanday dastur ishlamasidan oldin operatsion tizim ishga tushadi. U hamma narsani boshqaradi.

OT nima qiladi? #

OT - dasturlar bilan temir orasidagi vositachi Dasturlar Brauzer, matn muharriri, o'yin, sizning C dasturingiz tizim chaqiruvlari Operatsion tizim Jarayonlar Xotira Fayl tizimi Qurilmalar Resurslarni taqsimlaydi, himoya qiladi, murakkablikni yashiradi drayverlar Temir (hardware) Protsessor, xotira, disk, tarmoq kartasi, ekran
Dasturlar temirga to'g'ridan-to'g'ri murojaat qila olmaydi

Uchta asosiy vazifa #

1. Resurslarni taqsimlash #

Kompyuterda bitta protsessor, cheklangan xotira va bitta disk bor. Lekin o'nlab dastur bir vaqtda ishlaydi. Kim qachon ishlaydi, qaysi dasturga qancha xotira beriladi - buni OT hal qiladi.

2. Himoya va ajratish #

Brauzeringiz matn muharriringizning xotirasini o'qiy olmaydi. Bir dastur qulasa, boshqalari ishlashda davom etadi. Bu ajratishni OT ta'minlaydi.

3. Murakkablikni yashirish #

Diskka yozish uchun sektorlar, boshlar va aylanish tezligini bilish shart emas. Siz shunchaki fopen va fprintf yozasiz - qolganini OT qiladi.

C
FILE *f = fopen("salom.txt", "w");
fprintf(f, "Salom\n");
fclose(f);

Bu uch qator ortida yuzlab amal turadi: disk drayveri, kesh, fayl tizimi, huquqlarni tekshirish, xotira ajratish.

OT bo'lmasa nima bo'ladi?

Mikrokontrollerda (masalan Arduino'da) OT yo'q. U yerda:

  • bir vaqtda faqat bitta dastur ishlaydi;
  • xotirani o'zingiz taqsimlaysiz;
  • har bir qurilma bilan to'g'ridan-to'g'ri ishlaysiz;
  • xato qilsangiz - butun tizim qotadi.

OT aynan shu muammolarni hal qilish uchun paydo bo'lgan.

Qisqacha tarix #

Operatsion tizimlarning rivojlanishi 1950 Paket rejim 1969 UNIX 1981 MS-DOS 1991 Linux yadrosi 2001 macOS X 2008 Android Android va macOS - ikkalasi ham UNIX g'oyalari ustiga qurilgan
UNIX ellik yildan keyin ham zamonaviy tizimlar asosida yotadi
Linus Torvalds va Linux

1991-yilda Finlandiyalik talaba Linus Torvalds o'z kompyuteri uchun kichik yadro yozdi va uni internetga qo'ydi. U shunday yozgan edi: «Bu shunchaki qiziqish - katta va professional narsa emas».

Bugun Linux yadrosi dunyodagi serverlarning aksariyatida, barcha Android telefonlarida, superkompyuterlarda va kosmik apparatlarda ishlaydi.

Yadro (kernel) nima? #

Yadro - operatsion tizimning markaziy qismi. U doim xotirada turadi va eng muhim vazifalarni bajaradi.

Yadro bajaradiYadro bajarmaydi
Jarayonlarni boshqarishGrafik interfeys
Xotira taqsimlashBrauzer
Fayl tizimiMatn muharriri
Tarmoq protokollariKalkulyator
Qurilma drayverlariTerminal dasturi
Terminal
uname -a
Natija
Linux softromeda 6.8.0-51-generic #52-Ubuntu SMP x86_64 GNU/Linux

Bu buyruq yadro versiyasini ko'rsatadi. Ubuntu, Debian, Fedora - bular distributivlar, ularning hammasida bir xil Linux yadrosi ishlaydi.

Yadro turlari #

Ikki asosiy yondashuv Monolit yadro Fayl tizimi + drayverlar + tarmoq + xotira - hammasi bitta katta yadroda + Tez (chaqiruvlar arzon) - Drayver xatosi butun tizimni qulatadi Linux, Windows, macOS Mikroyadro Kichik yadro Fayl xizmati Drayverlar Tarmoq + Barqaror (xizmat qulasa - qayta ishga tushadi) - Sekinroq (xizmatlar orasida aloqa) QNX, seL4, MINIX
Amalda ko'p tizimlar ikkalasining aralashmasi

Zamonaviy OT lar #

OTYadroQayerda ishlatiladi
LinuxMonolitServerlar, Android, superkompyuterlar
WindowsGibridShaxsiy kompyuterlar, o'yin
macOSGibrid (XNU)Apple kompyuterlari
AndroidLinux yadrosiTelefon, planshet
iOSXNU (Darwin)iPhone, iPad
FreeBSDMonolitServerlar, Netflix, PlayStation
QNXMikroyadroAvtomobil, tibbiy uskuna

OT turlari #

Vazifasiga qarab
TurXususiyatiMisol
Umumiy maqsadliHar xil ishga mosLinux, Windows
Real vaqt (RTOS)Javob vaqti kafolatlanganQNX, FreeRTOS
O'rnatilganKichik, maxsus qurilma uchunZephyr
TaqsimlanganKo'p kompyuter bitta tizim kabiPlan 9

Real vaqt tizimida eng muhimi tezlik emas, oldindan aytish mumkinligi. Avtomobil havo yostig'i 30 millisekundda ochilishi kerak - har safar, kafolat bilan. Oddiy Linux buni kafolatlay olmaydi.

Nimalarni ko'ramiz? #

Bo'limlarMavzu
1-2Asoslar: OT nima, yadro va foydalanuvchi rejimi
3-5Jarayonlar va oqimlar
6-8Rejalashtirish, sinxronizatsiya, deadlock
9-11Xotira boshqaruvi va virtual xotira
12-14Fayl tizimi va kiritish-chiqarish
15-16Jarayonlararo aloqa va signallar
17-19Huquqlar, yuklanish, konteynerlar
20Amaliy loyiha - o'z qobig'ingiz
Amaliyot uchun Linux kerak

Bu darslikdagi misollar Linux uchun yozilgan. Agar Windows'da bo'lsangiz, uch yo'l bor:

  1. WSL2 - Windows ichida haqiqiy Linux (eng oson yo'l):
Terminal
wsl --install
  1. Virtual mashina - VirtualBox yoki VMware'da Ubuntu.
  2. Ikki tizim - kompyuterga Linux'ni alohida o'rnatish.

macOS ham UNIX oilasidan, shuning uchun misollarning ko'pchiligi u yerda ham ishlaydi.

Birinchi kuzatuv #

Hozir kompyuteringizda nechta jarayon ishlayotganini ko'ring:

Terminal
ps aux | wc -l
Natija
312

Va ular qancha xotira ishlatayotganini:

Terminal
free -h
Natija
               total        used        free      shared  buff/cache
Mem:            15Gi       4.2Gi       6.8Gi       412Mi       4.5Gi
Swap:          2.0Gi          0B       2.0Gi

Bu raqamlar sizda boshqacha bo'ladi. Darslik davomida ularning har biri nimani anglatishini bilib olasiz.

Amaliy topshiriq
  1. WSL, virtual mashina yoki haqiqiy Linux o'rnating.
  2. uname -a bilan yadro versiyasini bilib oling.
  3. ps aux | wc -l bilan jarayonlar sonini sanang.
  4. free -h bilan xotira holatini ko'ring.
  5. df -h bilan disk holatini ko'ring.
  6. lscpu bilan protsessor haqida ma'lumot oling.
  7. Linus Torvalds va UNIX tarixi haqida o'qing.
  8. Monolit va mikroyadro farqini bir abzatsda yozing.
  9. Telefoningizda qaysi OT ishlashini va uning yadrosini aniqlang.
  10. Real vaqt tizimi qayerda kerakligiga uchta misol keltiring.

Xulosa #

  • Operatsion tizim - dasturlar bilan temir orasidagi vositachi.
  • Uch asosiy vazifasi: resurslarni taqsimlash, himoya qilish, murakkablikni yashirish.
  • Yadro - OT ning markaziy qismi, u doim xotirada turadi.
  • Monolit yadro tez, mikroyadro barqaror; ko'p tizimlar aralash yondashuvni tanlaydi.
  • Linux, Android, macOS va iOS - hammasi UNIX g'oyalari ustiga qurilgan.
  • Real vaqt tizimida eng muhimi tezlik emas, kafolatlangan javob vaqti.
  • Bu darslik uchun Linux kerak - WSL2 eng oson yo'l.

Keyingi bo'limda yadro va foydalanuvchi rejimi farqini ko'ramiz.

Xatolik topdingizmi?

Imlo xatosi, ishlamaydigan kod yoki noto‘g‘ri ma‘lumotni ko‘rsangiz - bizga xabar bering. Har bir xabar administrator tomonidan ko‘rib chiqiladi.