Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпори СПОС.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
145.46 Кб
Скачать
  1. Принципи застосування базового інтерфейсу введення/виведення. Порядок роботи з файлом.

Інтерфейс введення-виведення вимагає управління процесором кожного пристрою. Інтерфейс повинен мати відповідну логіку для інтерпретації адреси пристрою, що генерується процесором. Встановлення контакту повинно бути реалізовано інтерфейсом за допомогою відповідних команд типу (ЗАЙНЯТИЙ, ГОТОВИЙ, ЖДУ), щоб процесор міг взаємодіяти з пристроєм вводу-виводу через інтерфейс. Якщо існує необхідність передачі різних форматів даних, то інтерфейс повинен уміти конвертувати послідовні (впорядковані) дані в паралельну форму і навпаки. Повинна бути можливість для генерації переривань і відповідних типів чисел для подальшої обробки процесором (при необхідності). Комп'ютер, що використовує введення-виведення з розподілом пам'яті, звертається до апаратного забезпечення за допомогою читання і запису в певні осередки пам'яті, використовуючи ті ж самі інструкції мови асемблера, які комп'ютер зазвичай використовує при зверненні до пам'яті.

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

  1. Основні можливості та функції стандартної бібліотеки введення/виведення.

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

stdio.h (від англ. standard input/output header - стандартний заголовний файл введення/виведення) заголовний файл стандартної бібліотеки мови Сі, що містить визначення макросів, констант та оголошення функцій і типів, що використовуються для різних операцій стандартного введення і виведення. Функції-члени функції, оголошені в stdio.h у загальному випадку можуть бути розділені на дві категорії: функції для операцій з файлами і функції для операцій введення-виведення.

  1. Принципи застосування стандартної бібліотеки введення/виведення. Порядок роботи з файлом.

Традиційною для ОС UNIX бібліотекою функцій більш високого рівня, ніж бібліотека системних викликів, є, так звана, стандартна бібліотека вводу / виводу stdio. Оголошується #include <stdio.h>.

Додаткові можливості введення-виведення залежать від операційної системи, але ці функції забезпечують єдиний інтерфейс.Відповідні описи містяться в stdio.h.

Функції stdio заводять індикатор помилок для кожного файлу, на який вказує покажчик fp, для запису туди інформації про помилки введення-виведення, пов'язаних з даним файлом або потоком. Використовуйте ferror для з'ясування значення цього індикатора.

#include <stdio.h>

int ferror(FILE *fp);

Якщо певний fp файл або потік відкритий, то fclose закриває його, попередньо записавши всі оброблювані дані (викликавши fflush (fp)).fclose повертає 0, якщо він був виконаний успішно (включаючи випадок, коли fp - NULL або не відкритий файл); інакше повертається EOF.

#include <stdio.h>

int fclose(FILE *fp);

fopen ініціалізує структури даних, необхідних для читання або запису файлу. Ім'я файлу визначається рядком в file, а тип доступу до файлу - рядком у mode.Інша функція _fopen_r є повторно-входимость аналогом. Додатковий аргумент reent - покажчик на структуру, яка містить інформацію для забезпечення повторної входимость.

#include <stdio.h>

FILE *fopen(const char *file, const char *mode);

FILE *_fopen_r(void *reent, const char *file, const char *mode);

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