Сб, 23.09.2017, 15:38
Форум інформатиків України
Головна Реєстрація Вхід
Вітаю Вас, Гість · RSS
Вітання на форумі
Незнайомець
Вітаємо на форумі,
Незнайомцю!

   
зареєструйтесь
Перед реєстрацією обов’язково прочитайте:
Оновлення Учасники Пошук
Особисті повідомлення
Видавництво ’’Аспект’’ Видавництво

Сторінка 1 з 3123»
Модератор форуму: НІКОЛЯ, Ktara, Bandalak, volevikt 
Форум інформатиків » РОЗДІЛ ІІІ: МЕТОДИКА, ЗАСОБИ ВИКЛАДАННЯ ІНФОРМАТИКИ » 3.4 Методика викладання інформатики в 11-річній школі » Операційні системи.
Операційні системи.
W-w-W Дата: Ср, 13.05.2009, 23:54 | Повідомлення № 1
Ветеран спілкування
Повідомлень: 2715
Нагороди: 10
Рейтинг: 202
В даній темі пишіть цікаве про операційні системи та все, що з ними пов'язане!

Шановні форумчани!!!!!
Повідомлення, які не відповідають темі або несуть некорисний зміст будуть видалятись без попередження!!!

W-w-W Дата: Ср, 13.05.2009, 23:55 | Повідомлення № 2
Ветеран спілкування
Повідомлень: 2715
Нагороди: 10
Рейтинг: 202
Операційна система (ОС) - це програма, що забезпечує можливість раціонального використання устаткування комп'ютера зручним для користувача образом.
Операційна система як віртуальна машина

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

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

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

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

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

W-w-W Дата: Ср, 13.05.2009, 23:57 | Повідомлення № 3
Ветеран спілкування
Повідомлень: 2715
Нагороди: 10
Рейтинг: 202
У процесі еволюції виникло кілька важливих концепцій, які стали невід'ємною частиною теорії й практики ОС. Тут дається їхній короткий опис.
Системні виклики

У будь-якій операційній системі підтримується механізм, що дозволяє користувальницьким програмам звертатися до послуг ядра ОС. В операційних системах найбільш відомої радянської обчислювальної машини БЭСМ-6 відповідні засоби "спілкування" з ядром називалися екстракодами, в операційних системах IBM вони називалися системними макрокомандами й т.д. В ОС Unix такі засоби називають системними викликами.

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

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

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

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

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

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

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

W-w-W Дата: Ср, 13.05.2009, 23:58 | Повідомлення № 4
Ветеран спілкування
Повідомлень: 2715
Нагороди: 10
Рейтинг: 202
Класифікація ОС
Операційні системи



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

По числу одночасно виконуваних завдань операційні системи можна розділити на два класи:
багатозадачні (Unix, OS/2, Windows);
однозадачні (наприклад, MS-DOS).

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

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

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

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

По числу одночасно працюючих користувачів ОС можна розділити на:
однокористувацькі (MS-DOS, Windows 3.x);
багатокористувацькі (Windows NT, Unix).

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

Аж до недавнього часу обчислювальні системи мали один центральний процесор. У результаті вимог до підвищення продуктивності з'явилися багатопроцесорні системи, що складаються із двох і більше процесорів загального призначення, що здійснюють паралельне виконання команд. Підтримка багатопроцесування є важливою властивістю ОС і приводить до ускладнення всіх алгоритмів керування ресурсами. Багатопроцесорна обробка реалізована в таких ОС, як Linux, Solaris, Windows NT, і ряді інших.

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

В асиметричних ОС процесори нерівноправні. Звичайно існує головний процесор (master) і підлеглі (slave), завантаження й характер роботи яких визначає головний процесор.
Системи реального часу

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

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

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

W-w-W Дата: Чт, 14.05.2009, 00:00 | Повідомлення № 5
Ветеран спілкування
Повідомлень: 2715
Нагороди: 10
Рейтинг: 202
Багатозадачність це режим одночасного рішення декількох завдань на комп'ютері.

Завдання в цьому випадку — це частина роботи, виконуваної процесором.

Операційна система MS-DOS принципово побудована як однозадачна система, хоча деякі оболонки (наприклад, DOSSHELL) намагаються працювати одночасно з декількома завданнями.

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

