в той чи інший момент часу. Назви деяких із операційних систем усім добре відомі: DOS, WINDOWS-98, UNIX, OS/2 та інші.
1.3. Зовнішня пам'ять та файли
Крім оперативної пам'яті, у комп'ютері є зовнішня пам'ять – на зовнішніх носіях даних, наприклад, магнітних дисках. Носії розміщаються на спеціальних пристроях обміну даними з "зовнішнім світом", або пристроях уведення-виведення (ПУВ на рис.1.1). До ПУВ відносяться, наприклад, дисководи, екран, клавіатура, миша. Всі вони мають у своєму складі процесори, побудовані набагато простіше, ніж центральний процесор, і виконують зовсім інші команди. Процесори пристроїв обміну можуть переносити дані з зовнішніх носіїв в оперативну пам'ять, виконуючи читання з "зовнішнього світу" або навпаки, записувати дані з оперативної пам'яті в "зовнішній світ". Переміщення значень між процесором і УВВ відбуваються за допомогою спеціального пристрою – шини.
Кожному пристрою обміну виділено свою особливу ділянку оперативної пам'яті – порт. З нього пристрій переносить дані на зовнішній носій, записуючи їх, наприклад, на диск або екран комп'ютера. І саме в порт записуються дані від пристроїв обміну, наприклад, від клавіатури або дисковода. Комп'ютери, як правило, мають кілька дисководів для роботи з дисками різних типів, наприклад, жорсткими (hard, або Winchester disks), гнучкими (floppy disks), компактними (compact) та іншими.
Комп'ютер може мати й інші пристрої обміну даними, наприклад, сканери для читання візуальної інформації, плотери для створення зображень, модеми для підключення до телефонної мережі тощо.
Програми, за допомогою яких операційна система керує роботою пристроїв обміну, називаються драйверами цих устроїв. Наприклад, драйвер клавіатури або драйвер екрана.
Дані на зовнішніх носіях називаються файлами, наприклад, тексти або малюнки. Вони мають різноманітне походження та призначення, і записуються за різними правилами. Системи запису файлів називаються форматами.
Машинна програма теж є прикладом файла. Спочатку за допомогою спеціальних програм вона створюється й записується, як правило, на диск. Потім для виконання вона переписується звідти в оперативну пам'ять (ОП на рис.1.3). Цей запис програми в оперативну пам'ять називається завантаженням і виконується за спеціальною програмою – завантажником.
1.4. Мова Паскаль, трансляція та системи програмування
Система програмування робить комп'ютер зручним. Для цього вона пропонує мову й різні послуги, які фактично є програмами, що викликаються та керуються мовними засобами.
Ф.П.Брукс мол., 1975 р.
Кожний комп'ютер має деяку систему команд, які може виконати його ЦП. Це і є машинна мова. Вона зовсім не схожа на людську. Програмувати в ній дуже незручно, тому що треба знати численні деталі устрою комп'ютера та писати дуже довгі послідовності простеньких машинних команд. Але виявляється, що майже завжди можна програмувати в іншій, не машинній, мові.
За кілька десятиліть використання комп'ютерів було створено сотні мов, за допомогою яких можна програмувати, не знаючи нічого про устрій комп'ютера і систему його команд. У цих мовах немає машинних команд; їх "команди" містять звичні слова, своєю структурою схожі на людські фрази і ніяк не відбивають деталей устрою комп'ютера. У цих мовах комп'ютер та його дії подано в більш загальному вигляді. Ці мови мають вищий рівень абстракції опису дій комп'ютера, тому називаються мовами високого рівня. Відповідно машинні мови називаються мовами низького рівня.
Однією з найпопулярніших мов високого рівня стала мова Паскаль, або Pascal. Програми в цій мові будемо називати Паскаль-програмами. Ось найкоротша з них:
program A(input, output);
begin end.
Переклад цього тексту з англійської слово в слово такий:
програма A(введення, виведення);
початок кінець.
Слово A перед дужками є ім'ям цієї програми.
Віддаючи данину традиції ознайомлення з мовами програмування, наведемо також Паскаль-програму, за якою комп'ютер "вітає світ":
program Hello(input, output);
begin writeln ( ' Вітаю, Світе! ' ) end.
Вітання задається, як очевидно, написом writeln ( ' Вітаю, Світе! ' ). Слово writeln є скороченням від "write line", тобто "написати рядок".
Комп'ютер не займається виконанням Паскаль-програм – можна навіть сказати, що він "не розуміє" цієї мови. Для виконання Паскаль-програму треба перекласти на мову машини. Цей переклад, або трансляцію в машинну мову, робить сам комп'ютер, виконуючи спеціальну програму перекладу – транслятор. У процесі трансляції Паскаль-програма читається з зовнішнього носія, за нею будується машинна програма й записується, як правило, у зовнішню пам'ять. Паскаль-програма являє собою початкові дані для побудови машинної програми (рис.1.4(а)). Обидві програми задають ті самі дії виконавця, тільки різними мовами.
Як ми вже говорили, машинна програма завантажується в оперативну пам'ять і потім виконується (рис 1.4(б)). Наприклад, виконання машинної програми "вітання світу" веде до появи на екрані слів Вітаю, Світе! .
Інший спосіб зробити Паскаль-програму "зрозумілою" комп'ютеру – інтерпретувати її. Це відбувається за виконання програми, яка називається інтерпретатором. Вхідні дані інтерпретатора – це Паскаль-програма й ті дані, що повинні читатися при її виконанні (рис.1.5). Інтерпретація програми полягає в тім, що дії, нею задані, відразу виконуються. Машинна програма при цьому не створюється.
Транслятор (або інтерпретатор) є основною програмою в системі програмування – спеціальній системі програм. За їх допомогою програми, записані мовою високого рівня, запам'ятовуються в комп'ютері та перекладаються на машинну мову або інтерпретуються. Кажуть, що система програмування підтримує відповідну мову високого рівня, і що він є вхідним для неї. Існує багато систем, що підтримують мову Паскаль, але вхідні мови практично всіх їх мають відмінності від стандарту мови Паскаль, створеного Віртом, тобто є його діалектами.
У даному посібнику в основному використовується "чистий" Паскаль, а при необхідності – діалект, що підтримується популярними системами програмування фірми Borland і називається Турбо Паскаль.
В усіх операційних системах файли мають імена, що мають принаймні