69292

Організація термінального введення-виведення

Лекция

Информатика, кибернетика и программирование

Є спеціальні символи керуючі коди і послідовності символів які не відображаються а керують виведенням на екран термінала. Передаючи такі послідовності термінала можна переміщати курсор у довільну позицію екрана керувати яскравістю відображення символів для деяких...

Украинкский

2014-10-02

52 KB

3 чел.

Лекція № 19

Тема: Організація термінального введення-виведення

План

  1.  Поняття термінала
  2.  Емуляція термінала
  3.  Віддалені термінали і консоль
  4.  Термінальне введення
  5.  Термінальне виведення

У цьому розділі опишемо особливості організації взаємодії із користувачем в операційних системах.

Термінальне введення-виведення

У цьому розділі зупинимося на базовій технології для організації взаємодії із користувачем в операційних системах — термінальному введенні-виведенні. Хоч історія цієї технології нараховує кілька десятиліть, проте вона продовжує залишатися важливою складовою сучасних ОС.

Організація термінального введення-виведення

Спочатку розглянемо принципи організації термінального введення-виведення, що не залежать від конкретної ОС [44].

Поняття термінала

Історично термінали (terminals) використовували для організації багатокористувацької роботи із мейнфреймами або мінікомп'ютерами. Це були апаратні пристрої, що складалися із клавіатури і дисплея, які підключали до комп'ютера через інтерфейс послідовного порту. Особливе поширення такі термінали здобули у 70—80-ті роки: усі розроблені в той час операційні системи включали засоби їхньої підтримки, було створено багато прикладного програмного забезпечення, розрахованого на роботу із ними.

Такі термінали працюють у текстовому режимі, за якого обмін даними і їхнє відображення на програмному рівні відбуваються посимвольно. Для відображення використовують екран розміром у символах (звичайно 25 на 80), причому відображатися можуть тільки стандартні символи із кодами ASCII. За подання на екрані розширеного набору символів із кодами 127-255, зокрема символів кирилиці, відповідає символьна таблиця, яка використовується терміналом.

Є спеціальні символи (керуючі коди) і послідовності символів, які не відображаються, а керують виведенням на екран термінала. До керуючих кодів належать такі символи, як повернення каретки, переведення рядка, Backspace тощо. Керуючі послідовності називають також £5С-послідовностями (вони починаються із символу із ASCII-кодом 27 — ESC). Передаючи такі послідовності термінала, можна переміщати курсор у довільну позицію екрана, керувати яскравістю відображення символів, для деяких моделей терміналів - кольорами тощо.

Емуляція термінала

У сучасних умовах апаратні термінали застосовують рідко. Проте інтерфейс зв'язку з терміналами (термінальне введення-виведення) не втратив свого значення й досі. Це пояснюється тим, що текстовий режим роботи дуже зручний для розв'язання багатьох задач (організації адміністрування системи, віддаленого доступу до неї тощо), а також широким вибором програмного забезпечення, яке використовує цей режим.

Для спрощення організації термінального введення-виведення у сучасних ОС широко використовують емуляцію термінала. Програмне забезпечення (емулятор) приймає дані згідно із домовленостями щодо обміну із відповідним терміналом і відображає на дисплеї комп'ютера інформацію згідно керуючих послідовностей, визначених для термінала (для цього може бути виділене окреме вікно на графічному екрані). У результаті програмне забезпечення, розраховане на роботу із терміналом, можна використовувати із таким емулятором без змін. Одночасно у системі може бути запущено кілька емуляторів термінала (наприклад, кожен у своєму вікні), і користувач має змогу перемикатися між ними, чергово виконуючи введення-виведення. Найпоширеніша емуляція термінала vtlOO, програмне забезпечення, розраховане на використання цього термінала, із великою ймовірністю працюватиме із будь-яким емулятором.

Надалі говоритимемо про введення із термінала і виведення на термінал, не уточнюючи, що обмін даними майже завжди відбуватиметься не з апаратним терміналом, а з його емулятором.

Віддалені термінали і консоль

