17125

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

Лекция

Информатика, кибернетика и программирование

Лекція №1 Тема: Задачі курсу. Історичний огляд розвитку обчислювальної техніки. Операційна система ОС та її функції. Структура ОС. План Мета і задачі курсу. Призначення операційних систем. Функції операційних систем. Поняття операційного середовища. ...

Украинкский

2013-06-29

72 KB

4 чел.

Лекція №1

Тема: Задачі курсу. Історичний огляд розвитку обчислювальної техніки. Операційна система (ОС) та її функції. Структура ОС.

План

  1.  Мета і задачі курсу.
  2.  Призначення операційних систем.
  3.  Функції операційних систем.
  4.  Поняття операційного середовища.

Мета і задачі курсу «Вибіркові питання програмного забезпечення ЕОМ»                         

Студент повинен знати:                                                                                                                    

•    операційні системи MS DOS і Windows;

•    відмінності операційних систем MS DOS і Windows один від одного;                                               

•    команди MS DOS (cls, date, time, сміттю, del, undelete, find, mem, mkdir, dir, label);

•    утиліти архівації (rar, Winrar,Winzip);

•    як працювати з оболонкою Norton і вікнами Windows;

•    круг задач, вирішуваних за допомогою пакету Microsoft Office;

•    призначення математичного пакету "Maple";

•    круг задач, вирішуваних за допомогою математичного пакету "Maple".

Студент повинен уміти:                                                                                              

•    працювати в операційній системі MS DOS і Windows;                                                        

•    створювати теки (каталоги);                                                                                                         

•    створювати текстові файли в системі MS DOS і Windows;                                                         

•    копіювати, переміщати, видаляти, відновлювати видалені файли;                        

•    запускати на виконання програми;                                                                                            

•    створювати текстові і графічні файли за допомогою редакторів WordPad, Paint;

•    працювати з програмним пакетом Microsoft Office (редактор WORD, електронна таблиця Excel)

•    працювати з редактором формул;

•    користуватися математичними пакетами для вирішення рівнянь, обчислення інтегралів як чисельно, так і символьний;                                                                                                               

•    користуватися математичними пакетами для вирішення звичайних диференціальних рівнянь;                                                                                                                                      •    малювати графіки функцій за допомогою математичного пакету "Maple".

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

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

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

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

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

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

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

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

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

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

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

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

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

  1.  Прийом від користувача (або від оператора системи) завдань, або команд, сформульованих на відповідній мові, і їх обробка. Завдання можуть передаватися у вигляді текстових директив (команд) оператора або у формі вказівок, виконуваних за допомогою маніпулятора (наприклад, за допомогою миші). Ці команди зв'язані, перш за все, із запуском (припиненням, зупинкою) програм, з операціями над файлами (одержати перелік файлів в поточному каталозі, створити, перейменувати, скопіювати, перемістити той або інший файл і ін.), хоча є і інші команди.
  2.  Завантаження в оперативну пам'ять належних виконанню програм.
  3.  Розподіл пам'яті, а в більшості сучасних систем і організація віртуальної пам'яті.
  4.  Запуск програми (передача їй управління, внаслідок чого процесор виконує програму).
  5.  Ідентифікація всіх програм і даних.
  6.  Прийом і виконання різних запитів від додатків, що виконуються. Операційна система уміє виконувати дуже велику кількість системних функцій (сервісів), які можуть бути запитані з програми, що виконується. Звернення до цих сервісів здійснюється за відповідними правилами, які і визначають інтерфейс прикладного програмування (Application Program Interface, API) цієї операційної системи.
  7.  Обслуговування всіх операцій введення-висновку.
  8.  Забезпечення роботи систем управлінь файлами (СУФ) и/или систем управління базами даних, що дозволяє різко збільшити ефективність всього програмного забезпечення.
  9.  Забезпечення режиму мультипрограмування, тобто організація паралельного виконання двох або більш програм на одному процесорі, створююча видимість їх одночасного виконання.
  10.  Планування і диспетчеризація задач відповідно до заданих стратегією і дисциплінами обслуговування.
  11.  Організація механізмів обміну повідомленнями і даними між програмами, що виконуються.
  12.  Для мережевих операційних систем характерною є функція забезпечення взаємодії зв'язаних між собою комп'ютерів.
  13.  Захист однієї програми від впливу іншої, забезпечення збереження даних, захист самої операційної системи від додатків, що виконуються на комп'ютері.
  14.  Аутентифікація і авторизація користувачів (для більшості діалогових операційних систем). Під аутентифікацією розуміється процедура перевірки імені користувача і його пароля на відповідність тим значенням, які зберігаються в його обліковому записі. Очевидно, що якщо вхідне ім'я (login) користувача і його пароль співпадають, то, швидше за все, це і буде той самий користувач. Термін авторизація означає, що відповідно до облікового запису користувача, який пройшов аутентифікацію, йому (і всім запитам, які йтимуть до операційної системи від його імені) призначаються певні права (привілеї), що визначають, що він може, а що не може робити на комп'ютері.
  15.  Задоволення жорстким обмеженням на час відповіді в режимі реального часу (характерно для операційних систем реального часу).
  16.  Забезпечення роботи систем програмування, за допомогою яких користувачі готують свої програми.
  17.  Надання послуг на випадок часткового збою системи.

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

