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.  Перерахуйте функції ОС?


 

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

62713. Окружающий мир 85.91 KB
  Цели урока: Сформировать новые понятия: исторические источники и их виды археологические раскопки история отечество. Развивать интерес к познанию прошлого своих предков умение видеть в настоящем опыт предыдущих поколений...
62714. Ценность рода и семьи 20.09 KB
  Цель урока: Формировать уважительное отношение к семье семейным ценностям; Задачи: Развивать речь мышление память умение работать с текстом творческие способности; Формировать уважительное отношение к семье семейным ценностям; Познакомить учащихся с понятиями семья род традиция...
62717. Народні традиції, родинні свята і здоров’я. «Як влаштувати веселе свято?» 253.63 KB
  Мета: навчити дітей розуміти значення народних традицій для здоровя; формувати прагнення дбати про власне здоровя; розвивати мислення память; виховувати повагу до народних традицій. Діти скажіть мені коли ви смієтесь найчастіше...
62718. Физическая составляющая здоровья 19.04 KB
  Цель: расширить представление о физической составляющей здоровья; Раскрыть понятие гармоничное развитие человека; учить детей оценивать свое физическое здоровье; объяснить влияние осанки формы стопы на здоровье...
62719. Непроизносимые согласные в корне 50.89 KB
  Планируемые результаты: Предметные: умение правильно писать слова с непроизносимыми согласными; умение видеть непроизносимые согласные ЛТВД в корне по опознавательным признакам: умение различать проверочное и проверяемое слова...