воскресенье, 25 сентября 2011 г.

Склад MS DOS. Файлова система.


1) Поняття операційної системи

Операційна система персонального комп'ютера це комплекс програм, які в першу чергу забезпечують роботу всіх пристроїв ПК, дозволяють виконувати різноманітні команди по керуванню комп'ютером та запускати на виконання прикладні програми. Однією з найпоширеніших операційних систем для IBM-сумісних ПК є MS-DOS (MicroSoft Disk Operation System дискова операційна система фірми Microsoft). Ця система була спеціально розроблена за замовленням фірми IBM у 1981 р. і з того часу зазнала значних змін і вдосконалень. Як і кожний програмний продукт серйозних фірм, нові розробки MS-DOS мають так звані версії (version). До теперішнього часу випущено 6 версій цієї операційної системи: 1.0, 2.0,..., 6.0. Якщо система не зазнає суттєвих змін, а виправляються, наприклад, лише помилки (буває і таке!), то у номері версії це відображається додаванням порядкових цифр після крапки. Так, розвитком версії 3.0 були версії 3.1, 3.2, 3.3.   Надалі  ми  будемо  говорити  тільки  про  основні  версії (16).
Свого часу фірма IBM придбала у фірми Microsoft ліцензію на MS-DOS і почала продавати її разом із своїми комп'ютерами під назвою PC-DOS (Personal Computer Disk Operation System дискова операційна система персонального комп'ютера). Між згаданими операційними системами є деякі відміни, але вони настільки незначні, що ми майже не будемо казати про них.

2) Складові частини операційної системи

Операційна система MS-DOS складається із таких шести частин.
   Базова система введення-виведення (BIOS), як ми вже казали, являє собою комплекс програм, що записаний у ПЗП (ROM) ще при виготовленні комп'ютера, і забезпечує найпростіші операції по підтримці роботи всіх компонент ПК. Перш за все BIOS здійснює перевірку працездатності головних пристроїв ПК після його вмикання (POST Power On Self Testing). Потім він проводить ініціалізацію ПК та передає управління на так званий Boot Sector.
   Завантажувач операційної системи (Boot Sector) це коротка програма (512 байт), що знаходиться у першому секторі кожного системного диска (гнучкого або жорсткого), і основна задача якого полягає у завантаженні в пам'ять ПК програм операційної системи, які містяться у файлах (точне означення цього поняття буде дано нижче) IO.SYS та MSDOS.SYS. Під системним диском ми будемо розуміти спеціальним чином підготовлений під час форматування диск, на якому містяться вказані два файли та файл COMMAND.COM.
   Файл IO.SYS є розширенням BIOS і змінюється (вдосконалюється) від версії до версії, в той час як BIOS залишається консервативною, незмінною частиною системи.
   Файл MSDOS.SYS реалізує основні послуги DOS на вищому рівні. Після завантаження файлів IO.SYS та MSDOS.SYS в оперативну пам'ять ПК вони залишаються там аж до вимкнення комп'ютера і повністю забезпечують його роботу. Зауважимо, що файли IO.SYS та MSDOS.SYS в операційній системі PC-DOS мають назви IBMBIO.COM та IBMDOS.COM, відповідно.
   Командний процесор COMMAND.COM обробляє (інтерпретує) команди, які одержані з клавіатури або з так званих batch-файлів, та виконує їх, завантажує та виконує прикладні програми. Командний процесор містить у собі так звані внутрішні (резидентні) команди DOS, про які мова піде далі. У разі необхідності значна частина COMMAND.COM вивільнює оперативну пам'ять, дозволяючи зайняти її прикладним програмам. Після того як останні завершать свою роботу, резидентна частина командного процесора відновлює COMMAND.COM у пам'яті.
   Утиліти DOS це службові програми, що поставляються у складі операційної системи. Вони ще звуться зовнішніми (транзитними) командами DOS. Їх ми також розглянемо нижче. Зауважимо лише, що з широкої точки зору всі прикладні програми можуть розглядатися як утиліти DOS.

