Real Time Embedded: - Yadroviy reaktorlarni boshqarish
- Samolyotni boshqarish
- GPS
- MP3 –pleyer
- Mobil telefon
Real Time, but not Embedded: - Birja savdolari tizimi
- Skayp
Embedded, but not Real Time: - Uy temperaturasi nazoati
- Yong‘in xavfsizligi tizimi
- Kir yuvish mashinasi
- Muzlatgich
Suyuqlik o‘tishini boshqarish tizimi
Truba
Oqim o’lchagichi
Klapan
Interfeys
Kompyuter
Vaqt
Kirish signalini o’qish
Ishlov berish
Klapan holati
Upakovkalash sexi boshqaruv tizimi
Kontroller
Kompyuter
Kalit
Konveyer liniyasi
Yashik
0 = stop
1 = start
Qo’ng’iroq
Kalit
Konveyerni boshqarish tizimi
Konveyerni
boshqarish
tizimi
Element,
zapchast
Yig‘uvchi
instrument
Manipulyator
Konveyer
lentasi
Mahsulot
Real vaqt o‘rnatilgan tizimi
Raqamli nazorat
algoritmlari
Ma’lumotni
qayd
qilish
Ma’lumotni tasvirlash
Operator interfeysi
Interfeys
Muhandislik
tizimi
Monitoring tizimi
Real-Time
Clock
MB
Operator
konsoli
Displey
Real vaqt kompyuteri
RVT xarakteristikalari
Hodisalarga asoslangan boshqaruv
Ishdan chiqish qiymati
Parallelizm
Avtonomlik
Ishonchlilik / chidamlilik
Vaqt tizimi tushunchalari
Raqamli soat
takt
interval
hozir
lahza
lahza
o’tgan
kelgusi
davomiylik
hodisa
hodisa
Vaqt chizig’i
Real vaqt tizimlari turlari - Hard real-time —amallarni belgilangan vaqtda absolyut bajarilishi talab qilinadigan tizimlar. Masalan: Parvozni boshqarish tizimlari.
- Soft real-time — vaqt muddatlari muhim hisoblanib, ushbu muddatlar buzilganda ham oldingidek faoliyat yuritadigan tizimlar. Masalan: maʼlumot yig‘ish tizimlari
- Ochiq yoki Yopiq real vaqt tizimlari : masalalari yoki funksiyalari bajarish vaqtida yaratilishi yoki ishga tushirilishi nazarda tutilgan tizimlar
Boshqaruv tizimi - Inson-mashina interfeysi:
- Kiritish qurilmalari (klaviatura) va chiqarish qurilmalari (displey)
- Instrumentlar interfeysi:
- Sensorlar va aktuatorlar - fizik va raqamli signallarni o‘girish
Operator
Boshqariluvchi obyekt
Real vaqt kompyuter tizimi
Inson-mashina interfeysi
Instrumentlar interfeysi
Boshqaruv tizimiga misol
Misol: bitta sensor va bitta aktuatordan iborat boshqaruv tizimi
Hisoblashni
boshqarish
A/D
A/D
D/A
Sensor
Boshqariluvchi
obyekt
Aktuator
rk
yk
y(t)
u(t)
uk
Kirish signali r(t)
Tashqi ta’sir
Ma’ruza tarkibi - Real vaqt o‘rnatilgan tizimlar
- Asosiy dasturlash paradigmalari
- Real vaqt tizimda dasturlash tushunchasi
- Real vaqt tizimlari tahlili va dasturlash usullari
Dasturlash paradigmasi tushunchasi - Dasturlash paradigmasi:
- Dasturni qurish usullari (dastur strukturasi va elementlari)
- Paradigma aniqlaydi:
- Turli dasturlash tillari:
- Turli paradigmani qo‘llaydi
- Faqat bitta va/yoki bir nechta paradigmalarni qo‘llaydi
- C# dasturlash tili
- Obyektga-yo‘naltirilgan paradigma
va - Funksional paradigma ni qo‘llaydi
Asosiy dasturlash paradigmalari - Hisoblashlarni dastur holatini o‘zgartiruvchi operator kabi aniqlaydi
- Misol: Oldin buni bajar va keyin uni bajar
Imperativ
- Hisoblashlarni matematik funksiyalarni baholash tarzida aniqlaydi
- Misol: Formulani hisoblash va natijasini nimagadir ishlatish
Funksional
- Dasturni obyekt ko‘rinishida tasvirlash: maʼlumotlar strukturasi = maʼlumot maydoni + bog‘lanish
Obyektga-yo’naltirilgan
- Muammoni hal qilishda asosiy munosabatlarga qarab bilimlarni qo‘llash paradigmasi. Qaror qabul qilish tizimi
- Misol: yechimni topish savol va unga berilgan javoblarga bog‘liq
Mantiqiy
- Dastur jarayoni hodisalar bilan aniqlanadi: sichqonchani bosish, knopkani bosish, kirish datchiklari
Hodisa orqali boshqariluvchi
Ma’ruza tarkibi - Real vaqt o‘rnatilgan tizimlar
- Asosiy dasturlash paradigmalari
- Real vaqt tizimda dasturlash tushunchasi
- Real vaqt tizimlari tahlili va dasturlash usullari
- Dasturlash tili tomonidan bajariladi
- Misol: Ada, Java
- Afzalligi: Operatsion tizimga bog‘liq bo‘lmaslik, kompilyator yordamida o‘zaro bog‘lanishni tekshirish
- Operatsion tizim yoki biblioteka tomonidan bajariladi
- Misol: C/C++
- Afzalligi: ko‘p tilli struktura, operatsion tizim standartlari
Parallel dasturlash - Multidasturlash jarayonlar: dastur bajarilishi
- Bitta protsessorda amalga oshadi
- Multiprotsessli jarayonlar: dastur bajarilishi
- ko‘pprotsessorli tizimda (umumiy xotirali) amalga oshadi
- Taqsimlangan protsessli jarayonlar: dastur bajarilishi
- Bir nechta protsessorlarda (alohida xotirali) amalga oshadi
Protsess - Protsess – dasturning ishga tushirilgan ekzemplyari ko‘rinishidir
- Virtual mashina – protsesslar boshqa protsesllarning taʼsiriga uchramaslik uchun o‘zining virtual mashinasini ishga tushiradi
- U dastur resurslari va bajarilish holati to‘g‘risidagi quyidagi maʼlumotlarni o‘z ichiga oladi:
- Tashqi muhit
- Dastur komandalari
- Registrlar, massiv, stek
- Fayl deskriptori
- Harakat signali
Potok - Potok protsess ichida mavjud bo‘lib, protsess resurslaridan foydalanadi
- O‘zida saqlaydi: bajarish steki, lokal maʼlumotlar, va h.k.
- Global protsess maʼlumotlari va resurslarini taqsimlaydi
Protsessda
bitta potok
Protsessda
bir nechta
potok
Bitta protsess
Bir nechta protsess
Protsess va potoklar
Unix protsess
Unix protsess ichidagi potok
Protsess holatlari - Protsesslarni tasvirlash
- Protsessni batafsil maʼlumoti
- cobegin, coend
Protsessni yakunlash
Tugatish
- Protsess bajarilishini tugallanishi
O’zini to’xtatish
- O’zini to’xtatuvchi operatorni bajarish
Abort
- Boshqa protsess ta’sirida to’xtatish
Xatolik
- Xatolikni vujudga kelishidan to’xtash
Sikl
Vaqt parametri - Birliklar?
- sekundlar, millisekundlar, MP sikli, tizim takti, ...
- Boshlamish vaqti?
- 1 yanvar 1970 y. Tizim yuklanishi, Dastur ishga tushishi, ...
Vaqt bilan bog‘liqlik talablari - Real vaqt rejimida dasturlash uchun quyidagilarni inobatga olish zarur:
- Soatga murojaat
- Tashqi qurilmadan maʼlumotlarni o‘qish kabi funksiyalar uchun apparat soatga murojaat etiladi
- Kutish vaqti
- Absolyut kutish vaqti
- Nisbiy kutish vaqti
- Kutish vaqti davomiyligi : bajarishni davom ettirish yoki to‘xtatish chegara vaqti
- Taymaut
- Taymer tomonidan bajariladi
Ma’ruza tarkibi - Real vaqt o‘rnatilgan tizimlar
- Asosiy dasturlash paradigmalari
- Real vaqt tizimda dasturlash tushunchasi
- Real vaqt tizimlari tahlili va dasturlash usullari
Dasturni yaratish - Dasturni yaratish protsesslari:
- Talab = Nimalar? Ular mos keladimi?
- Dastur arxitekturasini loyihalash = Qanday?
Vaqt / mantiqiy cheklovlarni tekshirish - Amalga oshirish = dastur komponentlarini yaratish
- Testlash: Dastur to‘g‘riligini tekshirish
Dasturlash instrumentlari - Quyi darajali tillar:
- Yuqori darajali tillar:
Dasturlash instrumentlari - Kross-kompilyatorlar:
- Nega kross-kompilyatorlar?: chunki tizim konkret apparat/dasturiy taʼminotdan iborat cheklangan resurslarga ega.
- Host: Dastur kompilyatsiya qilinayotgan muhit.
- Maqsadli tizim (Target): dastur ishga tushiriladigan muhit.
Dasturlash instrumentlari - Quyi darajadagi tilga misol: C
- Maʼlum darajada ommalashgan.
- Apparat qurilmalarga to‘g‘ridan-to‘g‘ri murojat.
- parallelizm / sinxronizatsiya / vaqt uchun bibliotekalardan foydalaniladi
- Katta bo‘lmagan real vaqt dasturlarini yaratish qulay
Dasturlash instrumentlari - Yuqori darajadagi tilga misol: Ada
- vaqt / parallelizm / sinxronizatsiya algoritmlariga ega
- Kodlarni ko‘chirib o‘tkazish imkoniyati
- Kodlar bloklarini alohida kompilyatsiya qilish
- Xavfsiz dasturlash (qatʼiy qoidalar, turlar va tahlil)
- Murakkab til. Dasturchilar kollektivi kichik
- Yirik real vaqt dasturlarini yaratishda qulay
Do'stlaringiz bilan baham: |