OS-9 yadrosi "yadro" bo'lib, u tizim administratori, nazoratchi va resurs menejeri bo'lib xizmat qiladi. U taxminan 3K bayt uzunlikda va odatda ikkita 2K bayt ROMda joylashgan: "P1" $F800 - $FFFF manzillarida va "P2" pozitsiyadan mustaqil. P2 ROMning faqat yarmini (1K) egallaydi, ROMdagi boshqa joy disk yuklash moduli uchun ajratilgan.
Yadroning asosiy vazifalari:
Qayta ishga tushirilgandan so'ng tizimni ishga tushirish.
Xizmat so'rovini qayta ishlash.
Xotirani boshqarish.
MPU boshqaruvi (ko'p dasturlash).
Asosiy uzilishlarni qayta ishlash.
E'tibor bering, kiritish/chiqish funksiyalari yuqoridagi ro'yxatga kiritilmagan; Buning sababi, yadro ularni bevosita qayta ishlamaydi. Yadro kirish/chiqish xizmati so'rovlarini qayta ishlash uchun to'g'ridan-to'g'ri boshqa Input/Output Manager (IOMAN) moduliga uzatadi.
Uskunani qayta o'rnatgandan so'ng, yadro tizimni ishga tushiradi, bu quyidagilarni o'z ichiga oladi: xotiradagi ROMlarni aniqlash, mavjud RAM miqdorini aniqlash, yuklash qurilmasidan ROMda bo'lmagan barcha kerakli modullarni yuklash va tizimni ishga tushirish vazifasini ( "SYSGO" ) bajarish. . INIT moduli ishga tushirish vaqtida dastlabki jadval o'lchamlari va tizim qurilmalari nomlarini belgilash uchun ishlatiladigan jadvaldir.
3.1. Yadro xizmati so'rovini qayta ishlash
Xizmat so'rovlari (tizim qo'ng'iroqlari) OS-9 va yig'ish tili darajasidagi dasturlar o'rtasida xotirani ajratish, yangi jarayonlar yaratish va hokazolar uchun aloqa qilish uchun ishlatiladi. Tizim qo'ng'iroqlari SWI2 ko'rsatmasidan so'ng kodni ifodalovchi doimiy baytdan foydalanadi. Tizim chaqiruvlari uchun parametrlar odatda MPU registrlarida uzatiladi. Kirish-chiqarish va xotirani boshqarish funktsiyalariga qo'shimcha ravishda, jarayonlarni boshqarish va vaqtni saqlash kabi boshqa xizmat so'rovi funktsiyalari mavjud.
OS9Defs deb nomlangan tizimli assembler tilini tenglashtiruvchi fayl barcha xizmat so'rovlari uchun ramziy nomlarni belgilaydi. Ushbu fayl qo'lda yozilgan yoki kompilyator tomonidan yaratilgan kodni yig'ishda kiritilgan. OS-9 Assembler tizimi qo'ng'iroqlarni yaratish uchun o'rnatilgan makrosga ega, masalan:
quyidagilarga ekvivalent sifatida tan olinadi va yig'iladi:
Xizmat so'rovlari ikki toifaga bo'linadi:
I/U SO‘RUVLARI turli kiritish/chiqarish funksiyalarini bajaradi. Ushbu turdagi so'rovlar yadro orqali qayta ishlash uchun IOMAN ga uzatiladi. Ushbu turkumdagi ramziy nomlar "I$" prefiksiga ega, masalan, "o'qish" xizmati so'rovi I$Read deb ataladi .
FUNKSION SO‘ROVLARI xotirani boshqarish, ko‘p dasturlash va boshqa funksiyalarni bajaradi. Ko'pchilik yadro tomonidan qayta ishlanadi. Ushbu turkumning ramziy nomlari "F$" bilan boshlanadi .
Do'stlaringiz bilan baham: |