This document provides Arabic verb conjugations and definitions for the root verb "k-t-b" which means "to write". It lists the different conjugations for past, present, future, commands, nouns, and other forms. It also provides some technical grammatical terms and explanations for deriving new meanings from the root verb through modification. The document serves as a reference for how the verb "to write" takes different forms depending on factors like time, person, intention, and relation to other elements.
Commonly used Approaches to Real Time SchedulingRaaz Karkee
This document discusses commonly used approaches to real-time scheduling, including clock-driven, weighted round robin, and priority-driven approaches. It describes the key characteristics of each approach and provides examples. The document also covers topics like effective release times and deadlines, optimality of EDF and LST algorithms, and anomalous behavior that can occur in priority-driven systems with multiple processors or non-preemptible tasks.
Theory of automata and formal language lab manualNitesh Dubey
The document describes several experiments related to compiler design including lexical analysis, parsing, and code generation.
Experiment 1 involves writing a program to identify if a given string is an identifier or not using a DFA. Experiment 2 simulates a DFA to check if a string is accepted by the given automaton. Experiment 3 checks if a string belongs to a given grammar using a top-down parsing approach. Experiment 4 implements recursive descent parsing to parse expressions based on a grammar. Experiment 5 computes FIRST and FOLLOW sets and builds a LL(1) parsing table for a given grammar. Experiment 6 implements shift-reduce parsing to parse strings. Experiment 7 generates intermediate code like Polish notation, 3-address code, and quadruples
This document provides a user's guide for FANNTool 1.0, a GUI for the FANN neural network library. It describes how to use FANNTool to load and preprocess data, design and train neural networks on datasets like time series of sunspot values and Parkinson's disease speech data. Key functions of FANNTool include data processing, network design and training, monitoring training with logs and graphs, and fine-tuning training parameters. The guide explains the process through examples to predict sunspot values from past data.
This slide contains,
1) Some terminologies like yields, derives, word, derivation
2) Leftmost and Rightmost derivation
3) Ambiguity checking
4) Parse tree generation and ambiguity checking
This document discusses assembly language programming concepts and provides examples of assembly language programs for the 8086 processor. It covers variables, assignment, input/output, and control flow. It also provides examples of complete assembly language programs that display characters, read keyboard input, and print strings. The document concludes with sample programming exercises involving operations like addition, subtraction, and conditional branching.
This is a short presentation on Vertex Cover Problem for beginners in the field of Graph Theory...
Download the presentation for a better experience...
This document provides Arabic verb conjugations and definitions for the root verb "k-t-b" which means "to write". It lists the different conjugations for past, present, future, commands, nouns, and other forms. It also provides some technical grammatical terms and explanations for deriving new meanings from the root verb through modification. The document serves as a reference for how the verb "to write" takes different forms depending on factors like time, person, intention, and relation to other elements.
Commonly used Approaches to Real Time SchedulingRaaz Karkee
This document discusses commonly used approaches to real-time scheduling, including clock-driven, weighted round robin, and priority-driven approaches. It describes the key characteristics of each approach and provides examples. The document also covers topics like effective release times and deadlines, optimality of EDF and LST algorithms, and anomalous behavior that can occur in priority-driven systems with multiple processors or non-preemptible tasks.
Theory of automata and formal language lab manualNitesh Dubey
The document describes several experiments related to compiler design including lexical analysis, parsing, and code generation.
Experiment 1 involves writing a program to identify if a given string is an identifier or not using a DFA. Experiment 2 simulates a DFA to check if a string is accepted by the given automaton. Experiment 3 checks if a string belongs to a given grammar using a top-down parsing approach. Experiment 4 implements recursive descent parsing to parse expressions based on a grammar. Experiment 5 computes FIRST and FOLLOW sets and builds a LL(1) parsing table for a given grammar. Experiment 6 implements shift-reduce parsing to parse strings. Experiment 7 generates intermediate code like Polish notation, 3-address code, and quadruples
This document provides a user's guide for FANNTool 1.0, a GUI for the FANN neural network library. It describes how to use FANNTool to load and preprocess data, design and train neural networks on datasets like time series of sunspot values and Parkinson's disease speech data. Key functions of FANNTool include data processing, network design and training, monitoring training with logs and graphs, and fine-tuning training parameters. The guide explains the process through examples to predict sunspot values from past data.
This slide contains,
1) Some terminologies like yields, derives, word, derivation
2) Leftmost and Rightmost derivation
3) Ambiguity checking
4) Parse tree generation and ambiguity checking
This document discusses assembly language programming concepts and provides examples of assembly language programs for the 8086 processor. It covers variables, assignment, input/output, and control flow. It also provides examples of complete assembly language programs that display characters, read keyboard input, and print strings. The document concludes with sample programming exercises involving operations like addition, subtraction, and conditional branching.
This is a short presentation on Vertex Cover Problem for beginners in the field of Graph Theory...
Download the presentation for a better experience...
The document describes a problem involving scheduling of processes with I/O and processor usage over multiple time periods, where each process spends half the time period doing I/O and half using the processor, and defines metrics like turnaround time and throughput to compute for different numbers of simultaneous jobs under two scheduling models. It also involves possible process state transitions and determining which are possible or impossible, and suggests an intermediate scheduling policy that balances priority and performance when processes are in the Ready and Ready/Suspend states.
This document provides an introduction to and overview of the first chapter of the textbook "Basic Arabic Grammar: Part A". The chapter focuses on forming basic nominal sentences in Arabic. It discusses definite and indefinite nouns and adjectives, and how they are used in nominal sentences of the form "subject is/are predicate". It also introduces the singular detached pronouns that can replace nouns as subjects, and the conjunction "and" which can join multiple predicates or nominal sentences. Several example sentences are provided to illustrate these concepts.
The document discusses Windows XP's scheduling algorithm. It uses a priority-based, preemptive approach with 32 priority levels divided into variable and real-time classes. The scheduler ensures the highest priority thread runs by maintaining queues for each priority level and traversing from highest to lowest. Threads start at the process' base priority and may have their priority lowered after time quantums expire to limit CPU consumption of compute-intensive threads.
A process is a program in execution that includes the program counter, processor registers, stack, data section, and heap. A process can be in different states such as new, running, waiting, ready, or terminated. The operating system represents each process using a Process Control Block that stores information about the process's state, resources, scheduling, and more. This allows the operating system to efficiently manage and switch between the execution of different processes.
Program design and problem solving techniquesDokka Srinivasu
The document provides an overview of program design and problem-solving techniques. It discusses the following key points in 3 or fewer sentences:
The document outlines the steps in program development including defining the problem, outlining the solution, developing an algorithm, testing the algorithm, coding the algorithm, running the program, and documenting the program. It also discusses algorithmic problem solving, writing pseudocode, meaningful naming conventions, the structure theorem of sequence, selection, and repetition, and communication between modules including variable scope, global vs local variables, and passing parameters.
In computer science, divide and conquer is an algorithm design paradigm based on multi-branched recursion. A divide-and-conquer algorithm works by recursively breaking down a problem into two or more sub-problems of the same or related type until these become simple enough to be solved directly.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive function. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms for those who already suffer from conditions like anxiety and depression.
In this presentation i explain about the most important thing in operating system i.e Deadlock. Here i briefly explained what is deadlock, why deadlock occurs, deadlock in real life, methods of handling deadlock. Banker's algorithm and a numerical.
I hope its worth sharing!
The document discusses the benefits of exercise for mental health. It notes that regular physical activity can help reduce anxiety and depression and improve mood and cognitive function. Exercise has also been shown to enhance self-esteem and quality of life.
The document discusses process synchronization and deadlocks. It introduces race conditions, critical sections, and solutions to synchronize processes like semaphores. Classical problems like the dining philosophers problem and bridge crossing example are presented. Deadlocks are characterized by conditions like mutual exclusion, hold and wait, no preemption and circular wait. Methods to handle deadlocks include prevention through ordering of resource requests and avoidance using resource allocation states.
This document contains lecture notes on regular languages and pushdown automata (PDA) from a computer science professor. It defines regular languages as those recognized by finite state machines and context-free languages as those recognized by PDAs. It provides examples of each type of language and applications. It also includes examples of PDAs for specific languages like anbn and descriptions of the components and behavior of PDAs.
This document provides information about a course on Java programming fundamentals taught by Khirulnizam Abd Rahman. It includes details about the lecturer's background and programming experience, the course synopsis and objectives, main textbooks, and topics that will be covered such as control structures, methods, arrays, classes, and file I/O. Sample code is provided to demonstrate if/else and switch statements, including nested if statements. An exercise at the end prompts students to write a program using nested if/else statements to assign grades based on scores.
Fundamentals of Computer Design including performance measurements & quantita...Gaditek
This document provides an overview of the Computer Architecture course CNE-301 taught by Irfan Ali. The course outline covers topics like fundamentals of computer design, instruction set design, pipelining, memory hierarchy, multiprocessors, and case studies. Recommended books are also mentioned. The document then provides background on computer architecture and organization, the history of computers from first to fourth generations, and embedded systems.
The document describes a problem involving scheduling of processes with I/O and processor usage over multiple time periods, where each process spends half the time period doing I/O and half using the processor, and defines metrics like turnaround time and throughput to compute for different numbers of simultaneous jobs under two scheduling models. It also involves possible process state transitions and determining which are possible or impossible, and suggests an intermediate scheduling policy that balances priority and performance when processes are in the Ready and Ready/Suspend states.
This document provides an introduction to and overview of the first chapter of the textbook "Basic Arabic Grammar: Part A". The chapter focuses on forming basic nominal sentences in Arabic. It discusses definite and indefinite nouns and adjectives, and how they are used in nominal sentences of the form "subject is/are predicate". It also introduces the singular detached pronouns that can replace nouns as subjects, and the conjunction "and" which can join multiple predicates or nominal sentences. Several example sentences are provided to illustrate these concepts.
The document discusses Windows XP's scheduling algorithm. It uses a priority-based, preemptive approach with 32 priority levels divided into variable and real-time classes. The scheduler ensures the highest priority thread runs by maintaining queues for each priority level and traversing from highest to lowest. Threads start at the process' base priority and may have their priority lowered after time quantums expire to limit CPU consumption of compute-intensive threads.
A process is a program in execution that includes the program counter, processor registers, stack, data section, and heap. A process can be in different states such as new, running, waiting, ready, or terminated. The operating system represents each process using a Process Control Block that stores information about the process's state, resources, scheduling, and more. This allows the operating system to efficiently manage and switch between the execution of different processes.
Program design and problem solving techniquesDokka Srinivasu
The document provides an overview of program design and problem-solving techniques. It discusses the following key points in 3 or fewer sentences:
The document outlines the steps in program development including defining the problem, outlining the solution, developing an algorithm, testing the algorithm, coding the algorithm, running the program, and documenting the program. It also discusses algorithmic problem solving, writing pseudocode, meaningful naming conventions, the structure theorem of sequence, selection, and repetition, and communication between modules including variable scope, global vs local variables, and passing parameters.
In computer science, divide and conquer is an algorithm design paradigm based on multi-branched recursion. A divide-and-conquer algorithm works by recursively breaking down a problem into two or more sub-problems of the same or related type until these become simple enough to be solved directly.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive function. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms for those who already suffer from conditions like anxiety and depression.
In this presentation i explain about the most important thing in operating system i.e Deadlock. Here i briefly explained what is deadlock, why deadlock occurs, deadlock in real life, methods of handling deadlock. Banker's algorithm and a numerical.
I hope its worth sharing!
The document discusses the benefits of exercise for mental health. It notes that regular physical activity can help reduce anxiety and depression and improve mood and cognitive function. Exercise has also been shown to enhance self-esteem and quality of life.
The document discusses process synchronization and deadlocks. It introduces race conditions, critical sections, and solutions to synchronize processes like semaphores. Classical problems like the dining philosophers problem and bridge crossing example are presented. Deadlocks are characterized by conditions like mutual exclusion, hold and wait, no preemption and circular wait. Methods to handle deadlocks include prevention through ordering of resource requests and avoidance using resource allocation states.
This document contains lecture notes on regular languages and pushdown automata (PDA) from a computer science professor. It defines regular languages as those recognized by finite state machines and context-free languages as those recognized by PDAs. It provides examples of each type of language and applications. It also includes examples of PDAs for specific languages like anbn and descriptions of the components and behavior of PDAs.
This document provides information about a course on Java programming fundamentals taught by Khirulnizam Abd Rahman. It includes details about the lecturer's background and programming experience, the course synopsis and objectives, main textbooks, and topics that will be covered such as control structures, methods, arrays, classes, and file I/O. Sample code is provided to demonstrate if/else and switch statements, including nested if statements. An exercise at the end prompts students to write a program using nested if/else statements to assign grades based on scores.
Fundamentals of Computer Design including performance measurements & quantita...Gaditek
This document provides an overview of the Computer Architecture course CNE-301 taught by Irfan Ali. The course outline covers topics like fundamentals of computer design, instruction set design, pipelining, memory hierarchy, multiprocessors, and case studies. Recommended books are also mentioned. The document then provides background on computer architecture and organization, the history of computers from first to fourth generations, and embedded systems.
2. JARAYON
• Jarayonlar va iplar kabi asosiy tushunchalarni ko'rib chiqing . Keling,
bularning barchasi tarixan qanday rivojlanganligini va hozir nimaga olib
kelganini ko'rib chiqaylik. Keling, OTdagi eng asosiy tushunchadan
boshlaylik - jarayon, qolgan hamma narsa uning ustiga qurilgan.
• Jarayon -
– Bu davom etayotgan dastur
– Protsessorda ishlaydigan ba'zi ob'ektlar
Aslini olganda, bizning shaxsiy kompyuterimizda OT ostida ishlaydigan barcha
dasturiy ta'minot, hatto ba'zan OTning o'zi ham, jarayonlar to'plami sifatida
tashkil etilgan. Jarayonlar - minimal ibtidoiy bo'lib, u qandaydir ko'p vazifani
tashkil qilish imkonini beradi .
• Bajariladigan fayl sifatida jarayon tizimdagi bir nechta dasturlarni parallel
ravishda bajarishga imkon beradi (protsessor dasturlar o'rtasida almashinadi)
• Kompyuterda ishlaydigan barcha dasturiy ta'minot, shu jumladan OT ning
o'zi ham jarayonlar to'plami sifatida tashkil etilgan.
Keling, jarayon nimadan iboratligini ko'rib chiqaylik.
3. JARAYON
Jarayon uchta asosiy komponentdan iborat:
• 1) bajariladigan kod
• 2) Ushbu dasturni bajarish uchun zarur bo'lgan u bilan bog'liq ma'lumotlar
• 3) Kontekst - jarayonni boshqarish uchun zarur bo'lgan OT uchun ma'lumot.
Ushbu ma'lumotlar jarayonlar o'rtasida almashish, jarayonning holatini saqlash va
tiklash uchun ishlatiladi.
– Jarayon raqami
– CPU registrlari
– Stak tarkibi
• BU. Kontekst jarayonni almashtirish uchun asosdir
• OT tizimdagi barcha jarayonlar ro'yxatini yuritadi. Bu murakkabroq yoki eng
oddiy bo'lishi mumkin.
4. JARAYON
(JISMONIY TASVIR)
Pastki 0 manzil, yuqori maksimal.
Maksimalda stek, keyin qarama-
qarshi yo'nalishda o'sadigan uyum,
ma'lumotlar va dastur kodi.
Har bir jarayonning o'z manzil maydoni
borligini tushunish muhimdir.
Diagrammada virtual manzil
maydoni noldan boshlanadi va
ma'lum bir maksimal bilan tugaydi,
u segmentlardan iborat: kod,
ma'lumotlar va stek.
Stak
uyum
ma'lumotlar
Dastur kodi
Stak
segmenti
Ma'lumot
lar
segmenti
kod
segmenti
0
Maks.
5. JARAYON
(JISMONIY TASVIR)
OTda dasturni (masalan , MS Word) ishga tushirganingizda , quyidagilar
sodir bo'ladi:
1. Xotirada joy ajrating .
Har bir jarayon o'zining virtual manzil maydonida ishlaydi, u
quyidagilardan iborat:
1. Stek segmenti - funksiya chaqiruvlari va tizim chaqiruvlari uchun
ishlatiladi
2. Ma'lumotlar segmenti - to'pdan ajratilgan statik va dinamik
o'zgaruvchilar (ishlash uchun kerak bo'lgan hamma narsa)
3. Kod segmenti - dastur kodi, odatda faqat o'qish uchun ruxsat beriladi
Xuddi shu dasturni bir necha marta ishga tushirish har biri o'z virtual
manzil maydoni va muhitiga ega bo'lgan yangi jarayonlarni keltirib
chiqaradi. Bular. bu sxema har bir ishlaydigan jarayon uchun bo'ladi.
6. BULARNING BARCHASINI QANDAY
BOSHQARISH KERAK?
OT JARAYONLARINI BOSHQARISH TUZILISHI
OT jarayonlar ro'yxatini yuritadi
• Jarayon jadvali - bu jadvalda har bir jarayon uchun bitta yozuv
mavjud;
• Har bir jarayon uchun jarayon bilan bog'liq bo'lgan barcha narsalarni
(ma'lum bir kontekst) o'z ichiga oladigan ma'lum bir ma'lumotlar
tuzilishi kerak. Bularning barchasi ma'lum bir universal
kontseptsiyada OSda saqlanadi
Jarayonni boshqarish bloki (PCB) . Uning jarayonini, u tegishli
ekanligini va hozirgi holatini tavsiflaydi
• Jarayon tasviri - oldingi diagrammada - jarayon uchun ajratilgan
xotira
7. JARAYONNI BOSHQARISH BLOKI (PCB) .
Ushbu blok OTdagi barcha jarayonlar uchun doimiy hajmga ega.
Jarayon bo'yicha har qanday harakatni bajarish uchun zarur bo'lgan barcha
ma'lumotlarni o'z ichiga oladi - jarayonni to'xtatib turish, keyin qayta tiklash,
diskka yuklash va diskdan yuklash.
Jarayon identifikatorlari
• Jarayon raqami ( PID - Process ID entifikator deb ataladi )
• Foydalanuvchi ma'lumotlari
Jarayon holati - registrlar, stek ko'rsatkichlari.
Jarayon holati
• Rejalashtiruvchi uchun ma'lumot - bu jarayonning ustuvorligi
• Imtiyozlar - xotiraga kirish, joriy ko'rsatmalar
• Jarayonga tayinlangan virtual xotira haqida ma'lumot
• Statistik ma'lumotlar va cheklovlar (bajarilish muddati chegaralari, protsessorning
o'tgan vaqti statistikasi)
• I / O - resurs egaligi, ochiq fayllar, ajratilgan qurilmalar.
8. JO'NATISH
• Dispetcher - jarayonlarni ishga tushirish
uchun yuboradi, protsessor vaqtini ajratadi va
protsessorni bir jarayondan ikkinchisiga
o'tkazadi. Vaqtning istalgan lahzasida har
qanday jarayon istalgan holatda bo'lishi
mumkin: hech bo'lmaganda u kiritish -
chiqarishni kutmoqda, bajarilmoqda,
bajarishga tayyor va siz bir qator qo'shimcha
oraliq holatlarni ham o'ylab topishingiz
mumkin.
9. JARAYON HOLATI MODELI
1. I/U uchun jarayon bloklangan
2. Dispetcher boshqa jarayonni rejalashtiradi
3. Dispetcher bu jarayonni rejalashtiradi
4. I/U sodir bo'ldi, jarayon ijroni davom
ettiradi
10. JARAYON HOLATI MODELI
Har qanday OT ning yakuniy maqsadi ba'zi ishni, vazifani bajarish,
foydalanuvchi so'roviga javob berishdir ...
Jarayonning uchta asosiy bosqichi mavjud
• Amallar (CPUda ishlaydi)
• Tayyor (vaqtinchalik to'xtatilgan)
• Qulflar (tashqi hodisani kutish)
ishlash
blokirovka qilish
tayyorlik
jo'natish
Voqea sodir bo'ldi
1- voqea kutilmoqda
2
3
4
taym-aut; turib
qolish; tanaffus
11. JARAYON HOLATI MODELI
Har qanday jarayon bir nechta holatda bo'ladi, eng oddiy versiyada 3 ta holatni ajratish mumkin:
1) Faraz qilaylik, har qanday jarayon “ hayotini ” davlatdan boshlaydi
"Ishlash".
2) Agar kiritish-chiqarish so'rovi amalga oshirilgan bo'lsa, u biroz kechikish bilan amalga oshiriladi (I/U
protsessorga qaraganda sekinroq), shuning uchun hodisani kutish (ya'ni, kiritish / chiqishni kutish)
mavjud. Jarayon hozirda bloklangan holatda "Bloklangan". Dispetcher unga protsessor vaqtini
ajratmaydi, chunki u foydasiz, kiritish-chiqarish tugamaguncha jarayon hech qanday ishni bajara
olmaydi.
3) Bundan tashqari, kiritish / chiqish sodir bo'lganda, jarayon allaqachon biror narsani qayta ishlashi mumkin,
uning holati "Tayyor" holatiga o'zgaradi (jarayon dispetcherga ishlashga tayyorligini ko'rsatishi
kerak). Dispetcher m/y jarayonlar o'rtasida keyingi almashuvda jarayonning "Tayyor" holatida
ekanligini ko'radi va uni "Bajarilish" holatiga o'tkazadi. Ushbu "Ishlayotgan" holatda dispetcher
jarayonga protsessor vaqtini beradi - to'g'ridan-to'g'ri bajarish boshlanadi. Bu doira yopiq.
Jarayon "Tayyor" holatiga kirgandagi yana bir holat - bajarish uchun ajratilgan protsessor vaqtining kvanti
tugashi bilan, "Bajarish" holatidan jarayon "Tayyor" holatiga o'tadi va dispetcher bu vaqtda
boshqaruvni boshqasiga o'tkazadi. boshqa jarayon.
Tizim menejeri umumiy hodisalar bilan nima sodir bo'layotganini bilishi kerak: kiritish-chiqarish, sinxronlash
va h.k.
12. JARAYON HOLATI MODELI 2
yangi
bloklangan
tayyor
jo'natish
amalga oshirildi yakunlash
taym-aut; turib
qolish; tanaffus
Kutish
voqealar
Voqea sodir
bo'ldi
Yangi model 5 shtatdan iborat bo'lib, bu model bugungi OTga juda yaqin
1. " Yangi " - jarayon yaratilgan, lekin u hali OS tomonidan ishlaydigan jarayonlar havzasiga
joylashtirilmagan. PCB tuzilishi yaratilgan, lekin jarayon hali xotiraga yuklanmagan (ya'ni, PCB
yaratilgan va bo'sh manzil maydoni)
2. Tayyor " holatiga joylashtiriladi : jarayon to'liq bajarishga tayyor.
13. JARAYON HOLATI MODELI №2
Yangi model 5 ta holatdan iborat bo'lib , bu model bugungi OTga juda yaqin
1. " Yangi " - jarayon yaratilgan, lekin u hali OS tomonidan ishlaydigan jarayonlar havzasiga
joylashtirilmagan. PCB tuzilishi yaratilgan, lekin jarayon xotiraga hali yuklanmagan (ya'ni,
PCB yaratilgan va bo'sh manzil maydoni)
2. Tayyor " holatiga joylashtiriladi : jarayon to'liq bajarishga tayyor, ya'ni. nazoratni qo'lga
kiritishi va to'g'ridan-to'g'ri ishlashni boshlashi mumkin. Hamma narsa xotiraga yuklanadi,
ma'lumotlar, stek, to'plam ishga tushiriladi.
3. " Bajarish " - jarayon bajarilmoqda.
4. " Lock " - jarayon tashqi hodisani kutmoqda (I/O).
5. " End " - jarayon bajarilgan jarayonlar havzasidan chiqariladi, u o'z ishini tugatdi. Jarayon
"tugallangan" deb belgilanadi. Dispetcher jarayonni tozalash vazifasini bajaradi. Ushbu
bosqichda xotirani bo'shatish, jarayon resurslarini yopish (i / u, fayllar ...) bo'yicha ishlar
olib borilmoqda.
14. JARAYONNI REJALASHTIRISH
uchta asosiy jarayon holatiga asoslanib , rejalashtiruvchi qaysi jarayon qaysi holatda
ekanligini bilishi kerak. Agar protsessorda bir nechta ishlov berish yadrolari
mavjud bo'lsa, ishlar yanada murakkablashadi.
jarayonlarni rejalashtirish uchun turli navbatlar (ro'yxatlar) kiritiladi.
Jarayonning uchta holatiga asoslanib, 3 ta navbat kiritiladi:
1. Vazifa navbati : tizimdagi barcha jarayonlar to'plami
2. Tayyor navbat : bajarishga tayyor bo'lgan barcha jarayonlar to'plami, ularga
istalgan vaqtda protsessor vaqtining kvanti berilishi mumkin va ular bajariladi.
3. Kutish navbati : barcha bloklangan jarayonlar to'plami.
Hayotiy tsikl davomida jarayonlar bu navbatlarga ko'chiriladi va bu navbatlardan
chiqariladi.
15. WINDOWS
OTdagi barcha jarayonlar to'plamini ko'rsatadi.
Tarixan bu vazifa TackMenager deb ataladi - vazifa
menejeri. U OTdagi barcha jarayonlarni
ko'rsatadi, garchi biz jarayon holatlarini (tayyor,
kutish, bajarilish) ko'rmasak ham. Biz faqat
umumiy roʻyxatni koʻramiz.Roʻyxat
ustunlarining koʻrinishini oʻrnatishingiz
mumkin.
Windows -da jarayon qancha xotira olishini aniqlash
juda qiyin (ko'p variantlar).
Windows yadrosi identifikatori 4( PID) ga ega
jarayon sifatida ifodalanadi , eng kichigi 0,
lekin u band.
Linuxda yadro jarayon emas
16. JARAYONNI BOSHQARISH
Bloklangan navbat _ _
Tayyor navbat _ _
Markaziy protsessor
Vaqt
tugashi t
Qabul Dispetcherlik Ozodlik
sodir bo'ldi
voqea
Voqea kutilmoqda
17. JARAYONNI BOSHQARISH
Bitta “tayyor” va bitta “bloklangan” jarayonlardan foydalanadi
Biroq, quyidagi kamchiliklar mavjud:
- Voqea sodir bo'lganda, ushbu hodisani kutayotgan barcha jarayonlar "bloklangan"
dan "tayyor" navbatga o'tkazilishi kerak.
- Aynan sodir bo'lgan voqeani kutayotgan barcha jarayonlar uchun navbatda
qarashingiz va keyin ularni "tayyor" navbatga o'tkazishingiz kerak. Shundan so'ng,
ularga dispetcher tomonidan CPU vaqti beriladi va ular bajariladi.
- To'g'ri tanlash uchun OS navbatdagi barcha bloklangan jarayonlarni ko'rib chiqishi
kerak. Buning uchun siz doimo aylana bo'ylab bloklanganlar qatoridan o'tishingiz
kerak bo'ladi.
18. JARAYONNI BOSHQARISH
Tadbir -
1) I/O kutmoqda
2) Sinxronizatsiya - jarayon boshqa jarayon tomonidan foydalanilayotgan ba'zi
manbalarga kirishi kerak bo'lganda, u kutishi kerak.
Qandaydir tarzda bu sxemani yaxshilash kerak. Eng mantiqiy narsa shundaki, OSdagi
har bir hodisa ushbu hodisa tomonidan bloklanganlarning o'z navbatiga ega
bo'lishi kerak. Keyin, voqealarni tanlab, biz uni kutayotgan barcha jarayonlarni
ko'ramiz, biz darhol hamma narsani "tayyor" navbatga o'tkazamiz va hamma
narsa tez va ajoyib ishlaydi.
Ammo amalda buning iloji yo'q, bloklangan jarayonlarning ko'p navbatlari bo'ladi,
shuning uchun ba'zi murosalar qo'llaniladi - kutilgan hodisalar turi bo'yicha
tartiblangan bir nechta navbatlar qo'llaniladi.
YECHIM: bloklangan jarayonlarning bir nechta navbatlaridan foydalaning. Yukni
kamaytiring va bloklangan jarayonlarning to'liq ro'yxatidan o'tmang.
19. JARAYON YARATING
Birinchi jarayonlar OS yuklash vaqtida yaratiladi.
1)Tizimni yuklash
Tizimni ishga tushirish jarayonida bir nechta dastlabki jarayonlar yaratiladi
– Unix- da bular Sched(pid0) init(pid1) "daemon" jarayonlari - boshqa
yuqori darajadagi jarayonlar (veb-server, elektron pochta serveri).
Yadro jarayon emas. Unix -dagi identifikatorlar 1 ga oshib ketma-ket
bo'ladi.
– Windows NT da yadro tizim jarayonidir System(Pid4) , keyin smss
quyi tizim boshqaruv tizimi yuklanadi . Win -dagi identifikatorlar 4 ga
oshib boradi , 0 identifikatori saqlangan, tizim jarayoni 4 ga teng.
20. JARAYON YARATING
2) Joriy jarayon bola jarayonini keltirib chiqaradi
• Operatsion tizimni qurishda qiziqarli xususiyat mavjud - jarayon ierarxiyasi deb
ataladigan narsa, tarixan u Unix sinfidagi OTda mavjud edi . U erda har bir jarayon
qat'iy munosabatlarga ega - ota-ona jarayoni mavjud va ehtimol. bola jarayoni.
– Misol veb-server yangi so'rovni qayta ishlash uchun bola jarayonini yaratishi
mumkin (bu yaxshi emas, sekin)
– Unix da , boshlash jarayoni qobiqni ishga tushirish uchun foydalanuvchi
ruxsatlarini kuzatib boradi (yangi jarayonlar)
3) Foydalanuvchi yangi jarayon yaratadi
• Foydalanuvchi matnli qobiqdan buyruq chaqiradi yoki grafik qobiqdan yangi
dasturni ishga tushiradi. Bu ota-onasi OS qobig'i bo'lgan yangi jarayonni yaratadi.
21. JARAYONNI YARATISH
BOSQICHLARI
Jarayonni yaratish uchun sizga kerak bo'ladi:
1)Yangi jarayonga noyob identifikatorni tayinlang
2)Buning uchun xotirada joy ajrating (dastur, ma'lumotlar va
stek uchun) - ba'zi sahifalar xotirada jismoniy ajratilgan
(diskda jarayon tasviri yaratiladi)
3)PCBni ishga tushirish (jarayonni boshqarish bloki)
4)Jarayonni bajarish uchun "tayyor" navbatga qo'shing.
22. JARAYON IERARXIYASI
( UNIX OS )
- Jarayonlar orasidagi qat'iy ierarxiya: bola va ota-ona
doimo o'zaro bog'liqdir
- Buyruqlar qatori identifikatori (foydalanuvchining Shell )
foydalanuvchi buyruq satridan boshlaydigan barcha
jarayonlarning ota-onasi hisoblanadi.
- Jarayonlar guruhi tushunchasi mavjud - har qanday jarayon har
qanday guruhga tegishli bo'lishi mumkin, biz guruhga signal
yuboramiz va guruhdagi barcha jarayonlar uni bajaradi.
- Agar foydalanuvchi jarayon guruhiga signal yuborsa ( masalan ,
tugatish uchun SIGKILL ), u holda signal guruhdagi har bir
jarayonga yetkaziladi. Bu jarayon guruhlari bilan ishlash uchun
juda qulay.
23. JARAYONNI YARATISH
( UNIX OS )
Fork()/exec()
1)fork() dan boshlanadi , u chaqiruv jarayonining aniq klonini yaratadi,
ya'ni "bolalar" jarayoni
2)exec() ijro menejeri klonning jarayon tasvirini bajariladigan yangi dastur
bilan almashtiradi.
Bu tarixan sodir bo'lgan va jarayonni yaratishning boshqa usuli yo'q,
shuning uchun asoslarning asosi sifatida ierarxiya mavjud.
Yaratilgandan so'ng, ota-ona va bola jarayonlari o'zlarining turli manzil
bo'shliqlariga ega.
Ba'zi manbalar bo'lishi mumkin umumiy (masalan, ochiq fayllar). Shuning
uchun, fork() tizim chaqiruvi ikki marta qaytariladi - bir marta asosiy
jarayonga, ikkinchisi yangi yaratilganiga.
24. JARAYONNI YARATISH ( UNIX OS )
KALIT MEXANIZMI
Ota-ona RSV
Ota-manzil maydoni
(kod, statistika,
yig'ma, stek)
RSV sho'ba korxonasi
Child jarayon manzil
maydoni (kod,
statistika, yig'ish, stek)
Shunga o'xshash, lekin
nusxasi emas
bir xil
Fork() ni chaqirgandan so'ng deyarli bir xil PCB (boshqaruv bloki) yaratiladi, faqat jarayon
identifikatori boshqacha bo'ladi, manzil maydoni o'xshash.
Identifikator jadvaldan olingan (har bir OTda mavjud).
ning kamchiligi shundaki, Fork() juda sekin ishlaydi, avvalo jarayonning aniq nusxasini
yaratishingiz, keyin esa uni yangi jarayon bilan almashtirishingiz kerak.
25. JARAYONNI YARATISH
( UNIX OS ) LINEX
Eski dasturning boshqa nusxasini emas, balki yangi dasturni qanday
yaratish mumkin?
• Osonlik bilan. Avval fork() , keyin exec() .
E xec () yangi jarayon yaratmaydi, balki joriy jarayonning ma'lumotlarini yangi
ma'lumotlar bilan almashtiradi
Ushbu modelning kamchiliklari bor:
- Folk() juda sekin ishlaydi, siz hamma narsaning to'liq nusxasini yaratishingiz
va keyin uni almashtirishingiz kerak
vfolk () copy-on-write funksiyalarida topilgan
Linuxda xususiyatlar mavjud
Clone() - fork()/ vfork ()
Clone() qo'shimcha imkoniyatlarga ega. Exec () ichida Linex bu
tizim chaqiruvi emas
execve () funksionalligi bo'yicha exec()
26. 1. Windows -da jarayonlar NtCreatProcess() tizim chaqiruvi
orqali yaratiladi - bu qo'ng'iroq juda ko'p parametrlarga ega,
ularning aksariyati "standart". Jarayon to'g'ridan-to'g'ri o'z
xohishiga ko'ra ishlab chiqariladi, u joriy nusxaning majburiy
nusxasi bo'lishi shart emas, shuning uchun munosabatlar
hurmat qilinmaydi.
• Jarayon dastagi - ot (so'zma-so'z tarjima qilingan "tutqich")
Bu jarayonga kirishning mohiyati - ma'lum bir jadvaldagi
indeks bo'lgan va ushbu jarayonni aniqlashga imkon
beradigan ba'zi bir butun son - kirishni boshqarish, huquqlar,
meros.
• Pid - jarayon jadvalidagi ofset (indeks).
JARAYON YARATISH ( WINDOWS
OS )
27. WINDOWS OPERATSION
TIZIMIDA
• Hech kim yo'q, hamma teng. Shuning uchun o'zaro ta'sir
haqida savol tug'iladi.
• Jarayon tutqichi - ota-ona tomonidan yangi jarayon
yaratilganda, ota-ona bola jarayonining dastagini oladi va
hokazo. boshqarishi mumkin
• Ushbu tutqich boshqa jarayonlarga o'tkazilishi mumkin (
Unix dan farqli o'laroq , bu erda asosiy jarayon bir nechta
bolalar jarayonlarini o'zgartira olmaydi).
• Jarayon dastagi - jarayon ob'ekti identifikatori
28. JARAYONLAR O'RTASIDA ALMASHISH (ENG
OSON VARIANT)
Boshqa jarayonga o'tish kerak bo'lganda, OS "kontekstni almashtirish"
ni amalga oshiradi .
• Eski jarayonning holati uning tenglikni saqlash tizimida saqlanadi
• Yangi jarayonning holati PCB ga tiklanadi
Kontekstga o'tish vaqti - OS qo'shimcha xarajatlari (qanchalik kam
bo'lsa, u tezroq ishlaydi)
Uskunaning amalga oshirilishiga bog'liq (ya'ni, "kompyuterning
apparat ta'minoti" dan, u apparat tomonidan optimallashtirilgan).
Kalitlarga nima sabab bo'ladi?
Kontekstni almashtirishga olib keladigan hodisalar:
o Xalaqit beradi
o Istisnolar
o Tizim qo'ng'iroqlari
29. OQIMLAR (MAVLAR)
Jarayon kamida quyidagilardan iborat:
- 1) Manzil maydoni (ko'rsatmalar to'plami - dastur kodi, ma'lumotlar)
- 2) Ijro etilish holati
Oqim holati CPU registrlari bilan tavsiflanadi
- Dastur hisoblagichi ( IP registr )
- Stack Pointer ( SP)
- CPU registrlari
- Hozirgi vaqtda jarayonga tegishli bo'lgan OS resurslari to'plami (ochiq
fayllar, tarmoq ulanishlari).
Bularning barchasi jarayonning bir kontseptsiyasida. Lekin bu yaxshi emas.
Bir-biriga bog'liq bo'lmagan 3 ta jarayonni 3 ta sohaga bo'lish yaxshi bo'lardi.
OQIM tushunchasi yordamga keladi .
30. OQIMLAR (MAVLAR)
iplar kerak - parallellik va parallellik uchun.
Parallellik - bu eng yaxshi ishlashga erishish uchun jismoniy jihatdan bir vaqtning
o'zida bajarilishi (masalan, ikkita yadro o'rtasida)
Simultanelik - bir vaqtning o'zida mantiqiy va / yoki jismoniy bajarish (bitta
protsessor mavjud, bir vaqtning o'zida bir nechta dastur ishlaydi - ko'p vazifali
OT).
Ikkala tushunchadan ham samarali foydalanish uchun oqimlar kerak. Parallelizmga
erishishning eng oddiy usuli - bir nechta jarayonlar yordamida - dasturlar turli
jarayonlarda bir-biridan ajratilgan, shuning uchun parallelizm mavjud.
Mavzular - parallellikka erishishning yana bir usuli. Mavzular bir xil jarayon
doirasida ishlaydi. Jarayondagi barcha oqimlar bir xil manzil maydoniga va bir xil
OS resurslariga ega. Mavzular o'z stekiga va o'zlarining CPU holatiga ega.
31. PARALLELLIK
Misollar:
Har bir foydalanuvchi jarayoni uchun yangi jarayon yaratadigan veb-server
, ya'ni. parallel ravishda bir nechta so'rovlarga xizmat qilishi kerak.
Ma'lumotlar bazasidan mijozning so'roviga ko'ra ma'lumotlarni kutish
paytida server bir vaqtning o'zida boshqa mijoz uchun diskdan
ma'lumotlarni yuklashi va uchinchi mijozning so'roviga ishlov berishi
mumkin.
Veb-brauzer - veb-sahifaga kirish paytida u turli manbalardan
ma'lumotlarni parallel ravishda yuklab olishi mumkin.
ba'zi kompyuter dasturlari - masalan, katta hajmdagi ma'lumotlarni qayta
ishlash kerak bo'lganda.
32. PARALLELLIK
Ushbu parallellik misollarining har birida umumiy narsa bor:
• Bitta kod
• Yagona ma'lumotlarga kirish
• Bitta kirish darajasi
• Resurslarning bir to'plami.
har xil:
• Stack va stack ko'rsatkichi ( SP registri )
• Keyingi ko'rsatmani ko'rsatuvchi ko'rsatmalar hisoblagichi ( IP registri).
• Ko'p CPU registrlari
33. PARALLELLIK
Parallellikka qanday erishish mumkin?
Jarayon bilimlaridan foydalanib, siz :
• Fork () bir nechta jarayonlar (ya'ni, bir vaqtning o'zida bir nechtasini
tug'diradi)
• Ularning har birini o'z manzil maydonini bir xil jismoniy xotiraga
moslashtiring
Samarasiz: PCB xarajatlari , sahifa jadvallari, ma'lumotlar tuzilmalarini
OS yaratish, manzil maydonini nusxalash, sinxronlashtirilgan kirish.
Yechim FLOWS tushunchasini joriy qilishdir
Jarayonning kontseptsiyasini (manzil maydoni, OS resurslari) minimal
ipdan ajratib oling, nazorat oqimi , ya'ni. protsessor stek va
registrlarining holati.
Bu holat ba'zan "engil" jarayon yoki ip deb ataladi.
34. JARAYONLAR VA MAVZULAR
Ko'pgina zamonaviy operatsion tizimlar ikkita ob'ektni qo'llab-quvvatlaydi:
Jarayonning manzil maydoni va umumiy atributlarini belgilaydigan jarayon.
Jarayon ichidagi ketma-ket bajarilish oqimini belgilaydigan ip.
Tarmoq bitta jarayonga bog'langan (bitta manzil maydoni)
- Ammo bir xil manzil maydonida ko'plab mavzular bo'lishi mumkin
- Umumiy ma'lumotlarga oson kirish
- Ip yaratish juda oz vaqtni oladi
OQIMLAR rejalashtirish birligiga aylandi
Jarayonlar faqat iplar ishlaydigan konteynerdir .
Jarayon konteynerning o'zi, ip esa uning ichida bo'lgan ijro iplari.
35. KO'P TARMOQLI
Ko'p ish zarralari quyidagilar uchun foydalidir:
- bir vaqtning o'zida sodir bo'lgan voqealarni boshqarish
- parallel dasturlarni qurish.
Ko'p ish zarralarini qo'llab-quvvatlash - jarayon tushunchasini
boshqarishning minimal oqimidan ajratish.
- Parallel bajarish uchun yangi jarayonlarni yaratishga hojat
yo'q.
- Tezroq ishlaydi, kamroq xotira talabi.
Ilgari: "Jarayon" = manzil maydoni + OS resurslari + bitta
ipni qabul qildi
Ilgari: "Jarayon" = manzil maydoni + OS resurslari + barcha
oqimlar jarayonga tegishli
36. OQIMLAR NIMA?
Ular buni ikki usulda qilishadi:
1) Yadro darajasida (yangi ip yaratish uchun yadro funktsiyalari mavjud)
- jarayonning manzillar maydonining ichki qismida ijro steklari ajratiladi -
Thread Control Blokni (jarayonni boshqarish bloki) yaratadi va ishga tushiradi.
2) Foydalanuvchi darajasida
-
yadro
Jarayon 1
Jarayon 2
3 ta oqim. Maxsus bor
Yadro tashqarisidagi
iplarni mustaqil ravishda
boshqaradigan Pthreads
kutubxonasi
Yadro iplarni
boshqaradi
37. OQIMLAR
Ikkalasida + va - bor
1) var. "-" ip yaratishda tizim chaqiruviga muhtoj va bu
protsessor vaqti. Foydalanuvchi darajasida tizim chaqiruvi
kerak emas, hamma narsa maxsus kutubxona tomonidan
nazorat qilinadi.
Pthreads kutubxonasi (ijobiy)
• Har bir ip protsessor registrlari, stek va kichik TCB bilan
ifodalanadi .
• Mavzuni yaratish, iplar o'rtasida almashish va ipni
sinxronlashtirish yadro ishtirokisiz amalga oshiriladi
• Foydalanuvchi darajasidagi iplar yadro rejimidagi iplardan
10-100 marta tezroq bo'lishi mumkin
38. OQIMLAR
• Bitta manzil maydonida bir nechta mavzular yaxshi
• Yadro rejimidagi iplar jarayonlarga qaraganda ancha samaraliroq, ammo
tizim chaqiruvi uchun ortiqcha yuk mavjud
• Foydalanuvchi rejimidagi iplarning afzalliklari va kamchiliklari mavjud:
• yaratilishning yuqori tezligi va "arzonligi"
• yadro bu iplar haqida bilmasligi sababli, kiritish/chiqarish va qulflar
bilan bog'liq muammolar bo'lishi mumkin.
Shuning uchun foydalanuvchi oqimlari unchalik mashhur bo'lmagan.
Ushbu muammolarni rejalashtiruvchi darajasida hal qilish mumkin .
WinNT- da iplar yadro darajasida amalga oshiriladi, bu hodisalarni yanada
nozik nazorat qilish imkonini beradi.
Taqdim etilgan tola - preemptive multitasking.
39. IPLAR VA JARAYONLAR
O'RTASIDAGI FARQ
Ijro oqimlari an'anaviydan farq qiladi
Ko'p vazifali operatsion tizim jarayonlari, bunda:
• jarayonlar odatda mustaqil, bajarilish iplari esa jarayonlarning tarkibiy elementlari
sifatida mavjud
• jarayonlar ko'proq holat ma'lumotlarini o'z ichiga oladi, shu bilan birga jarayon
ichidagi bir nechta bajarilish oqimlari holat ma'lumotlarini, shuningdek, xotira va
boshqa hisoblash resurslarini almashadi.
• jarayonlar alohida manzil bo'shliqlariga ega, bajarilish iplari esa o'zlarining manzil
maydonini bo'lishadi
• jarayonlar o'rtasidagi aloqa
• bir xil jarayonda bajarilish iplari orasidagi kontekstni almashtirish odatda jarayonlar
o'rtasida kontekstni almashtirishga qaraganda tezroq.
• Windows NT va OS/2 kabi tizimlar "arzon" iplar va "qimmat" jarayonlarga ega deb
aytiladi. Boshqa operatsion tizimlarda bajarilish iplari va jarayonlar o'rtasidagi farq
unchalik katta emas, manzil maydonini almashtirish narxi bundan mustasno.