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



Скачати 484.01 Kb.
Pdf просмотр
Сторінка1/5
Дата конвертації19.06.2017
Розмір484.01 Kb.
  1   2   3   4   5

1.

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

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

Ці жахливі часи минули. Сьогодні людина взаємодіє з комп'ютерним залізом не безпосередньо, а через спеціальний програмний прошарок, що бере на себе автоматичне вирішення усіх завдань із забезпечення злагодженої роботи обладнання комп'ютера (процесора, оперативної пам'яті, запам’ятовуючих пристроїв тощо), а також дозволяє людині управляти ними зручним для неї способом. Цим програмним прошарком і
є операційна система. Найпоширенішою операційною системою для домашніх і офісних комп'ютерів зараз є Windows.
Можливо, недосвідченим користувачам щоб зрозуміти, що таке операційна система, і усвідомити її значення в сучасному комп'ютері, варто порівняти комп'ютер з людиною. В цьому випадку частинами тіла комп'ютера будуть процесор, материнська плата, оперативна пам'ять, блок живлення й інші пристрої, що входять до його складу. Усі ці частини у зборі
є єдиним комп'ютерним організмом (тілом). Безпосередньо спілкуватися з апаратною частиною комп'ютера людині дуже важко (ну що ти візьмеш з простих залізячок). Розумом же і інтелектом комп'ютера є операційна система. Вона примушує усі частини комп'ютерного організму правильно взаємодіяти між собою. Вона ж взаємодіє і з довкіллям, зокрема, з людиною. Наявність у комп'ютера операційної системи дозволяє користувачу комфортно спілкуватися з комп'ютером. Йому (користувачу) не доводиться мати справу безпосередньо з процесором, оперативною пам'яттю або іншим частинам організму і прохати ці залізячки щось зробити. Людина звертається до розуму комп'ютера, до його операційної системи, яка розуміє співрозмовника з півслова і з легкість примушує підпорядковану їй апаратну частину комп'ютера виконувати усі прохання користувача.
Таким чином, операційна система комп'ютера виконує дві важливі функції:

• забезпечує функціонування апаратного забезпечення комп'ютера як
єдиного цілого, управляє ресурсами процесора, оперативної пам'яті і інших пристроїв системи;
• взаємодіє з користувачем, інтерпретує його дії (команди) в зрозумілу комп'ютеру мову і примушує виконувати їх.
Операційна система комп'ютера – це базова програмна основа. Як
і людський розум, її можна розвивати і удосконалювати, встановлюючи додаткові програми. У нашому прикладі ці програми можна порівняти зі своєрідними новими навичками і уміннями людини. Наприклад, щоб навчити комп'ютер грати в шахи, необхідно встановити в операційну систему відповідну програму – гру "Шахи". Щоб працювати з текстом, операційну систему необхідно доповнити текстовим процесором Word або якою-небудь іншою аналогічною програмою.
Одні і ті ж завдання можуть вирішуватися за допомогою різних програм.
У користувача практично завжди є вибір. У Інтернеті існує досить багато каталогів програмного забезпечення. Але встановлювати програми на сучасному комп'ютері можна тільки в операційну систему.
Розглянемо компоненти комп'ютерної системи:
1.

Апаратура комп'ютера (hardware), основні частини якої – центральний процесор (Central Processor Unit – CPU), що виконує команди
(інструкції) комп'ютера; пам'ять (memory), що зберігає дані і програми, і пристрої введення-виведення, або зовнішні пристрої (input-output devices,
I/O devices), що забезпечують введення інформації в комп'ютер і виведення результатів роботи програм у формі, яка сприймається користувачем- людиною або іншими програмами. Часто на програмістської сленгу апаратуру називають "залізом".
2.

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

3.

Прикладне програмне забезпечення (applications software)
– програми, призначені для вирішення різних класів задач. До них належать, зокрема, компілятори, що забезпечують трансляцію програм з мов програмування, наприклад, C++, в машинний код (команди); системи управління базами даних (СКБД); графічні бібліотеки, ігрові програми, офісні програми. Прикладне програмне забезпечення утворює наступний, більш високий рівень, порівняно з операційною системою, і дозволяє вирішувати на комп'ютері різні прикладні та повсякденні завдання.
4.

КористувачіОшибка! Закладка не определена. (users) – люди і
інші комп'ютери. Віднесення користувача-людини до компонентів комп'ютерної системи – зовсім не жарт, а реальність: будь-який користувач фактично стає частиною обчислювальної системи в процесі своєї роботи на комп'ютері, так як повинен підкорятися певним суворим правилам, порушення яких призведе до помилок або неможливості використання комп'ютера, і виконувати великий обсяг типових рутинних дій – майже як сам комп'ютер. Одна з важливих функцій ОС якраз і полягає в тому, щоб позбавити користувача більшої частини такої рутинної роботи (наприклад, резервного копіювання файлів) і дозволити йому зосередитися на роботі творчій. Інші комп'ютери в мережі також можуть використовуватися в ролі користувачів (клієнтів) по відношенню до комп'ютера, який виступає в ролі сервера, що використовується, наприклад, для зберігання файлів або виконання великих програм.
Девізом фірми Sun Microsystems ще в 1982 р., при її створенні, став афоризм "The network is the computer" (Мережа - це комп'ютер). Цю істину слід пам'ятати всім користувачам комп'ютерів і їх операційних систем і ширше використовувати можливості комп'ютерних мереж, розподіляючи різні функції між її різними комп'ютерами (або хостами – hosts, як на комп'ютерному сленгу прийнято називати комп'ютери в мережі).
Ізольований від мережі комп'ютер нині – це "кам'яний вік". Звідси – нерозривний зв'язок операційних систем і мереж.

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


Рис. 1.1. Загальна картина функціонування комп'ютерної системи

Класифікація комп'ютерних систем
Для того, щоб уявити собі різноманітність і масштабованість операційних систем, розглянемо насамперед класифікацію сучасних комп'ютерних систем, для яких розробляються і використовуються ОС – від суперкомп'ютерів до мобільних пристроїв, – і підсумуємо вимоги до ОС для цих класів комп'ютерів.
Суперкомп'ютери (super-computers) – потужні багатопроцесорні комп'ютери, найсучасніші з яких мають продуктивність до декількох десятків petaflops (10 15
дійсних операцій за секунду; абревіатура flops
розшифровується
як
floating-point
operations
per
second).
Компілятор Асемблер Текстовий редактор
СУБД
Системні і прикладні програми
Операційна система
Користувач
1
Користувач
2
Користувач
3
. . .
Користувач
n
Обладнання
комп’ютера

Суперкомп'ютери використовуються для обчислень, що вимагають великих обчислювальних потужностей, надвисокої продуктивності та великого обсягу пам'яті. В реальній практиці це насамперед завдання моделювання
– наприклад, моделювання клімату в регіоні та прогнозування на основі побудованої моделі погоди в даному регіоні на найближчі дні. Особливістю суперкомп'ютерів є їх паралельна архітектура – як правило, всі вони є багатопроцесорними. Відповідно, ОС для суперкомп'ютерів повинні підтримувати розпаралелювання вирішення завдань і синхронізацію паралельних процесів, одночасно вирішують підзадачі деякої програми.
В порівнянні з іншими країнами світу, Україна має не такі вражаючі суперкомп’ютерні потужності, але і не пасе задніх. Два найбільших українських суперкомп’ютери входять до рейтингу Топ30 найпотужніших комп’ютерів СНД.
Але навіть ці потужності ще поки не задіяні повністю. Формально задіяти суперкомп’ютери нескладно – наприклад, розв’язуючи різні абстрактні тестові задачі з обертання величезних матриць (чим і займаються аспіранти, яким треба захищати дисертації з точних наук).
Зрозуміло, що подібні операції мають досить далеке відношення до розв’язування практичних задач. Але ж ефективність застосування комп’ютерів визначається не коефіцієнтом завантаженості процесорів, а кількістю розв’язаних задач кінцевих користувачів.
Отже, крім збільшення суперкомп’ютерних потужностей існує проблема недостатнього завантаження вже існуючих суперкомп’ютерів задачами виробництва та економіки.
Ще одна складність полягає в тому, що задіяти можливості суперкомп’ютерів зовсім не так просто. Адже основний ефект під час їх застосування досягається за рахунок розпаралелювання обчислювальних процесів, а можливості розв’язання такої задачі автоматично, за допомогою тільки програмних засобів, досить обмежені, в тому числі у процесі роботи з моделями, що описуються рівняннями математичної фізики.

Таким чином, використання суперкомп’ютерів потребує, перш за все, досить серйозних інвестицій в розвиток математичного та програмного забезпечення.
Тим не менше, сьогодні в Україні вже досягнуто світового рівня розробки суперкомп’ютерів, та більш високі потужності західних обчислювальних систем визначаються лише фінансовою, а не технічною складовою.
Наприклад, Центр суперкомп’ютерних обчислень НТУУ «КПІ» має комп’ютер, що складається із 224 процесорів із 624 ядрами і має пікову потужність 7,3 TFlops, що виконує не тільки внутрішні завдання університету, а й задачі галузевих інститутів, навчальних закладів України та GRID-користувачів з довільної точки світу. Він тісно співпрацює в цьому плані з Інститутом теоретичної фізики та Інститутом математики НАНУ,
Національним космічним агентством України тощо.
В Інституті кібернетики ім. В. М. Глушкова Національною академією наук України створено суперкомп’ютерний обчислювальний центр (СОЦ) на базі високопродуктивних кластерних систем СКІТ, що містить 250 процесорів із 704 обчислювальними ядрами та має пікову потужність 7,35
TFlops.
Серед задач, що вирішуються у СОЦ НАНУ – попередження екологічних катастроф, обробка та інтерпретація геофізичних даних для розвідування нафти та газу, моделювання та прогнозування погоди, а також наслідків шкідливих викидів у атмосферу.
СОЦ успішно розробляє багато інших, більш специфічних технологій, від пошуку оптимального розташування аварійних служб та станцій швидкої допомоги, виявлення проривів нафтопроводів та прогнозування пошкодження посівів зернових до складних технологій протиракетної оборони, попередження терористичних акцій, оцінювання інвестиційних проектів, ринкових досліджень тощо.

Обчислювальні потужності СОЦ також використовуються іншими організаціями для проведення більш ресурсомістких розрахунків, наприклад, Інститутом молекулярної біології та генетики НАНУ.
Наші суперкомпьютерні обчислювальні центри розв’язують найважливіші для економіки України завдання, багато з яких раніше вважалися майже нездійсненними. Для більшості розроблених технологій швидкість отримання результатів обчислень є фактором, який повністю визначає їх практичну цінність.
В цих умовах нарощування обчислювальної потужності українських суперкомп’ютерів – задача першочергової важливості, її вирішення забезпечить конкурентоспроможність нової економіки України у ключових галузях.
Багатоцільові комп'ютери, або комп'ютери загального
призначення (mainframes) – традиційна історична назва для комп'ютерів, поширених в 1950-х – 1970-х рр.., ще до епохи загального поширення персональних комп'ютерів. Саме для mainframe-комп'ютерів створювалися перші ОС. Типові приклади таких комп'ютерів: IBM 360/370; з вітчизняних – М-220, БЕСМ-6. На таких комп'ютерах вирішувалися всі необхідні завдання – від розрахунку зарплати співробітників організації до розрахунку траєкторій космічних ракет. Подібний комп'ютер виглядав досить незграбно і громіздко і міг займати цілий великий зал. Але ніякі фантасти не змогли передбачити прогресу комп'ютерної техніки XXI століття – насамперед, того, що потужний комп'ютер не буде займати цілу кімнату, а поміщатися в невеликому ящику. Параметри ранніх mainframe- комп'ютерів були дуже скромними: швидкодія – кілька тисяч операцій за секунду, оперативна пам'ять – кілька тисяч комірок (слів). Недостатньо зручним був користувацький інтерфейс (інтерактивна взаємодія з комп'ютерами була реалізована набагато пізніше, в 1960-х рр..). Тим не менш, на таких комп'ютерах вирішувалися дуже серйозні завдання оборонного та космічного призначення. З появою персональних і
портативних комп'ютерів класичні mainframe-комп'ютери пішли в минуле.
Однак слід підкреслити, що саме в операційних системах для mainframe- комп'ютерів були реалізовані всі основні методи і алгоритми, які згодом були використані в ОС для персональних, кишенькових комп'ютерів і мобільних пристроїв.
За результатами 2014 року трійка найпотужніших комп’ютерів світу не змінилась і виглядає так:
1.
Tianhe-2 (Чумацький шлях-2, Китай) – 33.86 petaflop/sec;
2.
Titan (Титан, США) 17.59 – petaflop/sec;
3.
Sequoia (Секвойя, США) – 17.17 – petaflop/sec.

Кластери комп'ютерів (computer clusters) – групи комп'ютерів, фізично розташовані поруч і з'єднані один з одним високошвидкісними шинами і лініями зв'язку. Кластери комп'ютерів використовуються для високопродуктивних паралельних обчислень. Найбільш відомі у світі комп'ютерні кластери, розташовані в дослідницькому центрі CERN
(Швейцарія) – тому самому, де знаходиться великий адронний коллайдер.
Як правило, комп'ютерні кластери розташовуються в дослідних інститутах та в університетах. Операційна система для кластерів повинна, крім загальних можливостей, надавати можливості для конфігурування кластера, управління комп'ютерами (процесорами), що входять до його складу, розпаралелювання вирішення завдань між комп'ютерами кластера та моніторингу кластерної комп'ютерної системи. Прикладами таких ОС є
ОС фірми Microsoft – Windows 2003 for clusters; Windows 2008 High-
Performance Computing (HPC).
Настільні комп'ютери (desktops) – це найбільш поширені в даний час комп'ютери, якими користуються вдома чи на роботі всі люди, від школярів та студентів до домашніх господинь. Такий комп'ютер розміщується на робочому столі і складається з монітора, системного блока,
клавіатури і миші. Параметри сучасного настільного комп'ютера, найбільш прийнятні для використання сучасних ОС: швидкодія процесора 3 – 6 ГГц, оперативна пам'ять – 2 – 8 гігабайт і більше, обсяг жорсткого диска (hard disk drive – HDD) – 500 Гб – 8 Тб і більше. Все розмаїття сучасних операційних систем (Windows, Linux та ін.) – до послуг користувачів настільних комп'ютерів. За необхідності на настільному комп'ютері можна встановити дві або більше операційних системи, розділивши його дискову пам'ять на кілька розділів (partitions) і встановивши на кожен з них свою операційну систему, так що під час ввімкнення комп'ютера користувачеві надається стартове меню, з якого він вибирає потрібну операційну систему для завантаження.

Портативні комп'ютери (laptops, notebooks – дослівно "комп'ютери, що поміщаються на колінах"; "комп'ютери-зошити") – це мініатюрні комп'ютери, що за своїми параметрами не поступаються настільним, але за своїми розмірами вільно поміщаються в невелику сумку або рюкзак чи, наприклад, на колінах користувача, що летить у літаку у відрядження і не бажає втрачати часу дарма. Ноутбуки коштують зазвичай у кілька разів дорожче, ніж настільні комп'ютери з аналогічними характеристиками. На ноутбуках використовуються ті ж операційні системи, що і для настільних комп'ютерів (наприклад, Windows, Linux або
MacOS). Характерними рисами портативних комп'ютерів є всілякі вбудовані порти та адаптери для бездротового зв'язку: Wi-Fi (офіційно IEEE
802.11) – вид радіозв'язку, що дозволяє працювати в бездротовій мережі з продуктивністю 10-100 мегабіт за секунду (використовується зазвичай на конференціях, в готелях, на вокзалах, аеропортах – тобто в зоні радіусом у кілька сотень метрів від джерела приймання-передавання); Bluetooth – також радіозв'язок на більш коротких відстанях (10 – 100 м для Bluetooth
3.0), яка використовується для взаємодії комп'ютера з мобільним телефоном, навушниками, плейєром та іншими зовнішніми пристроями

(додаткові жорсткі диски, принтери, іноді навіть DVD-ROM), які, зазвичай, підключаються до ноутбука через порти USB.
Ще кілька років тому на ноутбуках активно використовувалися
інфрачервоні порти (IrDA), які, однак, незручні, тому що вимагають присутності "відповідного" IrDA-порту іншого пристрою на відстані 20-30 см від порту ноутбука, за відсутності між ними перешкод. Інша характерна риса ноутбуків – це наявність кард-рідерів – портів для читання всіляких карт пам'яті, що використовуються у мобільних телефонах або цифрових фотокамерах; забезпечується також інтерфейс FireWire (офіційно - IEEE
1394) для підключення цифрової відеокамери; таким чином, ноутбуки добре пристосовані для введення, оброблення та відтворення обробленої мультимедійної інформації. Один з критичних параметрів ноутбука – час роботи його батарей без підзарядки; дуже добре, якщо цей час становить близько 10 годин, що зустрічається поки порівняно рідко; як правило, цей час становить не більше 5 годин. Популярний різновид ноутбука нині – це нетбук – ноутбук, призначений для роботи в мережі, зазвичай менш потужний і тому дешевший, а також мініатюрніший.
Кишенькові портативні комп'ютери та органайзери (КПК,
handhelds, personal digital assistants - PDA) – це "іграшки для дорослих" у вигляді мініатюрного комп'ютера, що міститься на долоні або в кишені, але за своєю швидкодією іноді не поступається ноутбуку. При всій привабливості, серйозні недоліки КПК, з точки зору користувача, – це незручність введення інформації (доводиться користуватися паличкою- стилусом, – адже не носити ж з собою ще й громіздку клавіатуру, – або мікроскопічною висувною клавіатурою, на якій фактично тим же стилусом тільки і можна працювати), а також незручність читання інформації на маленькому екрані. Сучасні КПК мають фактично ті ж порти та адаптери, що і ноутбуки – Wi-Fi, Bluetooth, IrDA, USB. Операційні системи для КПК аналогічні ОС для ноутбуків, але все ж враховують більш жорсткі
обмеження КПК за обсягом оперативної пам'яті. В даний час для КПК найчастіше застосовується ОС Android, а також широко використовується
ОС Windows Mobile – аналог Windows для мобільних пристроїв. До недавнього часу була також широко поширена PalmOS для органайзерів типу PalmPilot фірми 3COM. Зрозуміло, що для КПК є апаратура та програмне забезпечення для підключення до ноутбука або настільного комп'ютера з метою синхронізації даних, що забезпечує додаткову надійність.

Мобільні пристрої (mobile intelligent devices – мобільні телефони, комунікатори) – це пристрої, якими кожен з нас користується постійно для голосового зв'язку, рідше – для записування або обробленняи будь-якої інформації чи для виходу в Інтернет. З точки зору користувача, найбільш важливі параметри мобільного пристрою – це як і раніше якість голосового зв'язку і час автономної роботи батареї. Однак все більше значення набувають вбудовані в них цифрові фото-і відеокамери.
Операційні системи для мобільних пристроїв відрізняються більшою компактністю, зважаючи на більш жорсткі обмеження пам'яті. Епоха домінування на ринку мобільних телефонів операційних систем типу
Symbian, закінчилася, і вони поступилися місцем більш сучасним з кращим користувацьким інтерфейсом ОС Google Android і Microsoft Windows Mobile.
Для мобільних пристроїв, як і для КПК, дуже важлива характеристика ОС – це її надійність, зокрема, збереження даних після переповнення пам'яті, що виникає, наприклад, в результаті прийому великої кількості SMS повідомлень, інтенсивної фото-або відеозйомки. З цієї точки зору, ОС для мобільних пристроїв потребують подальшого вдосконалення. Що стосується іншого програмного забезпечення для мобільних телефонів
(ігор, утиліт, прикладних програм тощо), то у процесі їх розроблення домінує Java-технологія. У мобільних телефонах використовується платформа ("видання") JME – Java Micro Edition, і будь-який мобільний
телефон, що випускається вже більше 10 років, підтримує Java. Програми на Java для мобільних телефонів називаються мідлетам (від абревіатури
MID – Mobile Intelligent Device).

Переносні
комп'ютери
(wearable
computers)
– для повсякденного життя досить екзотичні пристрої, проте для особливих потреб (наприклад, вбудовані в скафандр космонавта або в кардіостимулятор) вони життєво важливі. Зрозуміло, що їх пам'ять і швидкодія значно менші, ніж у настільних комп'ютерів, але критичним фактором є їх надвисока надійність, а для їх операційних систем та іншого програмного забезпечення – мінімально можливий час відповіді (response time) – інтервал, протягом якого система обробляє інформацію від датчиків, від користувача або з мережі, перевищення якого загрожує катастрофічними наслідками. З цієї точки зору, ОС для переносних комп'ютерів можна віднести до систем реального часу.
Розподілені системи (distributed systems) – це системи, що складаються з кількох комп'ютерів, об'єднаних в дротову або бездротову мережу. Фактично, такі нині всі комп'ютерні системи. Всі операційні системи повинні, таким чином, підтримувати розподілений режим роботи, засоби мережевої взаємодії, високошвидкісне надійне передавання
інформації через мережу.
Системи реального часу (real-time systems) – обчислювальні системи, призначені для керування різними технічними, військовими та
іншими об'єктами в режимі реального часу. Характеризуються основною вимогою до апаратури та програмного забезпечення, у тому числі до операційної системи: неприпустимість перевищення часу відповіді системи, тобто очікуваного часу виконання типової операції системи. Для
ОС вимоги реального часу накладають дуже жорсткі обмеження –
наприклад, в основному циклі роботи системи неприпустимі переривання
(оскільки вони призводять до неприпустимих часових витрат на їх оброблення). Системи реального часу – особлива вельми серйозна і специфічна область, вивчення якої виходить за рамки даного курсу.
Наведений огляд дає деяке уявлення про різноманітність комп'ютерних систем в наш час. Для кожної з них повинна бути розроблена адекватна операційна система.


Поділіться з Вашими друзьями:
  1   2   3   4   5


База даних захищена авторським правом ©divovo.in.ua 2017
звернутися до адміністрації

войти | регистрация
    Головна сторінка


загрузить материал