3) Файлова система MS-DOS

Програми, дані, які потрібні при роботі комп'ютера, зберігаються у файлах. Файл це поіменоване місце на диску, в якому знаходиться інформація. Кожен файл має назву, що складається із імені та розширення. Ім'я файла може містити від 1 до 8 символів. Розширення може містити до 3 символів, а може бути і відсутнім. Деякі із символів ASCII заборонено вживати в іменах та розширеннях файлів. Ми не будемо говорити про них, скажемо тільки, що всі літери латинського алфавіту (великі чи малі) та цифри дозволені. Між іменем та розширенням ставиться крапка. Прикладами можуть служити назви розглянутих системних файлів: IO.SYS, MSDOS.SYS, COMMAND.COM.
Розширення файлів задає, як правило, їх тип, належність до певного класу. Багато програмних систем при створенні файла автоматично установлюють його розширення і по ньому ви можете судити, що то за файл. Наприклад, розширення BAS свідчить про те, що відповідний файл містить текст програми на мові Basic, розширення PAS файл містить текст програми на мові Pascal, розширення BAK файл є копією іншого файла, що утворюється при редагуванні останнього, розширення TXT, DOC мають, як правило, тексти, документи тощо.
Серед усіх файлів особливе місце займають так звані виконувані файли. Ці файли мають розширення COM (Command командний), EXE (Executable виконуваний) та BAT (Batch пакетний). Файли з першими двома розширеннями це програми, які можна запускати на виконання. З точки зору користувача між COM- та EXE-програмами немає різниці. Файл з розширенням BAT (надалі будемо звати його batch-файлом) то текстовий файл, у якому записана послідовність виконуваних програм або команд DOS. Нижче ми ще повернемося до batch-файлів.
Починаючи з версії 2.0 (в той час саме з'явився комп'ютер IBM PC XT із жорстким диском), DOS підтримує так звану ієрархічну, деревовидну структуру файлової системи. Це означає, що є можливість створювати на диску директорії (каталоги), у яких зберігаються групи файлів, споріднених за якоюсь ознакою. Це певною мірою є аналогом зберігання книг у бібліотеці, де література знаходиться у кімнатах, шафах, на полицях тощо. Директорії, як і файли, мають ім'я та розширення (останнє необов'язкове). У назві директорії можна використовувати ті ж самі символи, що і в назві файла. Допустимі вкладені директорії. Перша, головна з них, зветься кореневою. В ній розташовані файли і директорії, в яких у свою чергу можуть бути файли і директорії і т.д. Якщо директорія X розташована в директорії Y, то кажуть, що X є піддиректорієм Y, а Y є наддиректорією або батьківською директорією для X. Наведемо приклад введених понять (див. рисунок).


C:














DOS

UTILS

WINDOWS












ANTIVIR

DOC

DRIVERS












