Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС, среды и оболочки.doc
Скачиваний:
8
Добавлен:
26.04.2019
Размер:
258.05 Кб
Скачать
  1. Основные понятия операционных систем: ввод-вывод данных, файлы, межпроцесное взаимодействие. Ввод-вывод данных

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

Каждая операционная система имеет свою подсистему ввода-вывода для управления устройствами ввода-вывода. Некоторые из программ ввода-вывода являются независимыми от устройств, то есть их можно применить ко многим или ко всем устройствам ввода-вывода. Другая часть программного обеспечения ввода-вывода, в которую входят драйверы устройств, предназначена для определенных устройств ввода-вывода.

Файлы

Файлы относятся к абстрактному механизму. Они предоставляют способ сохранять информацию на диске и считывать ее снова позднее. При этом от пользователя должны скрываться такие детали, как способ и место хранения информации, а также детали работы дисков. Одной из наиболее важной характеристикой любого механизма абстракции является то, как именуются управляемые объекты, поэтому начнем изучение файловой системы с именования файлов.

При создании файла процесс дает файлу имя. Когда процесс завершает работу, файл продолжает свое существование и по его имени к нему могут получить доступ другие процессы.

Точные правила именования файлов варьируются от системы к системе, но все современные операционные системы поддерживают использование в качестве имен файлов 8-символьные текстовые строки. Таким образом, andrea, bruce и cathy являются допустимыми именами файлов. Часто в именах файлов также разрешается использование цифр и специальных символов, поэтому могут применяться и такие имена файлов, как 2, urgent! и Fig.2-14. Многие файловые системы поддерживают имена файлов длиной до 255 символов.

В некоторых файловых системах, например UNIX, различаются прописные и строчные символы, тогда как в других, таких как MS-DOS, нет. Таким образом, имена файлов maria, Maria будут означать в системе UNIX два различных файла, тогда как в MS-DOS все эти имена будут соответствовать одному файлу.

Во многих операционных системах имя файла может состоять из двух частей, разделенных точкой, например prog.c. Часть имени файла после точки называется расширением файла и обычно означает тип файла. Так, в MS-DOS имя файла может содержать от 1 до 8 символов плюс расширение от 0 до 3 символов. В системе UNIX размер расширения файла зависит от пользователя. Кроме того, у файла может быть несколько расширений, например prog.c.Z, где .Z обычно используется, чтобы указать, что файл (prog.c) был сжат с помощью алгоритма Зива—Лемпеля.

В некоторых системах (например, в UNIX) расширения файлов являются просто соглашениями, и операционная система не принуждает пользователя их строго придерживаться. Файл file.txt может быть текстовым файлом, но это скорее напоминание пользователю, а не руководство к действию для операционной системы. Но в подобной ситуации есть один существенный недостаток – компилятор какой либо программы может отказаться компилировать файлы с расширениями отличными от расширений используемого языка.

Поэтому существует соглашение о именовании файлов базирующиеся на способе именования файлов в системе MS-DOS. Подобное соглашение полезно, когда одна и та же программа должна управлять различными типами файлов. Например, компилятору языка С может быть предоставлен список файлов, которые он должен откомпилировать и скомпоновать, причем некоторые из этих файлов могут содержать программы на языке С, тогда как другие являться ассемблерными файлами. В этом случае именно по расширениям файлов компилятор сможет отличить одни файлы от других.

В отличии от UNIX система Windows, знает о расширениях файлов и назначает каждому расширению определенное значение. Пользователи (или процессы) могут регистрировать расширения в операционной системе, указывая программу, «владеющую» данным расширением. При двойном щелчке мыши на имени файла запускается программа, назначенная этому расширению, с именем файла в качестве параметра. Например, двойной щелчок мыши на file.doc запускает Microsoft Word, который открывает файл file.doc.