Функціонування розподілених систем в середовищі сучасних операційних систем

Вивчення класифікації сучасних операційних систем. Спонтанний характер розробки ОС. Родина Microsoft Windows. Стандартизований доступ до периферійних пристроїв. Підтримка стеку мережевих протоколів. Системні бібліотеки та програми обслуговування.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 30.08.2017
Размер файла 389,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Функціонування розподілених систем в середовищі сучасних операційних систем

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

операційний мережевий протокол

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

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

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

Перші комп'ютери взагалі не мали ОС. На початку 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»;

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

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

У кінці 1970-х років співробітники Каліфорнійського університету в Берклі внесли ряд суттєвих вдосконалень у джерельні коди Юнікс, включно з реалізацією стеку мережевих протоколів TCP/IP. Їх розробка стала відомою під іменем BSD (англ. Berkeley Software Distribution).

Через конфлікт з «Bell Labs» Річард Столмен поставив задачу реалізувати повністю незалежну від авторських прав ОС на основі Юнікс, заснувавши проект «GNU» (англ. рекурсивсне скорочення «GNU's Not Unix» -- «ГНЮ Не Юнікс»).

Незабаром «Юнікс» стала стандартом де-факто, а потім і юридичним -- 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. На вбудованих системах використовується велика кількість вбудованих ОС.

Юнікс-подібні ОС

До юнікс-подібних ОС відноситься велика кількість операційних систем, котрі можна умовно поділити на три категорії -- System V, BSD та Лінукс. Сама назва «Юнікс» є торговою маркою, що належить «The Open Group», котра власне й ліцензує кожну конкретну ОС на предмет того, чи відповідає вона стандарту. Тому через ліцензійні чи інші неузгодження деякі ОС, котрі фактично є Юнікс-подібними, не визнані такими офіційно.

Системи Юнікс запускаються на великій кількості процесорних архітектур. Вони широко використовуються як серверні системи у бізнесі, як стільничні системи у академічному та інженерному середовищі. Тут популярні вільні варіанти Юнікс, такі як Лінукс та БСД-системи. Окрім того, деякі з них останнім часом набувають широкого поширення в корпоративному середовищі, особливо це стосується орієнтованих на кінцевого користувача дистрибутивів Лінукс, в першу чергу Ubuntu, Mandriva, Red Hat Enterprise Linux та Suse. Лінукс також є популярною системою на стільницях розробників, системних адміністраторів та інших ІТ-спеціалістів.

Деякі варіанти Юнікс, як наприклад HP-UX компанії Hewlett-Packard та AIX від IBM запускаються лише на апаратних системах своїх розробників. Інші, як наприклад Solaris, можуть запускатись на багатьох апаратних типах, включаючи сервери на базі x86 та ПК.

Родина Microsoft Windows

Спочатку родина ОС Microsoft Windows проектувалась як графічна надбудова над старими середовищами DOS. Сучасні версії розроблені на базі нового ядра (англ. NT - New Technology, Нова технологія), яке з'явилось в OS/2, запозичене з VMS. Windows запускається на 32- та 64-бітних процесорах Інтел та AMD; попередні версії також могли запускатись на процесорах DEC Alpha, MIPS, Fairchild (пізніше Intergraph) Clipper та PowerPC. Проводились роботи на портування її на архітектуру SPARC.

Станом на 2006 рік Windows утримує монопольне становище (близько 94%) світового ринку настільних систем, дещо втрачаючи позиції через зростання популярності систем з відкритими джерельними кодами. Вона також використовується на малих та середніх серверах мереж та баз даних. Останнім часом Microsoft проводить ряд маркетингових досліджень, котрі мають на меті показати привабливість родини Windows на ринку корпоративних систем.

Найбільше на сьогоднішній день поширена версія Microsoft Windows XP, випущена 25 жовтня 2001 року. Останній випуск Windows XP Service Pack 3 випущено 12 грудня 2007 року. Станом на 27 червня 2008 року операційні системи сімейства Microsoft Windows займають 91% долі світового ринку ОС.

У листопаді 2006 року, після більш ніж 5 років розробки, корпорація Microsoft випустила ОС Windows Vista, що містить велику кількість нововведень та архітектурних змін в порівнянні з попередніми версіями Windows. Серед інших можна виділити новий інтерфейс користувача, названий Windows Aero, ряд вдосконалень безпеки, як наприклад Контроль реєстраційного запису користувача (User Account Control) та нові програми для мультимедія, як наприклад Windows DVD Maker.

Mac OS X

Mac OS X -- це ряд графічних ОС, що розроблюються, реалізуються та підтримуються компанією Apple. Mac OS X -- це наступниця оригінальної MacOS, що її розробляла Apple з 1984 року. На відміну від попередниці, Mac OS X є Юнікс-системою, що розроблена на основі NEXTSTEP, близької до гілки BSD.

Перші випуски Mac OS X були у 1999 році -- Mac OS X Server 1.0, та в березні 2001 -- Mac OS X 10.0. З того часу було випущено ще 7 версій Mac OS X у варіантах «кінцевий користувач» та «сервер». Остання версія [OS X Mavericks (альтернативна назва: OS X 10.9)], випущена 22 жовтня 2013 року. Попередня версія: OS X Mountain Lion (альтернативные наименования: OS X 10.8, горный лев, кугуар, випущена 25 липня 2012 року. Випуски Mac OS X до версії 10.9 називаються іменами великих тварин з родини котячих; перед остання версія (10.7) носить назву «Лев» і містить багато архітектурних та інтерфейсних рішень, покликаних забезпечити кращу сумісність та інтеграцію з операційною системою для мобільних пристроїв Apple -- iOS.

Серверна версія Mac OS X Server архітектурно ідентична версії для кінцевого користувача, але містить програми для керування робочими групами та адміністрування ключових мережевих служб, включаючи поштові служби, сервери каталогу, доступу до файлів, веб, календарів, вікі Samba, LDAP, DNS, Apache та ін. У версії 10.7 серверні компоненти встановлюються просто як додатковий набір програм в середовищі робочої станції.

Хмарні операційні системи

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

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

За призначенням, операційні системи бувають:

універсальні (для загального використання);

спеціальні (для розв'язання спеціальних задач);

спеціалізовані (виконуються на спеціальному обладнанні);

однозадачні (в окремий момент часу можуть виконувати лише одну задачу);

багатозадачні (в окремий момент часу здатні виконувати більше однієї задачі);

однокористувацькі (в системі відсутні механізми обмеження доступу до файлів та на використання ресурсів системи);

багатокористувацькі (система впроваджує поняття «власник файлу» та забезпечує механізми обмеження на використання ресурсів системи (квоти), всі багатокористувацькі операційні системи також є багатозадачними;

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

За способом встановлення (інсталяції) операційні системи бувають:

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

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

За відповідністю стандартам операційні системи бувають:

стандартні (відповідають одному з загальноприйнятих відкритих стандартів, найчастіше POSIX);

нестандартні (в тому числі такі, що розробляються відповідно до корпоративних стандартів).

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

вільні -- з вільними програмним кодом (GNU, BSD, MIT)

відкриті (англ. open source) -- з відкритим програмним кодом;

власницькі (англ. proprietary) -- комерційні з закритим кодом.

2. Характеристика сучасних операційних систем

Поняття операційної системи напряму пов'язане з такими поняттями, як:

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

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

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

Задача -- програма в процесі виконання (в термінології операційних систем UNIX використовують термін «процес»).

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

Командний інтерпретатор -- середовище, яке забезпечує інтерфейс з користувачем і виконання команд.

2.1 Функції операційної системи

Функції, що виконує операційна система можна поділити на головні та додаткові.

Головні функції операційної системи:

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

Стандартизований доступ до периферійних пристроїв (пристрої введення-виведення).

Завантаження програм у оперативну пам'ять і їх виконання.

Керування оперативною пам'яттю (розподіл між процесами, організація віртуальної пам'яті).

Керування доступом до даних енергонезалежних носіїв (твердий диск, оптичні диски тощо), організованим у тій чи іншій файловій системі.

Забезпечення користувацького інтерфейсу.

Мережеві операції, підтримка стеку мережевих протоколів.

Додаткові функції операційної системи:

Паралельне або псевдопаралельне виконання задач (багатозадачність).

Розподіл ресурсів обчислювальної системи між процесами.

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

Взаємодія між процесами: обмін даними, синхронізація.

Захист самої системи, а також користувацьких даних і програм від дій користувача або програм.

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

2.2 Складові операційної системи

До складу операційної системи входять:

ядро операційної системи, що забезпечує розподіл та управління ресурсами обчислювальної системи;

базовий набір прикладного програмного забезпечення, системні бібліотеки та програми обслуговування.

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

управління введенням-виведенням інформації (підсистема вводу-виводу ядра ОС);

управління оперативною пам'яттю (підсистема управління оперативною пам'яттю ядра ОС);

управління процесами (підсистема управління процесами ядра ОС).

Кожна з цих підсистем представлена відповідними функціями ядра системи.

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

Існує три основних механізми забезпечення багатозадачності (планування задач):

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

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

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

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

В сучасних системах, як правило комбінується методи 2 і 3.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Запровадження механізму віртуалізації оперативної пам'яті дозволяє отримати два корисних наслідки:

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

кожна задача отримує стільки віртуальної оперативної пам'яті, скільки потрібно, а не стільки, скільки є наявної фізичної оперативної пам'яті.

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

Підсистема управління задачами (процесами)

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

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

Засоби міжпроцесної взаємодії

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

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

Додаткова функціональність операційних систем

Безпека

Безпека ОС базується на двох ідеях:

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

ОС може розділити запити ресурсів від авторизованих користувачів, дозволивши доступ, та неавторизованих, заборонивши його.

Запити, в свою чергу, також діляться на два типи:

Внутрішня безпека -- вже запущені програми. На деяких системах програма, оскільки вона вже запущена, не має ніяких обмежень, але все ж типово вона має ідентифікатор, котрий використовується для перевірки запитів до ресурсів.

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

На додачу до моделі дозволити/заборонити системи з підвищеним рівнем безпеки також слідкують за діяльністю користувачів, що дозволяє пізніше дати відповідь на питання типу «Хто читав цей файл?»

Графічний інтерфейс користувача

Більшість сучасних операційних систем мають графічний інтерфейс користувача (ГІК, англ. Graphical User Interfaces, GUIs, вимовляється як «гуіз»). В деяких старіших ОС ГІК вбудований у ядро, як наприклад у оригінальних реалізаціях Microsoft Windows чи MacOS. Більшість сучасних ОС є модульними і графічна підсистема у них відділена від ядра (як наприклад у Лінукс, МакОС Х і частково у Віндовс).

Багато операційних систем дозволяють користувачеві встановити будь-який графічний інтерфейс на власний вибір. Типовим прикладом у більшості Юнікс-систем (BSD, Лінукс, Minix) є віконна система Х у поєднанні з графічним менеджером KDE чи Gnome. Для Юнікс-систем графічний інтерфейс не є необхідним.

Графічний інтерфейс користувача невпинно розвивається. Наприклад, інтерфейс Windows модифікується щоразу при випуску нової основної версії, а ГІК MacOS було кардинально змінено після випуску Mac OS X у 2001 році.

Драйвери пристроїв

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

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

Робота в мережі

В більшості сучасних ОС реалізовано підтримку стеку протоколів TCP/IP. Це означає що вони можуть взаємодіяти в мережі, доступаючись до ресурсів одне одного.

Багато ОС також підтримують один чи кілька специфічних протоколів, як наприклад SNA на системах від IBM, DECnet на системах від Digital Equipment Corporation, та Microsoft-специфічні протоколи для Windows. Для певних задач використовуються специфічні протоколи, як наприклад NFS для роботи з файлами через мережу.

3. Сучасні операційні системи й розподіленість

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

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

Слабкозв'язні мережні операційні системи (Network Operating Systems, NOS) використовуються для управління гетерогенними мультикомп'ютерними системами. Хоча управління апаратним забезпеченням і є основним завданням мережних операційних систем, мережні ОС відрізняються від традиційних. Ця відмінність випливає з того факту, що локальні служби повинні бути доступними для віддалених клієнтів. Мережні ОС надають локальні служби в розпорядження віддаленим клієнтам. Тому мережні ОС мають сервіс віддаленого доступу -RAS (Remote Access Service).

Існує два типи розподілених операційних систем.

Мультипроцесорна операційна система (multiprocessor operating system) - управляє ресурсами мультипроцесора.

Мультикомп'ютерна операційна система (multicomputer operating system) - розробляється для гомогенних мультикомп'ютерів.

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

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

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

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

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

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

Рис. 1. Організація операційної системи з використанням мікроядра

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

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

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

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

Семафор (semaphore) може бути представлений у вигляді цілого числа, що підтримує дві операції: up (збільшити) і down (зменшити). При зменшенні спочатку перевіряється, чи перевищує значення семафора 0. Якщо це так, його значення зменшується й виконання процесу триває. Якщо ж значення семафора нульове, процес, який виконує виклик, блокується. Оператор збільшення робить протилежну дію. Спочатку він перевіряє всі заблоковані в цей час процеси, які були нездатні завершитися в ході попередньої операції зменшення. Якщо такі існують, він розблокує один з них і продовжує роботу. В іншому випадку, він просто збільшує лічильник семафора. Розблокований процес виконується до виклику операції зменшення. Важливою властивістю операцій із семафорами є те, що вони атомарні (atomic), тобто у випадку запуску операції зменшення або збільшення до моменту її завершення (або до моменту блокування процесу) ніякий інший процес не може одержати доступ до семафору.

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

Формально монітор (monitor) є конструкцією мови програмування, такою ж, як об'єкт в об'єктно-орієнтованому програмуванні. Монітор може розглядатися як модуль, що містить змінні й процедури. Доступ до змінної можна отримати тільки шляхом виклику однієї із процедур монітору. У цьому розумінні монітор дуже схожий на об'єкт. Об'єкт також має свої захищені дані, доступ до яких можна одержати тільки через методи, реалізовані в цьому об'єкті. Різниця між моніторами й об'єктами полягає в тому, що монітор дозволяє виконання процедури тільки одному процесу в кожний момент часу. Інакше кажучи, якщо процедура, що знаходиться в моніторі, виконується процесом А (А ввійшов у монітор) і процес В також викликає одну із процедур монітора, В буде блокований до завершення виконання А (тобто доти, доки А не покине монітор).

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

Рис. 2. Загальна структура мультикомп'ютерних операційних систем

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

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

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

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

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

Іншою проблемою при розробці ефективних систем DSM є питання про розмір сторінок. Витрати на передачу сторінки по мережі в першу чергу визначаються витратами на підготовку до передачі, а не обсягом переданих даних. Відповідно, великий розмір сторінок може знизити загальне число сеансів передачі при необхідності доступу до великої кількості послідовних елементів даних. З іншого боку, якщо сторінка містить дані двох незалежних процесів, що виконуються на різних процесорах, операційна система буде змушена постійно пересилати цю сторінку від одного процесора до іншого, як показано на рис. 3. Розміщення даних двох незалежних процесів на одній сторінці називається помилковим поділом (false sharing).

Рис. 3. Помилковий поділ сторінки двома незалежними процесами

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

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

віддалене з'єднання користувача з іншою машиною;

віддалене копіювання файлів з однієї машини на іншу.

Для віддаленого з'єднання користувача з іншою машиною використовується команда rlogin machin, що забезпечує віддалене з'єднання. У результаті виконання цієї команди відбувається перемикання робочої станції користувача в режим віддаленого терміналу, підключеного до віддаленої машини. Команди передаються на віддалену машину, а результати з неї відображаються у вікні на екрані користувача. Для того, щоб переключитися на іншу віддалену машину, необхідно відкрити нове вікно й скористатися командою rlogin для з'єднання. Вибір виконується вручну.

Рис. 4. Загальна структура мережної операційної системи

Команда віддаленого копіювання файлів копіює файл filel з машини machinel на machinе2 і присвоює йому ім'я file2. При цьому переміщення файлів задається в явному виді, і користувачеві необхідно точно знати, де перебувають файли і як виконуються команди.

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

Файлові сервери приймають запити від програм користувачів, що запускаються на інших машинах (не на серверах), які називаються клієнтами (clients), на читання й запис файлів. Кожний запит, що прийшов, перевіряється й виконується, а результат пересилається назад, як показано на рис. 5.

Рис. 5. Два клієнти й сервер у мережній операційній системі

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

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

«Нестача» прозорості в мережних операційних системах має деякі очевидні недоліки. Наприклад, з ними часто складно працювати, оскільки користувач змушений явно приєднуватися до віддалених машин або копіювати файли з однієї машини на іншу. Це викликає проблеми управління. Оскільки всі машини під управлінням мережної операційної системи незалежні, часто й управляти ними можна винятково незалежно. У результаті, користувач може одержати віддалене з'єднання з машиною X, тільки маючи на ній реєстрацію. Таким чином, якщо користувач хоче використовувати тільки один пароль, то для зміни пароля він змушений буде змінити його на кожній машині. Таким чином, очевидно, що в основному усі права доступу відносяться до конкретної машини. На кожній машині свої права доступу . Такий децентралізований підхід до безпеки ускладнює захист мережної операційної системи.

Мережні операційні системи мають також і переваги в порівнянні з розподіленими операційними системами. Оскільки вузли мережних операційних систем у значній мірі незалежні один від одного, додати або видалити машину дуже легко. У деяких випадках усе, що треба зробити, щоб додати вузол, - це приєднати відповідну машину до загальної мережі й повідомити про її існування інші машини мережі. В Інтернет, наприклад, додавання нового сервера відбувається в такий спосіб. Щоб відомості про машину потрапили в Інтернет, необхідно призначити їй мережну адресу, а краще символічне ім'я, яке потім буде внесене в DNS (Domain Name System) разом з її мережною адресою.

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

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

Рис. 6. Система DNS, де ІК - інтерфейс користувача, ЛП - логіка прикладних програм, ДД - доступ до даних, БД - база даних

Запит користувача на перетворення імені (наприклад, www.microsoft.com) у мережну адресу (65.225.182.56) передається серверу розпізнавання імен постачальника послуг Інтернет. Сервер розпізнавання імен по черзі опитує сервери з ієрархії служби імен. Опитування починається з кореневих серверів, які повертають адреси серверів, відповідальних за зону домена, у яких утримуються проміжні шляхи.

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

Проте, і в системі розпізнавання імен не всі вимоги до розподілених систем виконані. Зокрема, вона не містить явних механізмів забезпечення безпеки. Це призводить до регулярних атак на сервери імен з метою вивести їх з ладу, наприклад, більшою кількістю запитів.

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

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

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

Рис. 7. Загальна структура розподілених систем із проміжним рівнем

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

Ефективне проміжне середовище повинне мати можливість організації взаємодії групи комп'ютерів мережі без порушення стека протоколів TCP/IP. Для цього можуть використовуватися системні сокети (unix sockets) в POSIX системах або іменовані канали (named pipes).

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

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

...

Подобные документы

  • Основна причина аварійних відмов операційних систем, їх принципові дефекти, методика нейтралізації та "лікування" системи. Порядок і етапи розробки безвідмовної операційної системи, властивості та оцінка її надійності, вимірювання продуктивності.

    реферат [58,5 K], добавлен 20.05.2010

  • Призначення та основні функції, типи та конструкція операційної системи. Історія розробки та вдосконалення основних операційних систем найбільшими виробниками (Unix, Linux, Apple). Порівняльні характеристики операційних систем. Покоління Windows та NT.

    курсовая работа [1,3 M], добавлен 28.02.2010

  • Опис підготовки та основних особливостей розгортання операційних систем Windows XP. Типи файлів, застосовувані в установці. Установка еталонної копії. Інтеграція пакетів виправлень і обновлень. Порівняння технологій розгортання в Windows XP та Windows 7.

    контрольная работа [1,2 M], добавлен 22.04.2011

  • Поняття та функції операційної системи. Види операційних систем та їх характеристика. Напрямки розвитку операційних систем. Розробка алгоритму розв’язку економічної задачі розподілу продукції пекарні та реалізація його за допомогою Microsoft Excel.

    курсовая работа [1,2 M], добавлен 15.06.2016

  • У наш час Windows ХР є найбільш сучасною настольною операційною системою. Windows ХР, яка займає серед настольних комп’ютерів долю у 84,56 % вимагає досить потужного комп’ютера. Порівняння інтерфейсу операційних систем Windows 98 та Windows ХР.

    реферат [4,4 M], добавлен 24.06.2008

  • Сутність і функції операційних систем, принцип і особливості роботи з ними. Характеристика вбудованого редактора FAR Manager. Призначення програм для роботи з архівами інформації. Управління системними параметрами ПК за допомогою програми SetupUtility.

    контрольная работа [950,9 K], добавлен 14.10.2009

  • Віртуальна пам'ять і стандартні інтерфейси операційних систем, захист важливих ділянок оперативної пам'яті від перезапису. Паравіртуалізація і бінарна трансляція, конфігурація віртуальних машин. Типи віртуальних середовищ програм і операційних систем.

    реферат [3,2 M], добавлен 30.05.2010

  • Основні вимоги до операційних систем реального часу, забезпечення передбачуваності або детермінованості поведінки системи в найгірших зовнішніх умовах. Процеси, потоки та завдання, планування та пріоритети, пам'ять, переривання, годинники і таймери.

    реферат [29,4 K], добавлен 21.05.2010

  • Провідник. Графічний редактор Paint. Калькулятор Windows. Розваги. Лазерний програвач. Універсальний програвач. Службові. Програма ScanDisk. Дефрагментація диска. Програма WordPad. Блокнот. Сімейство операційних систем Microsoft Windows.

    курсовая работа [23,7 K], добавлен 21.05.2005

  • Передумови виникнення ОС Windows. Архітектура Windows з точки зору обєктно-орієнтованого програмування. Процеси та потоки Windows. Переваги та недоліки Windows на прикладі WindowsNT 2002.

    курсовая работа [160,6 K], добавлен 06.09.2007

  • Основные выпуски (редакции) операционных систем Windows Vista и Windows Seven, их недостатки и преимущества. История создания, совместимость приложений с операционными системами. Новшества, которые принесла в мир компьютерных технологий каждая из систем.

    реферат [66,3 K], добавлен 17.02.2011

  • UNIX - одна з найпопулярніших в світі операційних систем. Ключеві риси Linux. Порівняльні характеристики 32-розрядних операційних систем. Поверхневий огляд характеристик ядра Linux. Програмні характеристики: базові команди і утиліти, мови програмування.

    курсовая работа [33,3 K], добавлен 07.12.2010

  • Об'єктно-орієнтоване, або об'єктне, програмування. Поняття об'єктів і класів. Розробка програмного забезпечення. Створення операційних систем, прикладних програм, драйверів пристроїв, додатків для вбудованих систем, високопродуктивних серверів.

    контрольная работа [135,2 K], добавлен 25.10.2013

  • Особливості розвитку та загальна характеристика операційних систем сімейства Windows. Організація роботи в Windows, опис базових об'єктів (файлів, папок, додатків, документів) та набір дій з ними. Застосування Провідника для роботи з файлами та папками.

    курсовая работа [1,9 M], добавлен 20.12.2012

  • Структура захищених систем і їх характеристики. Моделі елементів захищених систем. Оцінка стійкості криптографічних протоколів на основі імовірнісних моделей. Нормативно-правова база розробки, впровадження захищених систем.

    дипломная работа [332,1 K], добавлен 28.06.2007

  • Властивості багатозадачного середовища. Історія розвитку багатозадачних операційних систем. Моделювання режиму, процеси і потоки. Відповідність пріоритетів Win32 пріоритетам Windows. Етапи створення процесу функцією CreateProcess, диспетчер завдань.

    курсовая работа [2,4 M], добавлен 29.01.2014

  • Створення програми "Вантажоперевезення" в середовищі програмування Borland C++ Builder. Важливість використання інформаційних систем в сучасних умовах. Інструкції для системного програміста – проектні рішення, архітектура програми, її призначення.

    курсовая работа [8,1 M], добавлен 07.06.2011

  • Поняття дискової операційної системи. Класифікація операційних систем. Упорядкування файлів за характеристиками в Norton Commander. Користування операційною системою Windows і програмами, що входять до її складу. Архівація файлів, редактори Word та Excel.

    контрольная работа [2,2 M], добавлен 16.07.2010

  • Переваги і проблеми дистанційної освіти на прикладі корпорації Microsoft. Створення власного web-додатку. Розробка технічних умов програмної системи, модуля пошуку та бронювання авіаквитків. Інтеграція модуля з сайтом. Використання javascript фреймворків.

    курсовая работа [1,0 M], добавлен 31.08.2014

  • Центр обеспечения безопасности (Windows Security Center) в операционной системе Windows XP SP2 и угрозы компьютерной безопасности. Обеспечение безопасности хранения данных в ОС Microsoft. Алгоритм создания отказоустойчивых томов для хранения данных.

    курсовая работа [507,1 K], добавлен 13.11.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.