Тут C: коренева директорія, DOS, UTILS, WINDOWS директорії першого рівня, що є піддиректоріями C:, ANTIVIR, DOC, DRIVERS, директорії другого рівня, що є піддиректоріями UTILS. В кожній із вказаних директорій може бути розташована та чи інша кількість файлів.
Існують команди DOS, за допомогою яких можна створювати, видаляти директорії та переходити з однієї директорії до іншої (про це мова буде йти далі). Директорія, з якою ви працюєте зараз, зветься активною або поточною. Саме в цій директорії DOS шукає задані вами файли. Якщо ви хочете вказати файл, що розташований в іншому місці, ви повинні вказати шлях або маршрут до цього файла, який задається послідовністю директорій, що розділені символом "\" (backslash обернена похила), наприклад, C:\UTILS\ANTIVIR\AIDSTEST.EXE.
У багатьох командах DOS при вказанні групи файлів з однієї директорії можна використовувати символи ? та для задання так званих масок або шаблонів. Ці символи використовуються в імені та/або в розширенні файлів. Символ ? замінює будь-який символ, а символ будь-який залишок імені або розширення файлів. Наприклад, якщо у директорії є файли doc1ku.txt, doc2ku.txt,..., doc9ku.txt, то всі вони можуть бути задані за допомогою однієї маски doc?ku.txt. Якщо ви задасте шаблон a., то будуть вибрані (селектовані) всі файли, назва яких починається з літери a. Зауважимо, що після символа неприпустимі ніякі інші символи в імені та розширенні.
Тепер повернемося до вже згадуваної системної області диска. Крім Boot-сектора сюди входять також коренева директорія (Root Directory) та таблиця розміщення файлів (File Allocation Table FAT). У кореневій директорії записані назви файлів та директорій нижнього рівня, дата та час їх утворення, розміри та деяка інша інформація. У FAT-таблиці записані ланцюжки кластерів, в яких розміщуються файли. Кластер (Cluster гроно, пучок, група) це група секторів (як правило, 2 на дискеті та 4 на вінчестері), які розглядаються операційною системою як одне ціле при запису та зчитуванні інформації. DOS записує та зчитує інформацію не бітами і навіть не байтами, а цілими кластерами.
Відмітимо також, що DOS дозволяє поділяти фізичний жорсткий диск на так звані логічні диски, які мають назви C:, D: і т.д. в залежності від того, скільки логічних дисків ви вибрали при підготовці вінчестера. Інформація про розподіл жорсткого диска на логічні диски зберігається у таблиці розділів (Partition Table), яка також входить до системної області диска.

4) Завантаження DOS та діалог з операційною системою

Завантаження DOS відбувається у трьох випадках:
   при вмиканні електроживлення комп'ютера за допомогою розташованого праворуч або на передній панелі системного блока вмикача Power;
   при натисканні клавіші Reset, що розміщена на передній панелі системного блока;
   при одночасному натисканні клавіш Ctrl, Alt, Del на клавіатурі (не діє, коли, як кажуть, комп'ютер або система "зависає").
Додамо, що у деяких моделях ПК необхідно ще вмикнути монітор.
Завантаження DOS відбувається або з системної дискети, що вставлена у дисковод A:, або з жорсткого диска. В останньому випадку дисковод A: має бути вільним. Під час завантаження DOS перевіряє працездатність окремих пристроїв ПК, після чого записує в оперативну пам'ять комп'ютера системні файли IO.SYS, MSDOS.SYS та COMMAND.COM і видає на екран запрошення DOS (системну підказку) у вигляді A:> у разі завантаження з дискети, C:> у разі завантаження з вінчестера. У кінці запрошення DOS стоїть символ _ , що зветься курсором. Курсор вказує місце на екрані, де буде з'являтися інформація, яку ви вводите. Після появи запрошення ви можете вводити команди DOS або імена виконуваних файлів (в останньому випадку не обов'язково набирати розширення COM, EXE, BAT) для керування роботою комп'ютера. Команди набирають на клавіатурі великими або маленькими літерами (це несуттєво) і завершують натисканням клавіші Enter. Якщо ви помилилися при набиранні команди до натискання клавіші Enter, використовуйте клавішу BackSpace () для видалення символів ліворуч від курсора та Esc для відміни всієї команди. Якщо ви неправильно набрали команду чи ім'я виконуваного файла (або цього файла немає в активній директорії) і натиснули клавішу Enter, то з'явиться повідомлення: Bad command or file name (Неправильна команда або ім'я файла) і ви можете повторити свої дії вірно.
Нижче наводяться команди MS-DOS. Вони поділяються, як ми вже казали, на внутрішні (резидентні) та зовнішні (транзитні) команди. Останні ще звуться утилітами DOS. Внутрішні команди "вмонтовані" у файл COMMAND.COM і тому доступні у будь-якому випадку після завантаження операційної системи. Зовнішні команди можуть бути виконані лише тоді, коли на диску є відповідні файли (утиліти).
Кожна з команд містить, як правило, декілька параметрів. Якщо параметр необов'язковий, то він береться у квадратні дужки "[ ]". Знаком "|" розділяються альтернативні варіанти.