Поняття операційного середовища

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

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

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

Можна сказати, що програми створюються для роботи в деякому заданому операційному середовищі. Наприклад, можна створити програму для роботи в середовищі DOS. Якщо така програма всі функції, пов'язані з операціями введення-висновку і із запитами пам'яті, виконує не сама, а за рахунок звернення до системних функцій DOS, то вона (у абсолютній більшості випадків) успішно виконуватиметься і в MS DOS, і в PC DOS, і в Windows 9x, і в Windows 2000, і в OS/2, і навіть в Linux.

Отже, паралельне існування термінів «операційна система» і «операційне середовище» викликане тим, що операційна система (у загальному випадку) може підтримувати декілька операційних середовищ. Майже всі сучасні 32-розрядні операційні системи, створені для персональних комп'ютерів, підтримують по декілька операційних середовищ. Так, операційна система OS/2 Warp, яка свого часу була однією з кращих в цьому відношенні, може виконувати наступні програми:

  •  основні програми, створені з урахуванням відповідного «рідного» 32-разряднго програмного інтерфейсу цієї операційної системи;
  •  16-розрядні програми, створені для систем OS/2 першого покоління;
  •  16-розрядні додатки, розроблені для виконання в операційному середовищі MS DOS або PC DOS;
  •  16-розрядні додатки, створені для операційного середовища Windows 3.x; саму операційну оболонку Windows 3.x і вже в ній — створені для неї програми.

А операційна система Windows XP дозволяє виконувати крім основних додатків, створених з використанням Win32 API, 16-розрядні додатки для Windows 3.x, 16-розрядні DOS-додатки, 16-розрядні додатки для першої версії OS/2.

