Призначення та основні функції операційної системи. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Призначення та основні функції операційної системи.



Призначення та основні функції операційної системи.

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

Перша функція ОС - керування ресурсами комп'ютера та їх розподіл. Ресурси - це логічні й фізичні компоненти комп'ютера: оперативна пам'ять, місце на диску, периферійні пристрої, процесорний час тощо.

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

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

Утиліта - це невелика програма, що виконує конкретну сервісну функцію. Утиліти звільняють користувача від виконання рутинних і часом досить складних операцій.

Сучасні ОС надають користувачеві широкий спектр сервісних послуг. Чим досконалішою є ОС, тим зручніше у ній працювати користувачу.

1. Операційна система служить для керування ресурсами комп'ютера і забезпечення взаємодії всіх програм на комп'ютері з людиною. Компоненти операційної системи поділяються на два класи: системні та прикладні. До прикладних компонентів відносяться текстові редактори, компілятори, інтегровані системи програмування, пакети графічного виведення, комунікаційні програми і т.

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

Для ІВМ-сумісних ПК створено багато ОС, серед яких найпопулярнішими є DOS, Windows, ОS/2, UNIX та інші. Для роботи на ПК найчастіше ви­користовуються

системи класу Windows і МS-DОS. Операційні системи зручно


Моделі операційних систем.

Операційна система - це складна програма, в якій деталі накладаються один на одного. Щоб система могла забезпечувати бажані можливості, необхідна уніфікуються модель. Розглянемо підходи до проектування операційних систем на прикладі поширених моделей.

Модель операційної системи можна представити як каркас, який пов'язує в єдине ціле всі засоби і сервіси, забезпечувані системою, з одного боку, і виконувані нею завдання з іншого.

Існує безліч способів структурування операційних систем. У невеликих операційних системах, наприклад, в MS-DOS, використовують принцип організації системи, як набору процедур, кожну з яких може викликати будь-яка призначена для користувача процедура. Така модель називається монолітною.

Така структура не забезпечує ізоляції даних, оскільки в різних ділянках коду використовується інформація про пристрій всієї системи. Розширення операційних систем такого типу важко, так як зміна деякої процедури може викликати помилки в інших частинах системи, на перший погляд не мають до неї відношення.

Інший підхід до структурування системи передбачає поділ її на модулі, нашаровані один поверх іншого. Кожен модуль надає набір функцій, які можуть викликатися іншими модулями. Код, розташований в деякому шарі, викликає код тільки з нижележащих шарів.У деяких операційних системах, що будуються по даній моделі, наприклад, в VAX / VMS або в системі Multics, багатошаровість навіть примусово обумовлюється апаратними засобами.

Третій підхід до проектування операційних систем - це модель клієнт-сервер. Ідея його полягає в поділі системи на кілька процесів, кожний з яких реалізує один набір сервісів: наприклад, розподіл пам'яті, створення процесів або планування процесів. Кожен сервер виконується в режимі користувача, весь час перевіряючи, не звернувся до нього за обслуговуванням небудь клієнт. Клієнт, яким може бути або інший компонент операційної системи, або прикладна програма, запитує виконання сервісу, посилаючи сервера повідомлення. Ядро операційної системи, що виконується в режимі ядра, доставляє повідомлення серверу. Той виконує запитувані дії, після чого ядро ​​повертає клієнту результати у вигляді іншого повідомлення

 


 

Класифікація операційних систем.

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

Операційні системи можуть бути класифікованими по базовій технології (Юнікс-подібні чи схожі на Windows), типу лицензії (комерційна чи вільна), чи розвивається в даний час (застарілі DOS чи NextStep або сучасні Linux і Windows), для робочих станцій (DOS, Apple), або для серверів (AIX), ОС реального часу і вбудовані ОС (VxWorks,QNX), PDA, чи спеціалізовані (керування виробництвом, навчання тощо). Багатозадачна ОС, вирішуючи проблеми розподілу ресурсів і конкуренції, повністю реалізує мультипрограмний режим відповідно до вимог роздягнула "Основні поняття, концепції ОС".

-ОС одного користувача і ОС багатьох користувачів;

-однозадачні ОС і багатозадачні ОС.

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

Однозадачною ОС є розглянута тут система МS-DOS. До сучасних багато-задачних систем належать усі ОС класу Windows 95 і вище. Типовим прикладом ОС багатьох користувачів є система UNIX, що встановлюється на комп'ютерах у великих офісах, банках, страхових компаніях тощо.


 