Типи даних. Цілі та дійсні типи. Процедура Read.


Дані  в програмуванні являють собою величини, які опрацьовуються програмою. Вони поділяються на :
       константи та змінні;
       скалярні та структуровані;
       стандартні та дані користувача.

Константи – це величини, що не змінюють своїх значень в ході виконання програми. Змінні – об’єкти, що можуть приймати різні значення. Але це не означає, що змінна обов’язково повинна прийняти інше значення. Далі вважатимемо, основним об’єктом програми є змінна.
Скалярні величини являють собою прості значення. Тобто, скалярний об’єкт може приймати в будь-який момент виконання програми лише одне якесь значення. Структуровані величини складаються з декількох значень, тобто, одній величині відповідає деякий набір значень одразу.
Стандартні величини реалізовані в трансляторі мови ПАСКАЛЬ, тому їх можна використовувати без додаткового оголошення. Крім того, користувач може оголошувати і використовувати власні величини, які називаються даними користувача.
Тип даних визначає множину значень, що може приймати змінна. Кожній змінній в програмі необхідно задати один, і тільки один тип даних. Хоча ПАСКАЛЬ може опрацьовувати достатньо складні типи даних, усі вони складаються з простих (неструктурованих) типів.
Вивчення типів даних розпочнемо зі скалярних стандартних типів даних. Їх в ПАСКАЛІ є чотири: integer (тип цілих чисел) , real (тип дійсних чисел), char (літерний тип) та boolean (логічний тип). 

У ТУРБО ПАСКАЛЬ існує п’ять вбудованих цілочисельних типів: Shortint (коротке ціле), Integer (ціле), Longint (довге ціле), Byte (довжиною в байт) і Word (довжиною в слово). Кожний тип визначає певну підмножину цілих. 


Тип
Діапазон
Формат
Shortint
-128 .. 127
8 бітів із знаком
Integer
-32768 .. 32767
16 бітів із знаком
Longint
-2147483648 .. 2147483647
32 біта зі знаком
Byte
0 .. 255
8 бітів без знака
Word
0 .. 65535
16 бітів без знака
  

2) Цілі та дійсні типи.
До дійсного типу відноситься підмножина дійсних чисел, що можуть бути подані у форматі з плаваючою точкою з фіксованим числом цифр. 
Є пять видів дійсних типів: Real, Single, Double, Extended і Comp.
Дійсні типи розрізняються діапазоном і точністю пов’язаних з ними значень. Основним є перший тип, тому детально зупинимось саме на його вивченні.
Перш за все, дані дійсного типу можуть подаватись у двох формах: з фіксованою точкою та плаваючою точкою (експоненційній формі). Перша форма подання чисел більш звична. В ній явно задана ціла та дробова частина, які відокремлені точкою Так, числа 2.729, -89.084109, 134 подані у формі з фіксованою точкою.

3)  Процедура Read;

Read(Readln) – оператор введення даних  з клавіатури.
Приклади:
read(f);
readln(a);
read(a,b,c);

среда, 21 сентября 2011 г.

Фа́йлова систе́ма

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

Сучасні файлові системи