Емулятор термінала може бути запущений на віддаленому комп'ютері, при цьому необхідно забезпечити обмін даними мережею між ним і програмним забезпеченням. Прикладом розв'язання такої задачі є протокол telnet, який працює поверх TCP/IP. Відповідний сервер (telnet-сервер) запускають на машині, яка надає віддалений доступ. Він перехоплює дані, що їх застосування передають на термінал, і пересилає їх на віддалену систему. Там працює емулятор термінала (telnet-клієнт), який інтерпретує отримані дані й, у свою чергу, відсилає серверу інформацію, введену на віддаленій машині. Сервер доставляє її застосуванням.

З іншого боку, якщо дисплей комп'ютера, на якому запущена ОС, працює у текстовому режимі, за відображення інформації на ньому теж може відповідати емулятор термінала. У багатокористувацьких ОС із мережним доступом (наприклад, в UNIX) такий термінал часто називають консоллю, на відміну від терміналів, які використовують для доступу до системи через мережу.

Термінальне введення

Є два підходи до організації термінального введення.

У режимі без обробки, або неканонічному режимі (non-canonical mode), дані передають програмі без зміни (включаючи керуючі коди, такі, як переведення каретки або Backspace). За інтерпретацію цих кодів відповідає програма. Такий режим складніший у використанні (потрібно інтерпретувати керуючі коди), але більш гнучкий. Найчастіше його використовують текстові редактори.

У разі використання режиму з обробкою, або канонічного режиму (canonical mode), дані додатково оброблятимуться перед тим як надійти у програму. Така обробка відбувається після натискання користувачем клавіші Enter (введення символу переведення рядка), при цьому керуючі коди буде інтерпретовано і відповідно до них змінено весь уведений рядок (наприклад, якщо в ньому тричі поспіль трапиться Backspace, ці три символи і ще три, введені перед ними, із рядка будуть вилучені). Такий режим простіший для програміста, у програму в даному разі потрапляє вже підготовлений символьний рядок.

Прикладом програмного забезпечення, що реалізує компроміс між цими режимами, може бути розповсюджена в UNIX-системах бібліотека геасПіпе. Вона надає розширені засоби редагування введеного рядка, які потребують підтримки неканонічного режиму, але її програмний інтерфейс аналогічний до введення в канонічному режимі (у програму потрапляє підготовлений внаслідок редагування рядок).