Операційні системи Windows NT і OS/2 використовують багатозадачний режим з витисненням: система встановлює деякий проміжок часу, після закінчення якого відбувається примусове перемикання завдань. Аналогічним образом працює операційна система. UNIX, але вона випередила в цьому питанні Windows NT і OS/2 на 20 років.

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

W-w-W Дата: Чт, 14.05.2009, 00:01 | Повідомлення № 6
Ветеран спілкування
Повідомлень: 2715
Нагороди: 10
Рейтинг: 202
Файлова система це частина операційної системи, що забезпечує запис і читання файлів на дискових носіях (магнітних, магнітооптичних, оптичних).

Визначає логічну й фізичну структуру файлу, ідентифікацію й супутні дані файлу.

Широко відомі наступні файлові системи:

- файлова система операційної системи MS-DOS, в основу якої покладена таблиця розміщення файлів — FAT (File Allocation Table); містить відомості про розташування всіх файлів (кожний файл ділиться на кластери відповідно до наявності вільного місця на диску, кластери одного файлу не обов'язково розташовані поруч). Файлова система MS-DOS має значні обмеження й недоліки, наприклад, під ім'я файлу приділяється 12 байт, робота із твердим магнітним диском великого обсягу приводить до значної фрагментації файлів;

- файлова система операційної системи OS/2, називана HPFS (High-Performance File System — швидкодіюча файлова система). Забезпечує можливість мати ім'я файлу до 254 символів. Файли, записані на диск, мають мінімальну фрагментацію. Може працювати з файлами, записаними в MS DOS;
- файлова система операційної системи Windows 95 має рівневу структуру, що дозволяє підтримувати одночасно кілька файлових систем. Стара файлова система MS-DOS підтримується безпосередньо, а файлові системи, розроблені не фірмою Microsoft, підтримуються за допомогою спеціальних модулів. Є можливість використовувати довгі ( до 254 символів) імена файлів.

W-w-W Дата: Чт, 14.05.2009, 00:04 | Повідомлення № 7
Ветеран спілкування
Повідомлень: 2715
Нагороди: 10
Рейтинг: 202
Завантаження операційної системи
Операційні системи



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

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

Якщо системні диски в комп'ютері відсутні, на екрані монітора з'являється повідомлення «Non system disk», і комп'ютер «зависає», тобто завантаження операційної системи припиняється й комп'ютер залишається непрацездатним.

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

C:\WINDOWS>

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

W-w-W Дата: Чт, 14.05.2009, 00:07 | Повідомлення № 8
Ветеран спілкування
Повідомлень: 2715
Нагороди: 10
Рейтинг: 202
Самотестування комп'ютера

До складу комп'ютера входить енергонезалежний постійний запам'ятовувальний пристрій (ПЗУ), що містить програми тестування комп'ютера й першого етапу завантаження операційної системи — це BIOS (Basic Input/Output System — базова система вводу/виводу).

Після включення живлення комп'ютера або натискання кнопки Reset на системному блоці комп'ютера або одночасного натискання комбінації клавіш {Ctrl+Alt+Del} на клавіатурі процесор починає виконання програми самотестування комп'ютера POST (Power-on Self Test). Проводиться тестування працездатності процесора, пам'яті й інших апаратних засобів комп'ютера.

У процесі тестування спочатку можуть видаватися діагностичні повідомлення у вигляді різних послідовностей коротких і довгих звукових сигналів (наприклад, 1 довгий і 3 коротких — не підключений монітор, 5 коротких — помилка процесора і так далі). Після успішної ініціалізації відеокарти короткі діагностичні повідомлення виводяться на екран монітора.
Для установки правильної дати й часу, а також внесення змін у конфігурацію апаратних засобів комп'ютера в процесі виконання самотестування необхідно нажати клавішу {Del}. Завантажиться системна утиліта BIOS Setup, що має інтерфейс у вигляді системи ієрархічних меню. Користувач може встановити нові параметри конфігурації комп'ютера й запам'ятати їх у спеціальній мікросхемі пам'ятей, яка при виключеному комп'ютері харчується від батарейки, установленої на системній платі. У випадку виходу з ладу батарейки конфігураційні параметри губляться й комп'ютер перестає нормально завантажуватися.

W-w-W Дата: Чт, 14.05.2009, 00:09 | Повідомлення № 9
Ветеран спілкування
Повідомлень: 2715
Нагороди: 10
Рейтинг: 202
Файл це частина зовнішньої пам'яті комп'ютера, що має ідентифікатор (ім'я) і зберігаюча дані.

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

Керування файлами забезпечує файлова система — частина операційної системи комп'ютера.

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

W-w-W Дата: Чт, 14.05.2009, 00:11 | Повідомлення № 10
Ветеран спілкування
Повідомлень: 2715
Нагороди: 10
Рейтинг: 202
Робота з файлами
[spoiler]Можливо у програмах використовувати набори даних, підготованих заздалегідь, що зберігаються у файлі. Це називають зчитуванням даних із зовнішнього файлу (чи просто з файлу). Такий спосіб знаходить широке застосування у процесі обробки інформаційних масивів дуже великого обсягу, коли інтерактивний режим стає занадто обтяжним і малоефективним.

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

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

У мові Pascal використовується три типи файлів: типізований, нетипизований та текстовий, які в програмі визначаються наступним чином:

: text;

: file of тип;

: file.

Приклад:

ТУРЕ { запис даних про студента }

RecFile = RECORD { ознака початку запису }

Fam, Name, Otch : string[15];

GodR : word;

Ngrup : string[10];

END; { кінець запису }

VAR

F1 : Text;

F2 : File of byte;

F3 : File of RecFile;

F4 : File;

Buf : RecFile; {_2буфер уведення-висновку_0, у який зчитуються дані компоненти файлу}

У цьому фрагменті програми F1- файлова змінна текстового типу, F2 і F3 – типізовані файлові змінні, причому F2 може містити тільки однобайтові елементи, а у файлі F3 кожний компонент уявляє із себе "запис" із трьох елементів, F4- файлова змінна нетипизованого типу.

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

ASSIGN (F, Name);

Тут F- файлова змінна; Name- це повне ім'я файлу, яке містить у собі шлях доступу, безпосереднє ім'я файлу і розширення.

Наприклад:

ASSIGN (F1, 'a:\Tp5\DAT\St629.DAT');

ASSIGN (F2, 'Dannye.DAT').

Якщо не зазначений шлях до файлу, то чи запис зчитування здійснюється в поточний директорій.

Як ім'я файлу в процедурі ASSIGN можна вказувати логічний пристрій з наступного списку: CON, PRN, AUX.

CON - це ім'я консолі. На персональному комп'ютері (ПК) під консоллю розуміється сукупність двох пристроїв: клавіатури і дисплея. Клавіатура використовується для введення інформації, а дисплей для виводу.

PRN - це стандартне ім'я принтера. В ОС PRN стандартно призначається LPT1. У модулі Printer Паскаля оголошена файлова перемінна Lst. Тому для відображення даних на принтер досить підключити модуль Printer до програми, а в процедурах Write і Writeln першим аргументом записати ім'я файлової перемінної Lst:

Приклад висновку інформації без використання модуля Printer:

VAR F : File;

BEGIN

Assign(F, PRN);

ReWrite(F);

Writeln(F, 'Приклад використання Л.У. - PRN');

Close(F);

END.

AUX - це ім'я комунікаційного порту. Звичайно їх буває два в ПК: СОМ1 і СОМ2. Стандартно AUX призначається СОМ1. Цей порт звичайно використовується для підключення нестандартних пристроїв. Наприклад, "миші", графобудівника і т.ін.

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

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

установити голівку пристрою на початок файлу.

Ця сукупність операцій називається ініціацією файлу чи "відкриттям" файлу. Ініціюється файл за допомогою процедур Reset і ReWrite. За допомогою процедури Reset ініціюється, тобто відкривається раніше створений файл. За допомогою процедури ReWrite ініціюється файл для запису, тобто файл, що створюється.

Синтаксис:

Reset( [,]);

ReWrite( [,]);

Другий аргумент вказується тільки для нетипизованих файлів. Текстові файли можна ініціювати також і процедурою Append:

Append();

У цьому випадку раніше створений файл відкривається для додавання даних у кінець файлу.

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

Close();

При зчитуванні даних з раніше створеного файлу кінець файлу можна визначити з допомогою функції EOF:

EOF();

Ця функція має значення TRUE у процесі зчитування маркера кінця файлу. У противному випадку вона буде мати значення FALSE. Дана функція звичайно використовується для організації циклу читання всіх компонентів файлу, наприклад:

while not EOF(F1) do begin

...

...

end;

Безпосереднє введення інформації здійснюється процедурами READ і READLN, а вивід (запис) інформації - WRITE і WRITELN. Особливістю їхнього застосування до файлу є обов'язковість вказівки файлової змінної як першого параметра у списку елементів:

Read(, );

ReadLn(, );

Write(, );

WriteLn(,).

Текстовий файл - це сукупність рядків змінної довжини. Змінна довжина рядків визначає наявність маркерів, що відзначають кінець рядка. Як маркери використовуються два керуючі символу "Перехід рядка" і "Повернення каретки", їх десяткові коди: #10, #13. Назви керуючих символів "Перехід рядка"(LF – Line Feed) і "Повернення каретки"(CR - Carriage Return) узяті за аналогією роботи з пишучою машинкою.

Кінець рядка можна визначити за допомогою функції EOLn:

EOLn();

Для запису даних у файл використовуються процедури WRITE і WRITELN:

Write(, );

Writeln(, ).

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

Для читання даних з файлу використовуються процедури READ і READLN:

Read(, );

Readln(, );

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

Приклад:

Var Fio, Otch : string[15];

Name : string[10];

i : integer;

F : text;

Begin

Assign(F, 'St629.DAT'ReWrite(F); { відкриття файлу для запису }

for і:=1 to 5 do { обмежимося введенням п'яти студентів }

begin

Write('Прізвище: ');

Readln(Fam);

Write('Ім'я: ');

Readln(Name);

Write('По батькові: ');

ReadLn(Otch);

Write(F, Fam, Name, Otch);

end;

close(F);

WriteLn(' Прізвище Ім'я По батькові');

Reset(F); { відкриття існуючого файлу }

for i:=1 to 5 do

begin

Read(F, Fam, Name, Otch);

Write(Fam:16, Name:11, Otch:15);

end;

close(F);

End.

Компоненти типізованого файлу можуть бути наступних типів:

<!-- [if !supportLists] --> - <!-- [endif] --> базового: byte, word, longint, integer, real, запис, char, string;

<!-- [if !supportLists] --> - <!-- [endif] --> структурного;

<!-- [if !supportLists] --> - <!-- [endif] --> регулярного.

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

Var

F1 : File of byte;

F2 : File of string[80];

F3 : File of real;

. . .

F : File of RecFile;

Тут F1, F2, F3, F - це файлові змінні, котрі вказують на файли, компоненти яких відповідно є типу byte, string, real і record.

Читання компонентів файлу виконується процедурою:

Read(, );

Запис компонентів у файл виконується за допомогою процедури:

Write(, );

Приклад:

Var

X, Y : array[1..100] of integer; { масиви координат }

F : file of real;

i : byte;

Begin

. . .

. . .

Assign(F, 'Coor.dat'); { файл буде створюватися в поточному каталозі }

ReWrite(F); { відкриття файлу для запису }

For і:= 1 to 100 do

Write(F, X[і], Y[і]); { запис координат у файл }

Close(F);

End.

У наведеному фрагменті програми координати записані послідовними парами X, Y. При такій організації файлу відбувається часте звертання до зовнішнього носія, це призводить до уповільнення роботи програми, що особливо помітно у процесі роботи з великими обсягами даних. Тому рекомендуються дані записувати у файл і зчитувати з файлу великими блоками, приблизно кратним 512 байтам. Відповідно до цього модифікуємо програму в такий спосіб:

Type

Coord = array[1..100] of integer; { масиви координат }

. . .

Var X, Y : Coord; { масиви координат }

F : file of Coord; { файл регулярного типу }

i : byte;

Begin

. . .

. . .

Assign(F, 'Coor.dat'); { файл буде створюватися в поточному каталозі }

ReWrite(F); { відкриття файлу для запису }

Write(F, X); { запис масиву координат Х в файл }

Write(F, Y); { запис масиву координат Y у файл }

Close(F);

End.

Тепер у файлі спочатку записані 100 координат Х, а потім 100 координат Y. Дані файлу ми записали двома великими блоками по 600 байтів кожний. Зчитування координат з файлу виконується аналогічно, у програмі потрібно замість процедури REWRITE використовувати процедуру RESET, а замість пропозиції WRITE використовувати пропозицію READ.

Добре структуровані дані, наприклад, дані про який-небудь об'єкт, зручно

описувати типом "запис". У цьому випадку компонента файлу буде структурного типу.

Приклад:

Type RecFile = record { запис даних по студенту }

Fam, Name, Otch : string[15];

GodR : word;

NGrup : string[10];

end;

Var i : integer;

Buf : RecFile;

FilStud : file of RecFile;

Begin

Assign(FilStud, 'Stud.dat');

ReWrite(FilStud);

WriteLn('Уведіть дані по студентах:');

For і:= 1 to 10 do { обмежимося 10 записами }

begin

Write('Прізвище : ');

Readln(Buf.Fam);

Write('Ім'я : ');

Readln(Buf.Name);

Write('По батькові : ');

Resdln(Buf.Otch);

Write('Рік народження : ');

Readln(Buf.God);

Write('N групи : ');

Readln(Buf.NGrup);

{ запис даних у файл }

Write(FilStud, Buf); { Buf - звертання до всього запису }

end;

Close(FilStud);

End.

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

Тому що типізовані файли мають компоненти фіксованої довжини, існує можливість організувати прямий доступ. Для організації прямого доступу до компонент файлу існують стандартні процедури Seek, FilePos, FileSize :

Seek(,);

FilePos();

FileSize().

Процедура Seek здійснює прямий доступ до будь-якого компонента файлу. Тут - позиція покажчика компонент файлу. Вона може приймати наступні значення:

+1 - установити покажчик на наступну компонент;

-1 - установити покажчик на попередню компонент;

і - установити покажчик на i-ту компоненту.

Процедура FilePos визначає номер поточної позиції у файлі, а точніше номер поточної компоненти.

Процедура FileSize визначає розмір зазначеного файлу - кількість компонент. Нумерація компонентів починається з нуля.

Приклад:

Type RecFile = record { запис даних по студенту }

Fam, Name, Otch : string[15];

GodR : word;

NGrup : string[10];

end;

Var i : integer;

Buf : RecFile;

FilStud : file of RecFile;

Begin

Assign(FilStud, 'Stud.dat');

Reset(FilStud);

i:= FileSize;

WriteLn('У файлі ', і, ' компонент');

Seek(FilStud, і-1);

Read(FilStud, Buf);

Buf.God:= '1973';

Seek(FilStud, -1);

Write(FilStud, Buf);

Close(FilStud);

End.

Відкриваючи типізований файл процедурою RESET, можна цей файл не тільки читати, але і записувати в нього нову інформацію. При цьому файл повинний уже існувати на диску.

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

Reset(, );

ReWrite(, ).

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

Читання компонентів з файлу і запис їх у файл виконується процедурами BlockRead і BlockWrite:

BlockRead(, ,<<span style=""> компонент, що зчитуються за один раз >, [,]);

BlockWrite(,,, [,< компоненти, що записуються >]).

W-w-W Дата: Чт, 14.05.2009, 00:13 | Повідомлення № 11
Ветеран спілкування
Повідомлень: 2715
Нагороди: 10
Рейтинг: 202
ОС: призначення та склад

На IBM-сумісних персональних комп'ютерах використовуються операційні системи корпорації Microsoft Windows, вільно розповсюджуєма операційна система Linux. На персональних комп'ютерах фірми Apple використовуються різні версії операційної системи Mac OS. На робочих станціях і серверах найбільше поширення одержали операційні системи Windows Server і UNIX.

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

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

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

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

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

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

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

W-w-W Дата: Чт, 14.05.2009, 00:15 | Повідомлення № 12
Ветеран спілкування
Повідомлень: 2715
Нагороди: 10
Рейтинг: 202
ОПЕРАЦІЙНІ СИСТЕМИ

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

[spoiler] В літературі можна зустріти різні визначення поняття „операційна система”.

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

Іноді під призначенням ОС мають на увазі розподіл та планування ресурсів, або динамічний і статичний розподіл ресурсів. Таким чином, на перший план виходить проблема розподілу ресурсів.

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

До функцій ОС також відносяться забезпечення високих показників по двох найважливіших характеристиках обчислювальних систем: ефективності та надійності.

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

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

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

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

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

При вивченні проблем розробки ОС виділяється ще один їх бік.

Операційна система є посередником між ЕОМ, з однієї сторони, та людиною – з іншої. Іншими словами, операційна система – логічне розширення функцій апаратури у бік людини. Вона дозволяє від „фізичного” рівня апаратури перейти до більш високого „логічного” рівня, який стає рівнем обчислювальної системи і який є більш зручним для людини.
Склад та функції операційних систем

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

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

Керуюча програма скуладається з ряду компонентів, серед яких слід виділити чотири основних:
управління статичними ресурсами (управління завданнями);
управління динамічними ресурсами (управління задачами);
управліня данними;
управління поновленням.

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

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

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

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

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

NatVovk Дата: Чт, 14.05.2009, 21:48 | Повідомлення № 13
Гол. ред. "Інформатики"
Повідомлень: 168
Нагороди: 0
Рейтинг: 10
Quote (Махновець_Ігор)
Файл це частина зовнішньої пам'яті комп'ютера, що має ідентифікатор (ім'я) і зберігаюча дані.

Шановний Махновець_Ігор це не вивільняє Вас від обов’язків виконувати правильне цитування (якщо Ви висловлюєте думку, що зафіксована у друкованих джерелах, то слід їх зазначати (назву, мсіце й рік друку)).
Про файли.
Файл — це ідентифікована сукупність екземплярів повністю описаного в конкретній програмі типу даних, що знаходяться поза програмою у зовнішній пам’яті комп’ютера і доступні програмі через спеціальні операції. (Так запосано в ГОСТі, номер зараз сказати на пам’ять не можу).
Таке визначення (з посиланням на ГОСТ) подано у посібнику В.Дем’яненко, Н.Вовковінська, В.Лапінський «Комп’ютер. Апаратна частина: конфігурація, вибір» К.: Шкільний сівт, 2009
Погодьтеся що у цьому визначенні немає жодного зайвого слова. Все сказано чітко й зрозуміло.


Відредаговано: Махновець_Ігор - Сб, 16.05.2009, 00:22
Ковальчук_Олександр Дата: Чт, 14.05.2009, 23:36 | Повідомлення № 14
Ветеран спілкування
Повідомлень: 3621
Нагороди: 17
Рейтинг: 192
Quote (NatVovk)
Шановний Махновець_Ігор. Ви дуже помолоділи на Вашому новому аватарі, але це не вивільняє Вас від обов’язків виконувати правильне цитування (якщо Ви висловлюєте думку, що зафіксована у друкованих джерелах, то слід їх зазначати (назву, мсіце й рік друку)).

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

Quote (NatVovk)
Все сказано чітко й зрозуміло.

Чітко, але чи зрозуміло? Особиливо для учня. З методичної точки зору таке трактування поняття файлу викличе багато додаткових питань і лише частвову зрозумілість в учнів (говорю це тому, що пробував давати таке означення на уроці).
Більш доступне хоча б таке: Інформація на дисках (гнучких, жорстких, магнітооптичнх тощо) зберігається в файлах. Файл – це іменована ділянка пам’яті на диску, або на іншому носієві інформації, де можуть зберігатися тексти, графічні образи, готові до виконання програми, будь-які інші дані. Кожен файл має своє унікальне ім`я, під яким він відомий операційній системі або програмі, в якій був створений...
І т.д. Нехай і просто, зате доступно.
Quote (NatVovk)
Шановний Махновець_Ігор. Ви дуже помолоділи на Вашому новому аватарі,

NatVovk, флудити на форумі строго заборонено!!!
Ktara Дата: Пт, 15.05.2009, 17:10 | Повідомлення № 15
Перспективна вчителька
Повідомлень: 3888
Нагороди: 36
Рейтинг: 285
Если указан автор, то никаких проблем. А если авторство не указано, то я считаю намного честнее оставить все как есть а не дописывать авторство себе или кому-нибудь ради соблюдения приличий. А все аватары есть в коллекции, можно менять хоть каждый день
Форум інформатиків » РОЗДІЛ ІІІ: МЕТОДИКА, ЗАСОБИ ВИКЛАДАННЯ ІНФОРМАТИКИ » 3.4 Методика викладання інформатики в 11-річній школі » Операційні системи.
Сторінка 1 з 3123»
Пошук:


© Форум інформатиків України, 2007-2017.