Основні функціональні підсистеми сучасних ОС.

Підсистема управління введенням-виведенням

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

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

Інтерфейс ядра операційної системи

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

 

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

 

Загальний порядок генерування та доставки сигналів процесу. Типи та властивості сигналів.

Сигнал являє собою асинхронне повідомлення що посилається процесу щоб проінформувати його про подію яка відбулась.

Посилка сигналів

Для посилки сигналів з командного інтерпретатора використовується команда kill. Вона має наступний синтаксис: kill [-сигнал] pid... Ця команда посилає зазначений сигнал (за замовчуванням - SIGTERM) всім процесам із зазначеними id. У деяких випадках процесу буває потрібно надіслати сигнал самому собі, це можна зробити за допомогою системного виклику raise.

Наприклад:

Завершить процеси, що мають id 142 и 157:

kill 142 157

Послати сигнал обриву (SIGHUP) процесу з ідентифікатором 507:

kill-s HUP 507

 

 

Доставка

Доставка сигналу відбувається після того, як ядро ​​від імені процесу викликає системну процедуру issig (), яка перевіряє, чи існують які очікують доставки сигнали, адресовані даному процесу. Процедура issig () викликається ядром в трьох випадках:

· Безпосередньо перед поверненням з режиму ядра в користувацький режим після обробки системного виклику або переривання.

· Безпосередньо перед переходом процесу в стан сну з пріоритетом, що допускає переривання сигналом.

· Відразу ж після пробудження після сну з пріоритетом, що допускає переривання сигналом.

Якщо процедура issig () виявляє очікування доставки сигналу, ядро ​​викликає функцію доставки сигналу, яке виконує дію за умовчанням або викликає спеціальну функцію sendsig (), що запускає обробник сигналу, зареєстрований процесом. Функція sendsig () повертає процес в користувальницький режим, передає управління обробникові сигналу, а потім відновлює контекст процесу для продовження перерваного сигналом виконання.

У Unix є 31 тип сигналів, які можна розділити на групи:

· сигнали, пов'язані з обладнанням, такі як: сигнали про помилки на шинах передачі даних, помилки при виконанні арифметичних операцій, помилках доступу до пам'яті т.п.;

· сигнали, пов'язані з програмними подіями: сигнал завершення процесу, сигнали від інтервального таймера, сигнали, якими процеси обмінюються між собою і т.п.;

· сигнали, пов'язані з уведенням-висновком, що сигналізують про події в потоках вводу-виводу;

· сигнали управління завданнями: призупинення та пуску процесів у групі, сигнали про події в процесі-нащадку і т.п.;

· сигнали управління ресурсами, що повідомляють про перевищення процесом лімітів використання ресурсів;

· сигнали про події на легковагих процесах, оброблювані модулями бібліотеки ниток.

Наприклад:

Тип сповіщення:

SIGCHLD Дочірній процес завершений або зупинений

Тип управління:

SIGKILL Безумовне завершення

SIGSTOP Зупинка виконання процесу

Тип виключення:

SIGBUSН неправильне звернення до фізичної пам’яті


Командний рядок

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

Графічний інтерфейс

Ідея використання графічного інтерфейсу користувача зародилася в середині 70-х років, коли в дослідницькому центрі Xerox Palo Alto Research Center (PARC) була розроблена концепція візуального інтерфейсу. Передумовою появи графічного інтерфейсу з'явилося зменшення часу реакції комп'ютера на введену команду, зумовлене зростанням потужності центрального процесора, та додаткового обладнання. Перша система з графічним інтерфейсом 8010 Star Information System групи PARC з'явилася за чотири місяці до виходу у світ першого персонального комп'ютера фірми IBM у 1981 році. На перших етапах візуальний інтерфейс використовувався тільки для прикладного програмного забезпечення: текстовий редактор, електронні таблиці. Зростання попиту на обчислювальну техніку змусило розробників ОС використовувати засоби візуального управління в операційних системах: спочатку на комп'ютерах Atari і Apple Macintosh, а потім і на IBM-сумісних комп'ютерах.

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

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


Досистемний завантажувач

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

Завантажувач першого рівня

Його завдання: визначити, де на диску знаходиться завантажувач другого рівня, завантажити його в пам'ять і передати йому управління.

Завантажувач другого рівня

вторинний завантажувач читає образ ядра в певну адресу пам'яті і передає туди управління.

Процес init

З цього моменту операційна система забезпечує повноцінну функціональність всім виконуваного процесу. В UNIX Перший запускає процесом є init, про який сказано в наступному розділі.