Операційне середовище може включати декілька інтерфейсів: призначені для користувача і програмні. Якщо говорити про призначених для користувача, то, наприклад, система Linux має для користувача як інтерфейси командного рядка (можна використовувати різні «оболонки» — shell), на зразок Norton Commander, наприклад Midnight Commander, так і графічні інтерфейси, наприклад X-Window з різними менеджерами вікон — KDE, Gnome і ін. Якщо ж говорити про програмні інтерфейси, то в тих же операційних системах із загальною назвою Linux програми можуть звертатися як до операційної системи за відповідними сервісами і функціями, так і до графічної підсистеми (якщо вона використовується). З погляду архітектури процесора (і персонального комп'ютера в цілому) двійкова програма, створена для роботи в середовищі Linux, використовує ті ж команди і формати даних, що і програма, створена для роботи в середовищі Windows NT. Проте в першому випадку ми маємо звернення до одного операційного середовища, а в другому — до іншої. І програма, створена безпосередньо для Windows, не виконуватиметься в Linux; проте якщо в операційній системі Linux організувати повноцінне операційне середовище Windows, то наша Windows-програма може бути виконана. Завершуючи цей розділ, можна ще раз сказати, що операційне середовище — це те системне програмне оточення, в якому можуть виконуватися програми, створені за правилами роботи цього середовища.

Література:

Гордеев А.В. Операционные системы: Учебник для вузов. - 2-е изд. – СПб.: Питер, 2004. – 416 с  [2], 10-17

Контрольні запитання:

  1.  Призначення ОС?
  2.  Перерахуйте функції ОС?


 

А также другие работы, которые могут Вас заинтересовать

55792. Розвиток критичного мислення школярів на уроках української літератури. Як вчити добувати необхідну інформацію з друкованого джерела та критично її осмислювати 56.5 KB
  Метод Читання тексту з позначками. Метод Читання в парах Узагальнення в парах. Ця стратегія розрахована на читання тексту в парах і є ефективною при роботі з художніми творами.
55793. Розвиток процесів сприймання у молодших школярів на уроках природознавства 58 KB
  Для розвитку процесів сприймання варто використовувати спеціальні прийоми вправи завдання. Для розвитку такої чутливості необхідно привчати школярів насамперед прислухатися й розрізняти...
55794. Розвиток розумових та творчих здібностей учнів шляхом використання методів розвиваючого навчання 106 KB
  Головне щоб вони відповідали змісту матеріалу та віку учнів збагачували знання розвивали науковий світогляд мислення практичні вміння а отже й активність.
55795. Розвиток творчих здібностей учнів на уроках інформатики через організацію проектної діяльності 53 KB
  Проектний метод дозволяє реалізувати проблемне навчання що активізує і поглиблююче пізнання дозволяє навчати самостійного мислення і діяльності системному підходу в самоорганізації...
55796. Развитие познавательного интереса учащихся на уроках русского языка 81 KB
  Дети тему урока не знают. Ирис нежный расцветает фикус листья расправляет Есть любовь цветы и дети что всего важней на свете. Или при изучении частиц: Что порадовало б вас...
55797. РОЗВИТОК ТВОРЧИХ ЗДІБНОСТЕЙ УЧНІВ ІЗ ЗВ′ЯЗНОГО МОВЛЕННЯ НА УРОКАХ УКРАЇНСЬКОЇ МОВИ ТА ЛІТЕРАТУРИ 189 KB
  Тоді в той перший мій робочий день серед учнівських оченят я ніби побачила себе бо не одразу змогла розкритися перед учителем не одразу показала на що справді була здатна.
55798. Розвиток особистісного потенціалу учнів на уроках з фізики 256 KB
  Як вчитель допомагаю учням на уроках та в неурочний час оволодіти технологіями життєтворчості прагну створити умови для розкриття внутрішнього потенціалу самооцінки самореалізації самоконтролю учнів...
55799. Розвиток пізнавальної активності в процесі рішення творчих задач 87 KB
  Дуже часто навчання зводиться до розуміння й відтворення прийомів дій типових способів вирішення завдань. Дуже часто при такому аналізі на перший погляд абсурдна ідея перевтілюється й відкриває шлях до вирішення проблеми.
55800. Може, маленька дитина повторює те, що було вже зроблено, створено іншими людьми, але якщо це діяння – плід її власних зусиль, – вона творець; її розумова діяльність – творчість 49 KB
  Щоб сформулювати творчі здібності дитині необхідно якнайбільше вражень про навколишній світ під час виконання різних видів діяльності який їй подобається найбільше а потім в усіх притаманних учням видах діяльності гра малювання конструювання...