Список використаної літератури. Міністерство освіти і науки, молоді та спорту України
Міністерство освіти і науки, молоді та спорту України
Дніпропетровський національний університет ім. О.Гончара
Факультет психології
РЕФЕРАТ
З дисципліни "Основи інформатики та обчислювальної техніки"
Тема: | Операційні системи |
Виконав: | ст. гр. ДС-12-4 Ковпак Катерина | ||
Перевірили: | доц. ККТ Зайцева Т.А.. доц. ККТ Золотько К.Є. ст. викл. ККТ Косолап А.І. | ||
Дніпропетровськ |
І
Зміст
Операційна система. 3
Функції операційної системи. 3
Види операційних систем.. 4
Складові ОС.. 5
Підсистеми ядра ОС.. 7
Історія. 9
Сьогодення. 11
Операційна система
О |
пераційна система (скор. ОС) — це базовий комплекс програмного забезпечення, що виконує управління апаратним забезпеченням комп'ютера або віртуальної машини; забезпечує керування обчислювальним процесом і організує взаємодію з користувачем.
Операційна система звичайно складається з ядра операційної системи та базового набору прикладного програмного забезпечення.
Функції операційної системи
Головні функції:
1. Виконання на вимогу програм користувача тих елементарних (низькорівневих) дій, які є спільними для більшості програмного забезпечення і часто зустрічаються майже у всіх програмах (введення та виведення даних, запуск і зупинка інших програм, виділення та вивільнення додаткової пам'яті тощо).
2. Стандартизований доступ до периферійних пристроїв (пристрої введення-виведення).
3. Завантаження програм у оперативну пам'ять і їх виконання.
4. Керування оперативною пам'яттю (розподіл між процесами, організація віртуальної пам'яті).
5. Керування доступом до даних енергонезалежних носіїв (твердий диск, оптичні диски тощо), організованим у тій чи іншій файловій системі.
6. Забезпечення користувацького інтерфейсу.
7. Мережеві операції, підтримка стеку мережевих протоколів.
Додаткові функції:
1. Паралельне або псевдопаралельне виконання задач (багатозадачність).
2. Розподіл ресурсів обчислювальної системи між процесами.
3. Організація надійних обчислень (неможливості впливу процесу на перебіг інших), основана на розмежуванні доступу до ресурсів.
4. Взаємодія між процесами: обмін даними, синхронізація.
Види операційних систем
Відносно свого призначення ОС бувають:
· універсальні (для загального використання);
· спеціальні (для розв'язання спеціальних задач);
· спеціалізовані (виконуються на спеціальному обладнанні);
· однозадачні (в окремий момент часу можуть виконувати лише одну задачу);
· багатозадачні (в окремий момент часу здатні виконувати більше однієї задачі);
· однокористувацькі (в системі відсутні механізми обмеження доступу до файлів та на використання ресурсів системи);
· багатокористувацькі (система впроваджує поняття "власник файлу" та забезпечує механізми обмеження на використання ресурсів системи (квоти)), всі багатокористувацькі операційні системи також є багатозадачними;
· реального часу (система підтримує механізми виконання задач реального часу, тобто такі, для яких будь які операції завжди виконуються за наперед передбачуваний і незмінний при наступних виконаннях час).
Відносно способу інсталяції бувають:
· вмонтовані (такі, що зберігаються в енергонезалежній пам'яті обчислювальної машини або пристрою без можливості заміни в процесі експлуатації обладнання);
· невмонтовані (такі, що інсталюються на один з пристроїв зберігання інформації обчислювальної машини з можливістю подальшої заміни в процесі експлуатації).
Відносно відповідності стандартам ОС бувають:
· стандартні (відповідають одному з загальноприйнятих відкритих стандартів, найчастіше POSIX);
· нестандартні (в тому числі такі, що розробляються відповідно до корпоративних стандартів).
Відносно можливостей розширення ОС бувають:
· закриті (не дозволяють розширення функціональності ОС);
· відкриті (будуються за технологіями, що забезпечують можливості розширення функціональності ОС).
Відносно можливостей внесення змін до вихідного коду ОС бувають:
· відкриті (англ. open source) - з відкритим програмним кодом;
· власницькі (англ. proprietary) - комерційні з закритим кодом.
Складові ОС
До складу операційної системи входять:
· ядро операційної системи, що забезпечує розподіл та управління ресурсами обчислювальної системи;
· базовий набір прикладного програмного забезпечення, системні бібліотеки та програми обслуговування.
Ядро системи — це набір функцій, структур даних та окремих програмних модулів, які завантажуються в пам'ять комп'ютера призавантаженні операційної системи та забезпечують три типи системних сервісів:
· управління введенням-виведенням інформації (підсистема вводу-виводу ядра ОС);
· управління оперативною пам'яттю (підсистема управління оперативною пам'яттю ядра ОС);
· управління процесами (підсистема управління процесами ядра ОС).
Кожна з цих підсистем представлена відповідними функціями ядра системи.
Багатозадачні операційні системи також включають ще одну обов'язкову складову - механізм підтримки багатозадачності. Ця складова не надається в якості системного сервісу і тому не може бути віднесена до жодної з підсистем.
Існує три основних механізми забезпечення багатозадачності (планування задач):
1. шляхом надання процесора окремій задачі на квант часу, який визначається самою задачею (кооперативна багатозадачність; останнім часом практично не використовується або область використання значно обмежена всередині процесів);
2. шляхом надання процесора окремій задачі на квант часу, який визначається обладнанням обчислювальної системи - інтервальним таймером;
3. виділення під окрему задачу окремого процесора в багатопроцесорних системах.
У перших двох випадках на кожному з процесорів в окремо взятий момент часу обраховується лише одна задача, але за рахунок достатньо малого кванту часу (в межах мілісекунд), що почергово надається кожній з задач, виникає ілюзія одночасного виконання в системі багатьох задач.
Підсистеми ядра ОС
Інтерфейс ядра операційної системи
Функції ядра операційної системи можуть бути виконані внаслідок виконання в прикладних програмах спеціальних функцій - системних викликів. Призначення системного виклику полягає в тому, що прикладні програми не взмозі самотужки визначити, за якими адресами знаходяться функції ядра.
Системний виклик в один з машинно-залежних способів реалізує механізм отримання адрес функцій ядра та передачу в ці функції необхідних параметрів системного виклику, а також отримання результату системного виклику. Найчастіше системні виклики забезпечуються через систему переривань, завдяки чому адреса функції ядра не тільки обраховується апаратно (в процесі обробки переривання), але й забезпечується захист інформаційних ресурсів ядра.
Системні виклики найчастіше мають синтаксис функції мови програмування, на якій написано ядро ОС.
Підсистема управління введенням-виведенням
Підсистема управління введенням-виведенням реалізує базові механізми обміну даними між пристроями введення-виведення та оперативною пам'яттю обчислювальної машини та забезпечує організацію файлів в файлові системи.
Операція введення виконується як читання даних з зовнішнього пристрою в оперативну пам'ять, операція виведення - як запис даних з оперативної пам'яті на зовнішній пристрій.
При роботі з файлами система введення-виведення впроваджує спеціальну абстракцію - потік вводу-виводу, що дозволяє програмам, які звертаються за сервісами введення-виведення, використовувати одноманітний перелік функцій роботи з файлами незалежно від типу пристрою, на якому знаходиться файл, та типу файлової системи, яка містить цей файл. Відмінності доступу до різних пристроїв та файлових систем забезпечуються додатковими програмними модулями - драйверами пристроїв та файлових систем.
В окремих операційних системах підсистема управління введенням-виведенням також може впроваджувати механізми, які призвані підвищити швидкість обміну даними між задачами та файлами. Найчастіше використовується механізм буферизації (кешування) даних, який полягає в тому, що при читанні даних з файлу підсистема намагається за одну операцію введення читати дані блоками зручного (звичайно досить великого) розміру, а не порціями, які запитує задача. Завдяки цьому за одну операцію введення в оперативну пам'ять потрапляють також додаткові дані, які зберігаються в кеші і в подальшому передаються в програму без додаткових звернень до пристрою. Подібним чином цей механізм працює і при виконанні операцій запису.
Підсистема управління оперативною пам'яттю
Будь яка програма може виконуватись лише тоді, коли вона завантажена в оперативну пам'ять, так само, будь які дані з файлів можуть оброблятись лише тоді, коли вони завантажені в оперативну пам'ять. Завантаження програми та даних в оперативну пам'ять призводить до того, що в оперативній пам'яті одночасно знаходяться одразу кілька компонентів: ядро операційної системи, командний інтерпретатор, програма, що виконується, та дані, що обробляються. Крім того, програма в процесі свого виконання може звертатись до підсистеми управління оперативною пам'яттю з запитами на виділення додаткової - динамічної - оперативної пам'яті.
В багатозадачних операційних системах кількість компонентів, що одночасно можуть знаходитись в оперативній пам'яті зростає пропорційно кількості задач і може сягати сотень.
Підсистема управління оперативною пам'яттю забезпечує розподіл оперативної пам'яті між різними компонентами, а також розподіляє пам'ять під кеш системи введення-виведення.
В окремих багатозадачних операційних системах підсистема управління оперативною пам'яттю також забезпечує віртуалізацію оперативної пам'яті, завдяки чому кожна задача (процес) отримує власну віртуальну пам'ять, причому таким чином, що нестача реальної (фізичної) пам'яті покривається за рахунок перерозподілу даних між оперативною пам'яттю та зовнішнім накопичувачем і переміщення даних між фізичною оперативною пам'яттю і зовнішнім накопичувачем приховується від задач. Це переміщення називається пейджингом (англ. paging) або свопінгом (англ. swapping — обмін) — в залежності від термінології конкретної ОС.
Запровадження механізму віртуалізації оперативної пам'яті дозволяє отримати два корисних наслідки:
· кожна задача фактично виконується у власному адресовому просторі, тобто таким чином, якби вона виконувалась в однозадачній операційній системі, завдяки чому значно зменшується вплив окремих задач однією на одну та на ядро системи, а завдяки цьому - і надійність системи;
· кожна задача отримує стільки віртуальної оперативної пам'яті, скільки потрібно, а не стільки, скільки є наявної фізичної оперативної пам'яті.
Віртуалізація оперативної пам'яті вимагає апаратної підтримки і звичайно забезпечується через спеціальну таблицю сторінок пам'яті, що містить відповідності між віртуальними та фізичними адресами.
Історія
Перші комп'ютери взагалі не мали ОС. На початку 1960-х вони лише комплектувались набором інструментів для розробки, планування та виконання завдань. Серед інших можна виділити системи від UNIVAC та Control Data Corporation.
До кінця 1960-х, проте, було розроблено цілий ряд операційних систем, в котрих були реалізовані всі або більшість з вищеперелічених функцій. До них можна віднести «Atlas» (Манчестерський університет), «CTTS» и «ITSS» (Массачусетський технологічний інститут (МТІ)), «THE» (Ейндховенський технологічний університет), «RS4000» (Університет Орхуса) та інші (на той момент їх налічувалось близько сотні)
Найбільш розвинуті ОС того часу, такі як «OS/360» (компанія «IBM»), «SCOPE» (компанія «CDC») та завершений вже в 1970-х роках «MULTICS» (МТІ та компанія «Bell Labs»), передбачали можливість використання багатопроцесорних системи.
Спонтанний характер розробки ОС призвів до наростання кризових явищ, пов'язаних, перш за все, зі складністю та великими розмірами розроблюваних систем. ОС погано масштабувались (простіші не використовували всіх можливостей потужних обчислювальних машин; складніші неоптимально виконувались або взагалі не виконувались на менш потужних системах) і були повністю несумісними між собою.
У 1969 році співробітники МТІ Кен Томпсон, Деніс Рітчі та Браян Керніган з колегами розробили та реалізували ОС «Юнікс» («Unix»; первинно «UNICS», на противагу «MULTICS»). Нова ОС увібрала в себе багато рис попередниць, але на противагу їм мала цілий ряд переваг:
проста метафорика (два ключових поняття — процес та файл);
компонентна архітектура (принцип «одна програма — одна функція», або інакше «кожна програма має робити лише одну роботу, але робити її добре» плюс потужні засоби об'єднання цих програм для розв'язання конкретних задач);
мінімізація ядра та кількості системних викликів;
незалежність від апаратної архітектури і реалізація на машинно незалежній мові програмування (для цього була розроблена мова програмування «C»;
уніфікація файлів (будь-що у системі є файлом, до якого можна доступитись за спільними для всіх правилами).
Завдяки зручності перш за все в якості інструментального середовища «Юнікс» дуже тепло зустріли в університетах, а потім і в галузі в цілому і незабаром вона стала прототипом єдиної ОС, котру можна було використовувати у найрізноманітніших обчислювальних системах, і — більше того — швидко та з мінімумом зусиль перенести на іншу апаратну архітектуру.
Незабаром «Юнікс» стала стандартом де-факто, а потім і юридичним — ISO/IEC 9945. ОС, що дотримувались цього стандарту чи опираються на нього, називають «відкритими» або «стандартними». До них належать системи, що базуються на останній версії «Юнікс», випущеної «Bell Labs» («System V»), на розробках Університету Берклі («FreeBSD», «OpenBSD», «NetBSD»), а також ОС «Linux», розроблена спільнотою на чолі з Лінусом Торвальдсом та в межах проекту «GNU» (основні системні інструменти).
Сьогодення
Сучасні операційні системи типово мають графічний інтерфейс користувача, котрий на додачу до клавіатури користується також вказівниковим пристроєм — мишею чи тачпадом. Старіші системи, та системи, що не призначені для частої безпосередньої взаємодії з користувачем (як наприклад сервери) типово використовують інтерфейс командного рядка. Обидва підходи так чи інакше реалізують оболонку, котра перетворює команди користувача — текстові з клавіатури, чи рухи мишки — на системні виклики.
При виборі ОС ключовим моментом є архітектура комп'ютера (зокрема центрального процесора), на котрій вона буде запускатись. На персональних комп'ютерах сумісних з ІВМ РС запускаються ОС сімейства «Майкрософт Віндовз», «Лінукс» та «БСД». На мейнфреймах Burroughs MCP — B5000, IBM OS/360 — IBM System/360, UNIVAC EXEC 8 — UNIVAC 1108. Крім того на більшості сучасних мейнфреймів запускаються різні варіанти Лінукс чи Юнікс, а на деяких — версія Datacenter Windows 2003 Server. На вбудованих системах використовується велика кількість вбудованих ОС.
Список використаної літератури
1. Информатика. Базовый курс. 2-е издание / Под ред. С.В. Симоновича. – СПб.: Питер, 2005.– 640 с.
2. Інформатика: Комп’ютерна техніка. Комп’ютерні технології: Підручник / За ред. О.І.Пушкаря. – К.: Видавничий центр ”Академія”, 2001. – 696 с.
3. Вітер М.Б. Основи роботи на ПК. Ч. 1. Будова ПК. ОС. Навч.посібник. – К.: Вид-во Європ. Ун-ту, 2005. – 70 с.
4. Основи інформатики та обчислювальної техніки: Навч. посіб. / За заг. ред. В.Г. Іванова – К.: Юрінком Інтер, 2004. – 328 с.