Linux Loader - це стандартний завантажувач, який входить до складу Unix-систем, у тому числі і практично всіх дистрибутивів Linux. З його допомогою можна завантажувати операційні системи, що відносяться не тільки до сімейства Unix, але і Windows. Більшість сучасних дистрибутивів Linux при установці LILO самостійно внесуть інші операційні системи до списку завантаження, а стару MBR (Master Boot Record, основний завантажувальний запис) диска, на який він встановлюється, дбайливо збережуть у резервному файлі. Безпосередньо LILO завантажує тільки Linux, решта ОС запускаються методом ланцюгової завантаження, тобто LILO передає цю задачу їх власним завантажувачу.


Поняття фрагментації даних.

Основні критерії ефективності фізичної організації файлу:

 швидкість доступу до даних;

 об'єм адресної інформації файлу;

 ступінь фрагментованості дискового простору;

 можливість збільшення розміру файлу.

 

Фізична організація файлу описує правила розташування файлу на пристрої зовнішньої пам'яті, зокрема на диску. Файл складається з фізичних записів - блоків. Блок - найменша одиниця даних, якій зовнішній пристрій обмінюється з оперативною пам'яттю.

Безперервне розміщення - найпростіший варіант фізичної організації при якому файлу надається послідовність блоків диска, що утворять єдиний суцільний ділянку дискової пам'яті.

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

 

Наступний спосіб фізичної організації - розміщення у вигляді пов'язаного списку блоків дискової пам'яті. На відміну від попереднього способу, кожен блок може бути приєднаний до ланцюжок якого-небудь файлу, отже фрагментація відсутня. Файл може змінюватися під час свого існування, нарощуючи число блоків.

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


Основні атрибути файлів.

Атрибути - це характеристики властивостей файлів. Зазвичай має такі атрибути:

1) Час створення

2) Розмір

3) Дата встановленої модифікації

4) Права доступу

Специфічно для UNIX систем:

1) тип файлу(6 типів)

2) розмір

3) права доступу

4) ідентифікатор власника користувача

5) ід. Групи власника

6) час останньої модифікації

існує ще 4 додаткових:

1) ознака примусового блокування

2) ознака липкості

3) SUID(set user ID)

4) GUID(get user ID)

Для виконуваних файлів ознака липкості вказує на те, що необхідно зберегти образ файлу в пам’яті після його виконання.


Синтаксис:

mknod [опції] <ім’я створюваного файлу>

Опції:

-p – створити іменовний канал FIFO.

-b – створити спеціальний блоковий файл.

-c - створити спеціальний символьний файл.

 

mkfifo -створює FIFO (іменовані) канали.

Синтаксис:

mkfifo [опції] <назва файлу>

Опції:

-m -встановлює права доступу до створюваних FIFO.

cp - утиліта копіювання файлу.

Синтаксис:

cp [опції] <файл | каталог> <файл | каталог >

Опції:

- R - рекурсивне копіювання;

- i - запит підтвердження перед перезаписом будь-яких файлів, які можуть бути перезаписані.

- f - протилежність -i, замінює будь-які існуючі файли без запиту підтвердження.

- v - докладний режим, повідомляє про всі дії, що виконуються cp.

Приклад: cp-i / timages / * images / - копіює всі файли з каталогу / timages / в каталог images /, що знаходиться в поточному каталозі. Запитується підтвердження, якщо має бути перезаписаний файл.

mv -команда переміщення файлів,

Синтаксис:

mv [опції] <файл|каталог>

Опції:

- f - форсування операції - попередження не виводиться, якщо перезаписується існуючий файл.

- і- протилежна дія. У користувача питається підтвердження перед перезаписом існуючого файлу.

- v-докладний режим, повідомляє про всі зміни і дії.

Приклад: mv-vf file * images / trash - переміщує без запиту підтвердження всі файли з поточного каталогу, що починаються з file, разом з усім каталогом images / в каталог trash /, і показує порядок виконання кожної операції.

rename – утиліта для перейменування файлів


Стандартне введення

Потік номер 0 (stdin) зарезервовано для читання команд користувача або вхідних даних.

При інтерактивному запуску програми за замовчуванням stdin націлений на читання з пристрою текстового інтерфейсу користувача (клавіатури). Командна оболонка UNIX (і оболонки інших систем) дозволяють змінювати введення цього потоку за допомогою символу «<». Системні програми (демони тощо), як правило, не користуються цим потоком.