Сучасні файлові системи (ФС) являють собою ієрархічні структури каталогів. Хоча загальна концепція всіх ФС, в принципі, однакова, в реалізації є деякі відмінності. Два вартих уваги приклади — це символи-розділювачі каталогів та чутливість до регістру. Юнікс-подібні операційні системи (ОС) (BSD, Лінукс, MacOS X) та AmigaOS використовують у якості розділювача каталогів символ похилої риски (/), в той час як DOS використовує цей символ для завдавання додаткових опцій у командному рядку, а в якості розділювача прийнято вживати символ зворотної похилої риски (\). У Microsoft Windows прийнята та ж конвенція за винятком китайської та корейської версій, де розділювачем є знак запитання (?). Версії МакОС до Х використовували у якості розділювача двокрапку; RISC OS — дефіс.
У Юнікс-подібних ОС у назві файлу може використовуватись будь-який символ за винятком похилої риски і вони чутливі до регістру. Назви файлів у Microsoft Windows не є чутливими до регістру.
ФС можуть бути журнальними або нежурнальними. Журнальні файлові системи пишуть інформацію двічі: спершу до журналу дій файлової системи, потім до її належного місця в звичайній файловій системі. В разі аварії система може автоматично відновлювати свій вміст до узгодженого стану програючи частину журналу. В той же час нежурнальним файловим системам потрібно зробити перевірку усієї файлової системи спеціальними програмами, такими як fsck або scandisk.
Більшість дистрибутивів Лінукс підтримують більшість (або всі) перелічені ФС: ext2, ext3, ReiserFS, Reiser4, GFS, GFS2, OCFS, OCFS2, NILFS, XFS, JFS, заразом як і FAT та NTFS.
Microsoft Windows підтримує лише FAT12, FAT16, FAT32, та NTFS. Серед них NTFS є найефективнішою та єдиною, на котру може бути встановлена Windows Vista. Windows Embedded CE 6.0 включає також підтримку ExFAT, призначеної для роботи на портативних пристроях.
MacOS X підтримує HFS+ у якості первинної ФС та кілька інших як допоміжних.
На додачу всі ці (та інші) ОС підтримують файлові системи змінних носіїв — FAT12 для дискет, ISO 9660 та UDF (Universal Disk Format) для компакт-дисків та DVD відповідно. Windows Vista та Лінукс з ядром версії 2.6 підтримують розширення UDF котрі дозволяють перезаписувати вміст ДВД як у звичайних дискетах.

Класифікація файлових систем

За призначенням файлові системи можна класифікувати на наступні категорії:
  • Для носіїв з довільним доступом (наприклад, твердий диск): FAT32, HPFS, ext2 і ін. Останнім часом поширилися журнальовані файлові системи, такі як ext3, Reiserfs, JFS, NTFS, XFS.
  • Для носіїв з послідовним доступом (наприклад, магнітні стрічки): QIC.
  • Для оптичних носіїв — CD і DVD: ISO 9660, HFS, UDF.
  • Віртуальні файлові системи: AEFS і ін.
  • Мережні файлові системи: NFS, SMBFS, SSHFS, Gmailfs.

FAT32 (від англ. File Allocation Table — «таблиця розташування файлів») — ця файлова система підтримує томи (логічні диски) обсягом до 8 ТБ і використовує для зберігання файлів менші фрагменти диска, ніж файлова система FAT16. Це збільшує вільний простір на диску. Файлова система FAT32 не підтримує диски, менші за 512 МБ.
Файлова система FAT32 була вперше реалізована в операційній системі Windows 95 OEM Service Release 2


NTFS (від англ. New Technology File System — «файлова система нової технології») — стандартна файлова система для сімейства операційних систем Microsoft Windows NT.
NTFS замінила файлову систему FAT, яка використалася в MS-DOS і попередніх до Windows NT версіях Microsoft Windows. NTFS підтримує систему метаданих і використовує спеціалізовані структури даних для зберігання інформації про файли для поліпшення продуктивності, надійності і ефективності використання дискового простору. NTFS має вбудовані можливості розмежовувати доступ до даних для різних користувачів і груп користувачів, а також призначати квоти (обмеження на максимальний обсяг дискового простору, займаний тими чи іншими користувачами). NTFS використовує систему журналювання для підвищення надійності файлової системи.
Розрізняють декілька версій NTFS: v1.2 використовується в Windows NT 3.51 і Windows NT 4.0, v3.0 поставляється з Windows 2000, v3.1 — з Windows XP і Windows Server 2003. Іноді
останні версії позначають як v4.0, v5.0 і v5.1 відповідно до версій Windows NT, з якими вони поставляються.