Ая система введення
Фізично системна BIOS являє собою мікросхему (або набір мікросхем) постійної пам'яті ПЗУ, або ROM, розташовану на материнській платі. Тому таку мікросхему часто називають ROM BIOS, а саму програму системної BIOS - BIOS материнської плати. ROM BIOS - це вставлена в панель материнської плати мікросхема з 28 або 32 контактами; вона забезпечена голографічну наклейку і написом-логотипом виробника даної BIOS. Часто мікросхеми впаюються прямо в системну плату. Мікросхеми ROM BIOS можуть мати різний обсяг, але частіше він становить 128 або 256 Кб.
Як правило, поруч з мікросхемою ROM BIOS знаходиться нікель-кадмієвий акумулятор або літієвий елемент (батарейка), що живлять мікросхему CMOS і постійно заряджає під час роботи комп'ютера. Такі живлять елементи встановлюються з метою збереження інформації в мікросхемах ROM після вимкнення живлення. Тому мікросхему ROM часто називають незалежними. але це не зовсім вірно. Мікросхеми ROM, все ж, потребують автономному електроживленні, тому пам'ять таких мікросхем слід було б називати пам'яттю з автономним живленням.
BIOS - базова система введення-виведення, що зберігається в ПЗУ і призначена для виконання базових апаратних функцій з урахуванням особливостей апаратної частини конкретної ПЕОМ. Цим забезпечується незалежність операційної системи і прикладних програм від особливостей ПЕОМ, на якій вони функціонують.
BIOS включає в себе програмну підтримку стандартних ресурсів ПЕОМ і забезпечує діагностику апаратних засобів, їх конфігурація і виклик завантажувача операційної системи. Зазвичай BIOS прив'язаний до конкретного типу системної плати.
Останнім часом BIOS найчастіше зберігають у Flash пам'яті, що допускає перезапис вмісту. Це дозволяє оновлювати версії BIOS, однак, зворотним боком цього є можливість виведення ПЕОМ з ладу через псування BIOS при неправильній його перезапису або під впливом вірусів.
Для оновлення BIOS нові версії слід отримувати безпосередньо від виробників системної плати або з сайтів, що зберігають такі версії. Власне виробники BIOS (фірми AMI, Award, Phoenix) під конкретні плати їх не налаштовують: Цією налаштуванням (доопрацюванням) базових версій BIOS і займаються виробники системних плат.
Функції BIOS поділяються на такі групи:
Ініціалізація і тестування апаратних засобів по включенні харчування - POST (Power On Self Test)
Налаштування і конфігурація апаратних засобів і системних ресурсів-BIOS Setup
Завантаження операційної системи з дискових носіїв - Bootstrap Loader
Обслуговування апаратних переривань від системних пристроїв (таймера, клавіатури, дисків) - BIOS Hardware Interrupts
Відпрацювання базових функцій програмних звернень (сервісів) до системних пристроїв -BIOS Services
Всі ці функції виконує системний модуль System BIOS, що зберігається в мікросхемі ПЗУ або флеш-пам'яті, встановленої на системній платі.
Система CMOS (енергозалежна пам'ять CМОS). Особливість цієї пам'яті полягає в тому, що вона харчується від спеціального джерела живлення, незалежно включений або виключений основне джерело харчування. У ній міститься інформація про гнучких дисках, про жорсткому диску, процесорі, а також показання системних годин.
POST (англ.PowerOnSelfTest) - самотестування після включення. Перевірка апаратного обеспеченіякомпьютера, виконувана при включенні. Виконується программойBIOSматерінской плати. Тест включає:
Перевірку цілісності програми BIOS
Виявлення і ініціалізацію основних системних шин і пристроїв (контролера переривань, контролерів шин, графічного адаптера ...), а також виконання програм закладених в пристрої і забезпечують їх самоініціалізацію.
Визначення розміру оперативної пам'яті тестування перших 64кілобайт.
Повний регламент роботи POST:
Перевірка регістрів процесора;
Перевірка контрольної суми ПЗУ;
Перевірка системного таймера і порту звукової сигналізації 8255;
Тест контролера безпосереднього доступу до пам'яті (DMA);
Тест регенератора оперативної пам'яті;
Тест нижньої області ОЗУ для проектування резидентних програм в BIOS;
Завантаження резидентних програм;
Тест стандартного графічного адаптера (VGA);
Тест оперативної пам'яті;
Тест основних пристроїв введення (НЕ маніпуляторів);
Тест основних портів LPT / COM;
Тест НГМД (накопичувачів на гнучкі магнітні диски);
Тест НЖМД (накопичувачів на жорстких магнітні диски);
Самодіагностика функціональних підсистем BIOS;
Передача управління завантажувачу BOOTStrap.
У більшості персональних компьютеровв разі успішного проходження тесту системний динамік видає один короткий звуковий сигнал (beep). У разі помилки - різні послідовності звукових сигналів, за якими можна визначити причини збою. Крім того, генерується код помилки, який можна дізнатися при помощіPOST Card- плати, яка вставляється в слот розширення і відображає код на встановленому на ній індикаторі. Про співвідношення конкретного звукового сигналу і коду POST з причиною помилки можна дізнатися з документації поBIOSілі поматерінской платі.
Поняття про багатозадачності.
Багатозадачність (англ.multitasking) - властивість операційної сістемиу середовища програмування забезпечувати можливість паралельної (іліпсевдопараллельной) обробки декількох процесів. Справжня багатозадачність операційної системи можлива тільки враспределенних обчислювальних системах.
Властивості багатозадачного середовища
Примітивні багатозадачні середовища забезпечують чисте «поділ ресурсів», коли за кожним завданням закріплюється певна ділянка пам'яті, і завдання активізується в строго певні інтервали часу.
Більш розвинені багатозадачні системи проводять розподіл ресурсів динамічно, коли завдання стартує в пам'яті або залишає пам'ять в залежності від її пріоритету і від стратегії системи. Така багатозадачна середу володіє наступними особливостями:
Кожне завдання має свій пріоритет, відповідно до якого отримує процесорний час і пам'ять
Система організовує черги завдань так, щоб всі завдання отримали ресурси, в залежності від пріоритетів і стратегії системи
Система організовує обробку переривань, за якими завдання можуть активуватися, деактивовано і віддалятися
Після закінчення покладеного кванта часу ядровременно переводить завдання зі стану виконання в стан готовності, віддаючи ресурси іншим завданням. При нестачі пам'яті сторінки невиконуюча завдань можуть бути витіснені на диск (своппинг), а потім через певний системою час, відновлюватися в пам'яті
Система розпізнає збої і зависання окремих завдань і припиняє їх
Система вирішує конфлікти доступу до ресурсів і пристроїв, не допускаючи тупикових ситуацій загального зависання від очікування заблокованих ресурсів
Система гарантує кожній задачі, що рано чи пізно вона буде активована
Система обробляє запити реального часу
Система забезпечує комунікацію між процесами
Труднощі реалізації багатозадачного середовища
Основною трудністю реалізації багатозадачного середовища є її надійність, виражена в захисті пам'яті, обробці збоїв і переривань, оберігання отзавісанійітупікових ситуацій.
Крім надійності, багатозадачна середу повинна бути ефективною. Витрати ресурсів на її підтримку не повинні: заважати процесам проходити, уповільнювати їх роботу, різко обмежувати пам'ять.
Типи псевдопараллельной багатозадачності
Тип багатозадачності, при якому операційна сістемаодновременно завантажує в пам'ять два або більше додатків, але процесорний час надається тільки основним додатком. Для виполненіяфонового пріложеніяоно повинна бути активізована.
Спільна або кооперативна багатозадачність
Витісняє або пріоритетна багатозадачність (режим реального часу)
Вид багатозадачності, в якому операційна сістемасама передає управління від однієї виконуваної програми інший в разі завершень операцій введення-виведення, виникнення подій в апаратурі комп'ютера, витікань таймерів і квантів часу, або ж надходжень тих чи інших сигналів від однієї програми до іншої. У цьому виді багатозадачності процесор може бути переключено з виконання однієї програми на виконання іншої без всякого побажання першої програми і буквально між будь-якими двома інструкціями в її коді. Розподіл процесорного часу здійснюється планувальником процесів. До того ж кожного завдання може бути призначений користувачем або самою операційною системою певний пріоритет, що забезпечує гнучке управління розподілом процесорного часу між завданнями (наприклад, можна знизити пріоритет ресурсномісткої програми, знизивши тим самим швидкість її роботи, але підвищивши продуктивність фонових процесів). Цей вид багатозадачності забезпечує більш швидкий відгук на дії користувача.
Проблемні ситуації в багатозадачних системах
Затримка часу від пробудження потоку до його виклику на процесор, протягом якої він знаходиться в списку потоків, готових до виконання. Виникає через присутність потоків з великими або рівними пріоритетами, які виконуються весь цей час.
Негативний ефект полягає в тому, що виникає затримка часу від пробудження потоку до виконання ним наступним важливим операції, що затримує виконання цієї операції, а слідом за нею і роботу багатьох інших компонент.
Голодування створює вузьке місце в системі і не дає вичавити з неї максимальну продуктивність, що обмежується тільки апаратно зумовленими вузькими місцями.
Гонка (race condition)
Недетермінований порядок виконання двох шляхів коду, що працюють з одними і тими ж даними і виконуваними в двох різних нитках. Призводить до залежності порядку - і правильності - виконання від випадкових факторів.
Потік L має низький пріоритет, потік M - середній, потік H - високий. Потік L захоплює mutex, і, виконуючись з утриманням mutex'а, преемптівно переривається потоком M, який прокинувся з якоїсь причини, і має більш високий пріоритет. Потік H намагається захопити mutex.
В отриманій ситуації потік H очікує завершення поточної роботи потоком M, бо, поки потік M виконується, фоновий потік L не отримує управління і не може звільнити mutex.
КВИТОК 7-Класи пріоритетів.
Драйвери. Пріоритети процесів. (Пріоритет-сокр.п-т + закінчено.) Системні. планувальник (system scheduler), управл. перемиканням завдань, визначаючи, якому з конкуруючих потоків потрібно виділити наступний квант часу процессора.Всё залежить від п-тов конкуруючих потоков.Существ. від 0 (нижчий. п-т) до 31 (вищий п-т) п-тов. Нульовий рівень п-ту система привласнює особливому потоку обнулення вільних сторінок. Він працює за відсутності інших потоків. Жоден потік, крім нього, не може мати нульовий рівень. П-т кожного потоку визначаються-ся виходячи з: класу п-ту процесу, в контексті якого виполн.-ся потік, Про рівня п-ту потоку всередині класу п-ту потоку. Існує шість класів п-тов для процесів: IDLE_PRIORITY_CLASS (процеси, осуществл-ие моніторинг системи, а також зберігачі екрану (screen savers) повинні мати цей клас щоб не заважати іншим корисним потокам); BELOW_NORMAL_PRIORITY_CLASS ((BELOW. І ABOVE.) З'явилися починаючи з Windows NT 5.0.); NORMAL__PRIORITY_CLASS (Стандарт.); ABOVE_NORMAL_PRIORITY_CLASS; HIGH_PRIORITY_CLASS (якщо потік процесу цього класу підлягає займає процесор, то інші потоки не мають шансу отримати свій квант часу); REALTIME_PRIORITY_CLASS (здатні перервати навіть ті системні потоки, які обробляють повідомлення миші, введення з клавіатури і фонових ю роботу з диском)
Пріоритети потоків. Усередині кожного процесу, якому присвоєно будь-якої клас п-ту, можуть існувати потоки, рівень п-ту яких приймає одне з семи можливих значень: THREAD_PRIORITY_IDLE (якщо ж ви для потоку виберете цей рівень, то базовий рівень скакне і опуститься до одиниці) ; THREAD_PRIORITY_LOWEST (фонові потоки); THREAD_PRIORITY__BELOW ___ NORMAL (фонові потоки); THREAD_PRIORITY_NORMAL (всі потоки створюються з цим рівнем); THREAD_PRIORITY_ABOVE_NORMAL; THREAD_PRIORITY_HIGHEST; THREAD_PRIORITY_TIME_CRITICAL.
Кожному потоку призначається пріоритет планування. Є 32 рівня пріоритетів планування зі значеннями 0-31. Пріоритети планування діляться на дві головні групи: динамічні пріоритети (dynamic priorities); пріоритети реального часу (real-time priorities) .Дінаміческіе пріоритети мають значення в діапазоні 1-15.Остальние реальн.времені. Програмно призначений потоку значення пріоритету називають базовим пріоритетом.
Питання 8-Принципи побудови файлової сістеми.Фізіческій формат магнітного диска. З інформаційної точки зору магнітний диск умовно можна розділити на концентричні кола, називані доріжками, в яких зберігаються біти даних. Диск являє собою пакет магнітних пластин, а сукупність однойменних доріжок різних пластин називається циліндром. По кожній стороні магнітної пластини розташовується по одній магнітної голівці. Подаючи команди дискового контролера, програма може переміщати блок головок вздовж радіуса диска, переходячи від одного циліндра до іншого. Дані записуються або зчитуються не суцільним потоком, а блоками певного розміру, які називають секторами. Сектор являє собою найменший обсяг даних, який записується або прочитується контролером. Фізично кожна доріжка складається з певного числа секторів. Число секторів на доріжці задається програмно (драйвером пристрою). Кожен сектор складається з поля даних і поля службової інформації, яка обмежує і ідентифікує його.
Фактор чергування дорівнює кількості обертів диска, за яке можна послідовно в порядку зростання номерів секторів прочитати одну доріжку. Якщо сектори розташовані поспіль в порядку зростання номерів, при достатній швидкодії контролера диска можна прочитати доріжку за 1 оборот диска. Якщо фактор чергування дорівнює двом, буде потрібно 2 обороту.
Зрушення циліндрів. Деякі НМД, зокрема використовують інтерфейс ESDI, можна відформатувати "із зсувом циліндрів" (Cylinder Skew). В цьому випадку циліндри, розташовані ближче до центру, будуть зрушені вперед у напрямку обертання щодо зовнішніх циліндрів. При переході від одного циліндра до іншого головки встигнуть якраз до початку наступного запису, т. Е. До першого циліндра. І якщо величина зсуву обрана правильно, додатковий оборот диска не буде потрібно.
Зрушення головок. Для вибору правильного розташування першого сектора деякі програми низькорівневого форматування дозволяють задавати зміщення головок (Head Skew) щодо маркера доріжки.
Інформаційна структура диска.
Кожна дискета (ГМД) зазвичай розглядається MS-DOS як єдиний логічний диск.
Жорсткий диск може бути поділені на кілька розділів, які використовуються, різними ОС. Максимальне число розділів дорівнює чотирьом. Власне MS-DOS може використовувати один або два розділи. Перший з них повинен бути первинним розділом MS-DOS, другий - може бути розширеним розділом MS-DOS. У первинному розділі DOS може бути сформований тільки один логічний диск, а в розширеному - будь-яке їхнє кількість. Кожен логічний диск «управляється» своїм логічним приводом.
Спочатку (починаючи з нуля) нумеруються сектори на нульовий доріжці нульовий поверхні і т.д. Після перенумерации секторів на нульових доріжках всіх поверхонь описаний процес повторюється для першого і всіх наступних циліндрів.
S = n - ((t 'H' S) + (h 'S)) + 1
Наведені формули для дискет можна використовувати без будь-яких поправок. Для ЖМД отримані t, h і S потрібно збільшити на значення, відповідні задіяної в інших цілях попередньої області дискового простору.
Логічне дисковий простір будь-якого логічного диска ділиться на дві області: системну область і область даних.
Системна область логічного диска створюється і ініціалізується при форматуванні верхнього рівня, а в подальшому оновлюється при маніпулюванні файлової структурою. Область даних логічного диска містить файли і каталоги, підлеглі кореневого каталогу. Однак вона на відміну від системної області доступна через призначений для користувача інтерфейс MS-DOS.
кореневого каталогу (Rdir - Root Directory).
Файл - це іменований об'єкт, який може зберігати дані, програму або іншу інформацію.
Файлову систему можна визначити як що складається з двох складових частин: .совокупность файлів і керуючої інформації на диску для доступу до файлів; сукупність програмних засобів ОС для доступу до файлів, які виконують такі операції з файлами.