Стандартне виведення

Потік номер 1 (stdout) зарезервовано для виведення даних, як правило (хоча і не обов'язково) текстових.

При інтерактивному запуску програми stdout за замовчуванням націлений на запис на пристрій виведення (монітор). Командна оболонка UNIX (і оболонки інших систем) дозволяють скерувати цей потік за допомогою символу «>». Для виконання програм у фоновому режимі цей потік зазвичай переводять у файл.

В Юнікс-подібних операційних системах, конвеєри відповідають оригінальним конвеєрам програм: набір процесів, зв'язані своїми стандартними потоками вводу-виводу таким чином, що вихідний потік кожного процесу (stdout) безпосередньо зв'язується зі стандартним потоком вводу (stdin) наступного. Кожний зв'язок реалізується як анонімний конвеєр. Програми-фільтри часто використовуються в подібнх комбінаціях. Цю концепцію було запропоновано Дугласом Мак-Ілроєм для оболонок Юнікс і дано назву за аналогією зі справжніми конвеєрами.

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


Призначення та основні функції операційної системи.

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

Перша функція ОС - керування ресурсами комп'ютера та їх розподіл. Ресурси - це логічні й фізичні компоненти комп'ютера: оперативна пам'ять, місце на диску, периферійні пристрої, процесорний час тощо.

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

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

Утиліта - це невелика програма, що виконує конкретну сервісну функцію. Утиліти звільняють користувача від виконання рутинних і часом досить складних операцій.

Сучасні ОС надають користувачеві широкий спектр сервісних послуг. Чим досконалішою є ОС, тим зручніше у ній працювати користувачу.

1. Операційна система служить для керування ресурсами комп'ютера і забезпечення взаємодії всіх програм на комп'ютері з людиною. Компоненти операційної системи поділяються на два класи: системні та прикладні. До прикладних компонентів відносяться текстові редактори, компілятори, інтегровані системи програмування, пакети графічного виведення, комунікаційні програми і т.

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

Для ІВМ-сумісних ПК створено багато ОС, серед яких найпопулярнішими є DOS, Windows, ОS/2, UNIX та інші. Для роботи на ПК найчастіше ви­користовуються

системи класу Windows і МS-DОS. Операційні системи зручно


Моделі операційних систем.

Операційна система - це складна програма, в якій деталі накладаються один на одного. Щоб система могла забезпечувати бажані можливості, необхідна уніфікуються модель. Розглянемо підходи до проектування операційних систем на прикладі поширених моделей.

Модель операційної системи можна представити як каркас, який пов'язує в єдине ціле всі засоби і сервіси, забезпечувані системою, з одного боку, і виконувані нею завдання з іншого.

Існує безліч способів структурування операційних систем. У невеликих операційних системах, наприклад, в MS-DOS, використовують принцип організації системи, як набору процедур, кожну з яких може викликати будь-яка призначена для користувача процедура. Така модель називається монолітною.

Така структура не забезпечує ізоляції даних, оскільки в різних ділянках коду використовується інформація про пристрій всієї системи. Розширення операційних систем такого типу важко, так як зміна деякої процедури може викликати помилки в інших частинах системи, на перший погляд не мають до неї відношення.

Інший підхід до структурування системи передбачає поділ її на модулі, нашаровані один поверх іншого. Кожен модуль надає набір функцій, які можуть викликатися іншими модулями. Код, розташований в деякому шарі, викликає код тільки з нижележащих шарів.У деяких операційних системах, що будуються по даній моделі, наприклад, в VAX / VMS або в системі Multics, багатошаровість навіть примусово обумовлюється апаратними засобами.

Третій підхід до проектування операційних систем - це модель клієнт-сервер. Ідея його полягає в поділі системи на кілька процесів, кожний з яких реалізує один набір сервісів: наприклад, розподіл пам'яті, створення процесів або планування процесів. Кожен сервер виконується в режимі користувача, весь час перевіряючи, не звернувся до нього за обслуговуванням небудь клієнт. Клієнт, яким може бути або інший компонент операційної системи, або прикладна програма, запитує виконання сервісу, посилаючи сервера повідомлення. Ядро операційної системи, що виконується в режимі ядра, доставляє повідомлення серверу. Той виконує запитувані дії, після чого ядро ​​повертає клієнту результати у вигляді іншого повідомлення

 


 



Поделиться:


Последнее изменение этой страницы: 2016-08-14; просмотров: 1365; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.151.141 (0.076 с.)