Введені із клавіатури символи зберігаються у буфері, навіть у неканонічному режимі (трапляються ситуації, коли застосування не може відразу прийняти дані від клавіатури, і потрібно зберегти їх до того моменту, коли з'явиться така можливість). У канонічному режимі дані із буфера передаються програмі після введення символу переведення рядка, у неканонічному — як тільки програма буде готова їх прийняти. Звичайно для кожного термінала створюється свій окремий буфер введення. У разі заповнення буфера може бути виділена додаткова пам'ять.

У більшості випадків уведені символи відразу відображаються на екрані (робота в режимі луни). Можливе відключення цього режиму, наприклад під час введення паролів або команд текстових редакторів.

Термінальне виведення

Для виведення на термінал теж використовують буферизацію. Буфер виводу заповнюють у тому випадку, коли термінал не готовий прийняти символ; у міру його готовності символи із буфера передають терміналу. Відображаючи дані, він інтерпретує керуючі послідовності, після чого показує інформацію, виділяє кольорами окремі ділянки, переміщає курсор тощо.

Головна проблема полягає в тому, що різні модифікації терміналів сприймають різні набори послідовностей. Для її вирішення у сучасних ОС звичайно створюють базу даних терміналів, що містить список терміналів і послідовності, які відповідають кожному із них. В UNIX-системах таку базу називають terminfo.

Логічна структура термінального введення-виведення показана на рис. 17.1.

Питання для самоконтролю:

  1.  Поняття термінала
  2.  Емуляція термінала
  3.  Віддалені термінали і консоль
  4.  Термінальне введення
  5.  Термінальне виведення


 

А также другие работы, которые могут Вас заинтересовать

15023. Бұқаралық ақпарат құралдары 54 KB
  БҰҚАРАЛЫҚ АҚПАРАТ ҚҰРАЛДАРЫҚазақстан Республикасының 1995 жылы қабылданған Конституциясының 18бабының 3пункті бойынша азаматтар мемлекеттік органдар мен қоғамдық бірлестіктерден сонымен қатар бұқаралық ақпарат құралдарынан еркін ақпарат алуға құқықты. Осы салаға қат
15024. Ғ.Мүсіреповтің туғанына - 105 жыл 1.01 MB
  Ғ. Мүсірепов атындағы Солтүстік Қазақстан облыстық балаларжасөспірімдер кітапханасы Ғ.Мүсіреповтің туғанына 105 жыл толуына арналған Кемеңгер қаламның құдіреті істәжірибеден Петропавл 2007 ж. ...Әлі де талайталай заманд...
15025. Дала уалаяты, Түркістан уалаяты газеттеріндегі көтерілген мәселелер 144.5 KB
  Дала уалаяты Түркістан уалаяты газеттеріндегі қоғамдықсаяси және ағарту мәселелері. XIX ғасырдың екінші жартысында қазақ елін жерін патшалы Ресейдің толықтай билеп алуына байланысты Қазақстаның Ташкент Орынбор Омбы Орал сияқты кейбір ірі қалаларында патш...
15026. Дүлдүлдер өткен, дүбірлі даланы тербеп (Жамбыл) 69.5 KB
  ДҮЛДҮЛДЕР ӨТКЕН... ДҮБІРЛІ ДАЛАНЫ ТЕРБЕП Жыл сайын ақпанның соңғы күндері Жамбыл мұражайында жыр алыбының туған күніне орай жиын өтеді. Ұлы ақынның ұрпақтары қаламгерлер бас қосып ата жайлы оның телегей теңіз мұрасы жайлы ғибратты сөз естеліктер айтылады. Дастар...
15027. Дүние сөзден басталады (Мұхтар Әуезов) 39 KB
  ДҮНИЕ СӨЗДЕН БАСТАЛАДЫ Мұхтар Әуезовтің бар ғұмыры ғасырлар қойнауынан жеткен қара сөз бен өлең сөздің құпия қатпарларын зерттеп танып көкеймен қабылдап оның туған этносына ғана ерекше сұлу сырлы терең көрінетін жұмбақ қасиетіне қасиет қосып құнарлы тілдің тұқы
15028. Ежелгі қазақ әдебиетінің тарихы және оның зерттелуі 76.5 KB
  Ежелгі қазақ әдебиетінің тарихы және оның зерттелуі Әдебиет өмір шындығының көркем бейнесі десек әдебиет тарихы да халық тарихымен тығыз байланысты. Еліміздің рухани өмірінің жарқын көрінісі елеулі бір саласы ретінде көркем сөз өнері ел тарихымен бірге қалыптасы
15029. Есенберлин романындағы Алаш рухы 83 KB
  Халық ғұмыры – тарихи дамудың диалектикалық заңдылығын құрайтын жалғыз нысана. Дәуірлер сипатынан табиғи дамудың бел-белестерін, алған асу, шыққан биігін пайымдап, кешегі мен бүгіннің арақатынасын ажыратуға, өзгенің өресі жетпес..
15030. Ә.Нұрпейісовтың Қан мен тер романына салыстырмалы-салғастырмалы талдау 68.5 KB
  УДК 828.215.121.22 ЄБДІЖЄМІЛ НҰРПЕЙІСОВТЫЊ ЌАН МЕН ТЕР РОМАНЫНА САЛЫСТЫРМАЛЫСАЛЃАСТЫРМАЛЫ ТАЛДАУ Жиенхан Айжан Коржунбаева Меруерт Қанапияқызы Б.Ахметов атындағы Павлодар педколледжі Қан мен тер трилогиясының сюжеттік – композициялық желілері де бір...
15031. Әдеби жанрлар 64 KB
  Әдеби жанрлар Әдеби жанрлар фр. тілінде genre түр тек жанр [346 246] – ауызша және жазбаша шығармалардың көркем даму процесінде қалыптасады. Шығарма жанры дәстүрлі түрде мынадай негізгі белгісі бойынша анықталады бір жанрдағы шығармаларды біріктіретін және ай