Енгізу - шығарудың программалық денгейі
Енгізу-шығарудың программалық денгейі
Дәріс жоспары:
1. Енгізу-шығарудың программалық денгейі.
1.1. Үзілімдерді өңдеушілер
1.2. Құрылғы драйверлері
1.3. Енгізу-шығаруды құрылғыдан тәуелсіз программалық камтамасыз ету.
1.4. Құрылғы драйверлері үшін біртекті интерфейс
1.5. Буферлеу
1.6. Жеке кұрылғыларды иемдену және босату
1.7. Құрылғыдан тәуелсіз блок өлшемі
2.Пайдаланушы кеңістігіндегі енгізу-шығаруды программалық қамтамасыз ету.
Енгізу-шығаруды программалық қамтамасыз етуі, төрт деңгей түрінде ұйымдастырылады, әрбір деңгейдің өзінің орындайтын айқындалған нақты функциясы және көрші деңгейлермен қатаң түрде белгілі интерфейсі болады. Деңгейлердің функциялары мен интерфейстері, бір операциялық жүйеден екіншісіне ауысады, сондықтан төменнен бастап барлық деңгейлерді тізбекті қарастыру, қандай да бір нақты машина үшін спецификалық түрде болмайды.
1.1. Үзілімдерді өңдеушілер.
Операциялық жүйеде үзілімдер жасырын болуы керек. Ең дұрыс әдіс енгізу-шығару операциясынан бастап, осы операция аякталғанша және үзілімдерді алғанша драйверді тосқауылдау болып табылады. Драйвер семафорада down процедурасын, айнымалы күйде wait процедурасын, хабарландыруда receive процедурасын орындау арқылы өзін өзі тосқауылдай алады.
Үзілім болған кезде, үзілімдерді өндеуші жұмысын бастайды. Қажетті жұмысты аяқтаған соң, ол оны іске қосқан драйверді тосқауылдай алады. Кейбір жағдайда семафорада ир процедурасын орындау пайдаланылады.
Басқаша жағдайда үзілімдерді өндеуші айнымалы күйден монитордың signal процедурасын шақырады. Үшінші жағдайда ол тосқауылданған драйверге хабарландыру жібереді. Кез келген жағдайда драйверді үзілімдер өндеушісі босатады. Бұл схема ядроның өз күйімен, стекімен және командалар санауышымен процестері болып табылатын драйверлерде жақсы жұмыс істейді.
1.2. Құрылғы драйверлері.
Әрбір контроллерда басқарылатын кұрылғыға команда беру және кұрылғының күйін оқу үшін қолданылатын регистрлер жинағы бар. Құрылғыға берілетін мұндай регистрлер мен командалар саны нақты құ-рылғыдан тәуелді. Мысалы, диск драйвері, секторлар, жолшықтар, цилиндрлер, бастиектер оларды жылжыту және орнату уақыты, двигатель және дискіңің, дұрыс жұмыс істеуі үшін қажетгі тағы да басқа заттар туралы білуге тиіс. Дискі мен тышқан драйверлері қатты ерекшеленеді.
Сондықтан, компьютерге қосылған енгізу-шығарудың әрбір құрылғысын басқару үшін арнайы программа талап етіледі. Құрылғы драйвері деп аталатын бұл программа, негізінен құрылғыны өндіруші адаммен жазылады және құрылығымен бірге таратылады.
Әрбір операциялық жүйеге арнайы драйверлер қажет болғандықтан, қондырғыны жасаушылар драйверлерді бірнеше көбірек танымал операциялық жүйелер үшін қояды.
Құрылғы аппараттың бөлігіне, яғни контроллердің регистрлеріне қатысу үшін, кұрылғы драйвері тым болмағанда, бүгінгі күннің архитектурасында бар операциялық жүйе ядросының бөлігі болу керек. Қазіргі заманғы операциялық жүйелер драйверлердің ядродағы жұмысына дұрыс қарайды, біз мұнда осындай модельді қарастырамыз.
Операциялық жүйеге басқа программистермен жазылған программалар бөліктері (драйверлер) орналатындықтан, орнатуды жүзеге асыратын белгілі архитектура қажет. Бүл драйвер функцияларының және оның қалған операциялық жүйемен әрекеттесуінің қатаң түрдегі белгілі бір моделі жасалыну қажеттігін көрсетеді. Құрылғы драйверлері әдетте қалған операциялық жүйеге бағыныңкы түрде орналасады.
Құрылғы драйверінің бірнеше функциясы бар. Драйвердің анағүрлым көрнекті функциясы - программалық қамтамасыз ету құрылығысынан тәуелсіз оқу мен жазудың абстрактты сұратуын өңдеу. Бұдан басқа олар тағы бірнеше функциялар атқарады. Мысалы, драйвер қажет болған жағдайда құрылғыны инициализациялау керек. Оған сондай-ақ қүрылғының энергия қажеттілігін және оқиғаны тіркеуді басқару керек болады.
Көптеген кұрылғы драйверлері ұксаса ортақ құрылымға ие. Типті драйвер кірісті параметрлерді тексеруден бастайды. Егер олар белігілі бір критерийлерді қанағаттандырмаса, драйвер қатені қайтып кайтарады. Керісінше жағдайда драйвер абстрактылы терминдерді нақтыға түрлендіреді. Мысалы, дискілі драйвер блоктың сызықты нөмірін бастиек, жолшының және сектордың нөміріне түрлендіре алады.
Содан соң драйвер бұл құрылғы, дәл осы моментте қолданылғанын тексере алады. Егер құрылғы бос болмаса, сұраныс кезекке қойылады. Егер кұрылғы бос болса, сұраныс қазір орындалатының түсіну үшін, құрылғының аппаратты статусы тексеріледі. Деректердің тасымалы басталмас бұрын құрылғыны қосу немесе двигательді іске қосу қажет болуы мүмкін. Құрылғы іске қосылып және дайын болысымен, құрылғышы өзіндік басқару басталады. Құрылғыны басқару дегеніміз оған командалар сериясын беру болып табылады. Драйверде не істеу керектігінен тәуелді түрде командалардың тізбектері анықталады. Командаларды анықтап болған соң, драйвер оларды құрылғының контроллер регистрлеріне жазуды бастайды.
Драйвер барлық командаларды контроллерге беріп болған соң жағдай екі сценарий бойынша дамуы мүмкін. Көп жағдайда кұрылғы драйвері,
контроллер үшін белгілі жұмысты орындағанша күтуі қажет, драйвер тосқауылдап қалады. Басқаша жағдайда операция кідіріссіз аяқталады және драйвер тосқауылдамайды.
1.3. Енгізу-шығаруды құрылғыдан тәуелсіз программалық камта-масыз ету.
Енгізу-шығаруды программалық камтамасыз етудің бір бөлігі нақты құрылғылармен жұмыс істеуге арналған, ал екінші бөлігі кұрылғыдан тәуелсіз болады. Драйверлер мен кұрылғыдан тәуелсіз программалық қамтамасыз етудің арасындағы дәл шекараның орналасуы кейбір функциялар құрылғыдан тәуелді болады. Құрылғыдан тәуелсіз программалық ... жалғасы
Дәріс жоспары:
1. Енгізу-шығарудың программалық денгейі.
1.1. Үзілімдерді өңдеушілер
1.2. Құрылғы драйверлері
1.3. Енгізу-шығаруды құрылғыдан тәуелсіз программалық камтамасыз ету.
1.4. Құрылғы драйверлері үшін біртекті интерфейс
1.5. Буферлеу
1.6. Жеке кұрылғыларды иемдену және босату
1.7. Құрылғыдан тәуелсіз блок өлшемі
2.Пайдаланушы кеңістігіндегі енгізу-шығаруды программалық қамтамасыз ету.
Енгізу-шығаруды программалық қамтамасыз етуі, төрт деңгей түрінде ұйымдастырылады, әрбір деңгейдің өзінің орындайтын айқындалған нақты функциясы және көрші деңгейлермен қатаң түрде белгілі интерфейсі болады. Деңгейлердің функциялары мен интерфейстері, бір операциялық жүйеден екіншісіне ауысады, сондықтан төменнен бастап барлық деңгейлерді тізбекті қарастыру, қандай да бір нақты машина үшін спецификалық түрде болмайды.
1.1. Үзілімдерді өңдеушілер.
Операциялық жүйеде үзілімдер жасырын болуы керек. Ең дұрыс әдіс енгізу-шығару операциясынан бастап, осы операция аякталғанша және үзілімдерді алғанша драйверді тосқауылдау болып табылады. Драйвер семафорада down процедурасын, айнымалы күйде wait процедурасын, хабарландыруда receive процедурасын орындау арқылы өзін өзі тосқауылдай алады.
Үзілім болған кезде, үзілімдерді өндеуші жұмысын бастайды. Қажетті жұмысты аяқтаған соң, ол оны іске қосқан драйверді тосқауылдай алады. Кейбір жағдайда семафорада ир процедурасын орындау пайдаланылады.
Басқаша жағдайда үзілімдерді өндеуші айнымалы күйден монитордың signal процедурасын шақырады. Үшінші жағдайда ол тосқауылданған драйверге хабарландыру жібереді. Кез келген жағдайда драйверді үзілімдер өндеушісі босатады. Бұл схема ядроның өз күйімен, стекімен және командалар санауышымен процестері болып табылатын драйверлерде жақсы жұмыс істейді.
1.2. Құрылғы драйверлері.
Әрбір контроллерда басқарылатын кұрылғыға команда беру және кұрылғының күйін оқу үшін қолданылатын регистрлер жинағы бар. Құрылғыға берілетін мұндай регистрлер мен командалар саны нақты құ-рылғыдан тәуелді. Мысалы, диск драйвері, секторлар, жолшықтар, цилиндрлер, бастиектер оларды жылжыту және орнату уақыты, двигатель және дискіңің, дұрыс жұмыс істеуі үшін қажетгі тағы да басқа заттар туралы білуге тиіс. Дискі мен тышқан драйверлері қатты ерекшеленеді.
Сондықтан, компьютерге қосылған енгізу-шығарудың әрбір құрылғысын басқару үшін арнайы программа талап етіледі. Құрылғы драйвері деп аталатын бұл программа, негізінен құрылғыны өндіруші адаммен жазылады және құрылығымен бірге таратылады.
Әрбір операциялық жүйеге арнайы драйверлер қажет болғандықтан, қондырғыны жасаушылар драйверлерді бірнеше көбірек танымал операциялық жүйелер үшін қояды.
Құрылғы аппараттың бөлігіне, яғни контроллердің регистрлеріне қатысу үшін, кұрылғы драйвері тым болмағанда, бүгінгі күннің архитектурасында бар операциялық жүйе ядросының бөлігі болу керек. Қазіргі заманғы операциялық жүйелер драйверлердің ядродағы жұмысына дұрыс қарайды, біз мұнда осындай модельді қарастырамыз.
Операциялық жүйеге басқа программистермен жазылған программалар бөліктері (драйверлер) орналатындықтан, орнатуды жүзеге асыратын белгілі архитектура қажет. Бүл драйвер функцияларының және оның қалған операциялық жүйемен әрекеттесуінің қатаң түрдегі белгілі бір моделі жасалыну қажеттігін көрсетеді. Құрылғы драйверлері әдетте қалған операциялық жүйеге бағыныңкы түрде орналасады.
Құрылғы драйверінің бірнеше функциясы бар. Драйвердің анағүрлым көрнекті функциясы - программалық қамтамасыз ету құрылығысынан тәуелсіз оқу мен жазудың абстрактты сұратуын өңдеу. Бұдан басқа олар тағы бірнеше функциялар атқарады. Мысалы, драйвер қажет болған жағдайда құрылғыны инициализациялау керек. Оған сондай-ақ қүрылғының энергия қажеттілігін және оқиғаны тіркеуді басқару керек болады.
Көптеген кұрылғы драйверлері ұксаса ортақ құрылымға ие. Типті драйвер кірісті параметрлерді тексеруден бастайды. Егер олар белігілі бір критерийлерді қанағаттандырмаса, драйвер қатені қайтып кайтарады. Керісінше жағдайда драйвер абстрактылы терминдерді нақтыға түрлендіреді. Мысалы, дискілі драйвер блоктың сызықты нөмірін бастиек, жолшының және сектордың нөміріне түрлендіре алады.
Содан соң драйвер бұл құрылғы, дәл осы моментте қолданылғанын тексере алады. Егер құрылғы бос болмаса, сұраныс кезекке қойылады. Егер кұрылғы бос болса, сұраныс қазір орындалатының түсіну үшін, құрылғының аппаратты статусы тексеріледі. Деректердің тасымалы басталмас бұрын құрылғыны қосу немесе двигательді іске қосу қажет болуы мүмкін. Құрылғы іске қосылып және дайын болысымен, құрылғышы өзіндік басқару басталады. Құрылғыны басқару дегеніміз оған командалар сериясын беру болып табылады. Драйверде не істеу керектігінен тәуелді түрде командалардың тізбектері анықталады. Командаларды анықтап болған соң, драйвер оларды құрылғының контроллер регистрлеріне жазуды бастайды.
Драйвер барлық командаларды контроллерге беріп болған соң жағдай екі сценарий бойынша дамуы мүмкін. Көп жағдайда кұрылғы драйвері,
контроллер үшін белгілі жұмысты орындағанша күтуі қажет, драйвер тосқауылдап қалады. Басқаша жағдайда операция кідіріссіз аяқталады және драйвер тосқауылдамайды.
1.3. Енгізу-шығаруды құрылғыдан тәуелсіз программалық камта-масыз ету.
Енгізу-шығаруды программалық камтамасыз етудің бір бөлігі нақты құрылғылармен жұмыс істеуге арналған, ал екінші бөлігі кұрылғыдан тәуелсіз болады. Драйверлер мен кұрылғыдан тәуелсіз программалық қамтамасыз етудің арасындағы дәл шекараның орналасуы кейбір функциялар құрылғыдан тәуелді болады. Құрылғыдан тәуелсіз программалық ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz