Охарактеризуйте понятия операционной системы. Назначение и функции операционной системы.
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ № 1
по дисциплине «Операционные системы»
I часть
Охарактеризуйте понятия операционной системы. Назначение и функции операционной системы.
ОС-комплекс системных и управляющих программ, предназначенных для наиболее эффективного использования всех ресурсов вычислительной системы и удобства работы с ней. Назначение ОС – организация вычислительного процесса в вычислительной системе, рациональное распределение вычислительных ресурсов между отдельными решаемыми задачи. ОС исполняет роль своеобразного интерфейса между пользователем и вычислительной системы(ВС).
Поясните последовательность операций, выполняемых каналом ввода - вывода.
Как правило периферийные устройства компьютеров делятся на устройства ввода, устройства вывода и внешние запоминающие устройства. Основной обобщающей характеристикой устройств ввода/вывода может служить скорость передачи данных. ОС выполняет операции ввода-вывода асинхронно, но представляет их для пользовательских программ в синхронной форме. одни устройства являются разделяемыми, а другие - выделенными
Объясните отказоустойчивость файловых и дисковых систем.
Диски и файловые системы, используемые для упорядоченного хранения данных на дисках, часто представляют собой последний «островок стабильности», на котором находит спасение пользователь после неожиданного краха системы, разрушившего результаты его труда. Однако те данные, которые пользователь записывал в течение своего сеанса работы на диск, останутся, скорее всего, нетронутыми. Вероятность того, что система при сбое питания или программной ошибке в коде какого-либо системного модуля будет делать осмысленные действия по уничтожению файлов на диске, пренебрежимо мала. Поэтому при перезапуске операционной системы после краха большинство данных, хранящихся в файлах на диске, по-прежнему корректны и доступны пользователю.
II часть
Обоснуйте значимость проверки, очистки, дефрагментации жесткого диска. Резервное копирование. Восстановление информации на жестком диске.
Для дефрагментации диска необходимо выполнить команду Пуск/Программы/Стандартные/Служебные и выбрать Дефрагментация диска, откроется окно диалога. В окне необходимо выбрать том для осуществления дефрагментации и щелкнуть на пиктограмме Анализ.
По результатам анализа состояния диска операционная система выдаст оценку использования диска до дефрагментации и заключение о целесообразности проведения дефрагментации. «Пуск | Все программы | Обслуживание | Архивация и восстановление». Меню в колонке слева — «Создать диск восстановления системы» и «Создание образа системы».
Дефрагментация диска — это процесс объединения фрагментированных данных тома (например, на жестком диске или запоминающем устройстве) для обеспечения более эффективной работы.
Перечислите регулярные выражения языка awk. Встроенные переменные языка awk. Переменные языка awk. Функции и другие возможности языка awk.
awk - это язык программирования, предназначенный для обработки файлов. Цель его разработки - облегчить постановку и решение многих задач, связанных с переработкой текстовой информации. awk выполняет следующие действия:
Генерирует отчеты; Сопоставляет шаблоны; Оценивает корректность данных; Фильтрует передаваемые данные.
Встроенные переменные
Переменная | Содержание | Значение по умолчанию |
ARGC | Число аргументов командной строки | - |
ARGV | Массив аргументов командной строки | - |
ENVIRON | Массив, содержащий переменные окружения | - |
FILENAME | Обрабатываемый входной файл | - |
FNR | Номер записи в текущем файле | - |
FS | Разделитель полей записи на вводе | пробел(ы) и/или табуляция |
NF | Число полей в текущей записи | - |
NR | Номер записи (общее число считанных записей) | - |
OFMT | Формат распечатки чисел | %.6g |
OFS | Разделитель полей записи на выводе (символ) | пробел(ы) и/или табуляция |
ORS | Разделитель записей на выводе AWK-программы (символ) | \0 |
RS | Разделитель записей на вводе (символ) | \0 |
RSTART | Позиция начала подстроки, найденной функцией match | - |
RLENGTH | Длина подстроки, найденной функцией match | - |
SUBSEP | Разделитель индексов в многомерных массивах | \034 |
Встроенные функции
BEGIN{print "Hello World!"; exit}
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ № 2
по дисциплине «Операционные системы»
I часть
- Раскройте состав, взаимодействие основных компонентов операционной системы. Типы операционных систем
Операционная система — это комплекс взаимосвязанных системных программ, назначение которого — организовать взаимодействие пользователя с компьютером и выполнение всех других программ.
Ядро – низкоуровневая основа любой операционной системы, выполняемая аппаратурой в особом привилегированном режиме. Ядро загружается в память один раз и находится в памяти резидентно – постоянно, по одним и тем же адресам.
Подсистема управления ресурсами– часть операционной системы, управляющая вычислительными ресурсами компьютера - оперативной и внешней памятью, процессором и др.
Управляющая программа– подсистема ОС, управляющая исполнением других программ и функционированием устройств ввода-вывода.
Существуют три наиболее популярных операционных систем для компьютеров: Microsoft Windows, Apple Mac Os X и Linux.
Типы ОС
Операционная система в режиме реального времени: Является многозадачной операционной системой, которая направлена на выполнение приложений реального времени. Операционные системы в режиме реального времени часто используют специализированные алгоритмы планирования таким образом, что они могут достичь детерминированного характера поведения.
Многопользовательские и однопользовательские операционные системы: Компьютерные операционные системы этого типа позволяют нескольким пользователям получать доступ в компьютерную систему одновременно
Многозадачность и однозадачность операционных систем: Когда разрешено запускать одновременно только одну программу, система группируются под категорией однозадачной системы, а в случае, если операционная система позволяет выполнение нескольких задач одновременно, классифицируется как многозадачная операционная система.
Распределенная операционная система: операционная система, которая управляет группой независимых компьютеров и делает их одним компьютером. Развитие сетевых компьютеров, которые могут быть связаны между собой, породило распределенные вычисления
Встроенные системы: Операционные системы, предназначенные для использования во встраиваемых компьютерных системах
Мобильная операционная система: Хотя она по функционалу и не является родом операционных систем, мобильная ОС, безусловно, важное упоминание в списке типов операционных систем.
Пакетная обработка и интерактивные системы: Пакетная обработка относится к исполнению компьютерных программ в «партиях» без ручного вмешательства. Интернет и сеть: В онлайн-обработке данных, пользователь остается в контакте с компьютером и процессы выполняются под управлением центрального процессора компьютера
II часть
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ № 3
по дисциплине «Операционные системы»
I часть
II часть
- Поясните работу с каталогами и файлами. Конвейер команд. Вызов справки по командам UNIX. Понятие виртуального терминала. Установка самых необходимых программ. Локализация системы.
Первым шагом на пути обеспечения параллельности уровня команд явилось создание конвейера команд. Идея конвейера команд была предложена в 1956 году С.А. Лебедевым. Команда подразделяется на несколько этапов, каждый из которых выполняется своей частью аппаратуры, причем, эти части могут работать параллельно. Если на выполнение каждого этапа расходуется одинаковое время (один такт), то на выходе процессора в каждый такт появляется результат очередной команды. Производительность при этом возрастает благодаря тому, что одновременно на различных ступенях конвейера выполняется несколько команд. Конвейерная обработка такого рода широко применяется во всех современных быстродействующих процессорах. Количество этапов, на которые конструкторы разбивают выполнение процессорной команды, может быть различным (в разных моделях процессоров х86 колеблется от 2 i8088 до 20 Pentium IV).
Многие команды являются самодокументированными и отображают справку по использованию при вызове команды с опцией --help, например, ls --help
Для обращения к определенному файлу или каталогу вам нужно указать путь, ведущий к этому каталогу или файлу. из MS DOS или Mac OS, существуют два способа указания пути:
Абсолютный путь
Введите полный путь от корневого каталога к соответствующему файлу или каталогу.
Относительный путь
Введите путь к соответствующему файлу или каталогу, используя текущий каталог как точку отправления. Подразумевается, что нужно указать уровни, по которым вы должны перемещаться вверх и вниз в дереве файловой системы для достижения целевого каталога файла, начиная с текущего каталога.
Виртуальный терминал - это все то же сочетание реальной клавиатуры и дисплея, которое при определенных условиях может выступать как самостоятельная машина. На каждом из наличных виртуальных терминалов может зарегистрироваться отдельный пользователь, и в его силах запускать там свои задачи, никак не влияющие на задачи пользователя, зарегистрировавшегося на другом виртуальном терминале.
Пакет включает в себя стандартные приложения, такие как браузер (Internet Explorer), почтовый клиент (Outlook Express или Windows Mail), музыкальный и видео проигрыватель (Windows Media Player). С помощью технологий COM и OLE их компоненты могут быть использованы в приложениях сторонних производителей. Эти продукты бесплатны, и могут быть свободно скачаны с официального сайта Microsoft, однако для установки некоторых из них необходимо иметь лицензионную версию Microsoft Windows. Запуск этих программ под другими операционными системами возможен только с помощью эмуляторов среды Windows (Wine), хотя такое их использование нарушает пользовательское соглашение
2. Охарактеризуйте язык программирования shell. Командные файлы. Более сложный пример командного файла на языке shell. Вызов справки по языку shell
В семействе операционных систем, совместимых с ОС UNIX, язык SHELL используется в качестве стандартного языка управления заданиями, т.е. является основным языком общения пользователя с системой.
SHELL широко применяется и в качестве языка разработки особых программ командных файлов.
Командный язык shell (в переводе - раковина, скорлупа) фактически есть язык программирования очень высокого уровня. На этом языке пользователь осуществляет управление компьютером. Обычно, после входа в систему вы начинаете взаимодействовать с командной оболочкой. Признаком того, что оболочка (shell) готова к приему команд служит выдаваемый ею на экран промптер.
В языке Shell версии 7 определение переменной содержит имя и значение: var = value.
Доступ к переменной - по имени со знаком $ спереди: fruit = apple (определение); echo $fruit (доступ); apple (результат echo). DAT=`date`
Если регистрационный справочник пользователя содержит файл .profile, то прежде чем с терминала будет принята хотя бы одна команда, интерпретатор выполняет этот файл (подразумевается, что файл .profile содержит команды)
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ № 4
по дисциплине «Операционные системы»
I часть
- Охарактеризуйте понятие программного интерфейса, его назначение. Виды интерфейсов.
Операционная система должна обеспечивать удобный интерфейс не только для прикладных программ, но и для человека, работающего за терминалом. Этот человек может быть конечным пользователем, администратором ОС или программистом. Современные ОС поддерживают развитые функции пользовательского интерфейса для интерактивной работы. Интерфейс - совокупность средств управления программой, а также совокупность способов воздействия на них. (меню, кнопки, линии прокрутки, иконки и т.д)
Графический многооконный пиктографический интерфейс. Представляет собой рабочий стол (DeskTop), на котором располагаются пиктограммы (значки или иконки программ). Все операции производятся, как правило, мышью. Для управления компьютером курсор мыши подводят к пиктограмме и запуск программы осуществляют щелчком левой кнопки мыши по пиктограмме. Это наиболее удобный и перспективный интерфейс, осебенно при работе с программами. Примеры: интерфейс с компьютеров Apple Macintosh, Windows 3.1, Windows 95/98, OS/2, XP, Vista.
Графический интерфейс пользователя (GUI – Graphics User Interface). Появление ОС и оболочек с развитыми диалоговыми графическими средствами (OS Macintosh, Windows 3.1, а особенно Windows 95/98/ME, а также NT/2000) и средств программирования, позволяющих создавать графические интерфейсы (FoxPro for Windows и пр.), а особенно – объектно–ориентированных систем программирования – привело к внедрению и широкому распространению элементов экранного интерфейса.
Командный (текстовый) интерфейс.Командная строка — приглашение оболочки, обозначающее готовность системы принимать команду пользователя, — в наиболее явной форме демонстрирует идею диалога. На каждую введенную команду пользователь получает ответ от системы: либо очередное приглашение, обозначающее, что команда выполнена и можно вводить следующую, либо сообщение об ошибке, представляющее собой высказывание системы о произошедших в ней событиях, адресованное пользователю. При работе в операционной среде с графическим интерфейсом происходящий диалог пользователя с системой не столь очевиден, хотя с точки зрения системы клик мышью в определенной области на экране аналогичен команде, введенной с клавиатуры, а ответ системы пользователю может быть представлен в виде диалогового окна.
Поясните алгоритмы обработки прерываний по вводу - выводу. Пример управления вводом – выводом.
Система прерываний позволяет компьютеру реагировать на внешние события, синхронизировать выполнение процессов и работу устройств ввода-вывода, быстро переходить с одной программы на другую. Механизм прерываний нужен для того, чтобы оповестить процессор о возникновении в вычислительной системе некоторого непредсказуемого события или события, которое не синхронизировано с циклом работы процессора.
Необходимость обеспечить программам возможность осуществлять обмен данными с внешними устройствами и при этом не включать в каждую двоичную программу соответствующий двоичный код, осуществляющий управление устройствами ввода/вывода, привела разработчиков к созданию системного программного обеспечения и, в частности, самих операционных систем.
Программирование задач управления вводом/выводом является наиболее сложным, требующим высокой квалификации, поэтому подпрограммы ввода/вывода:
- оформляли в виде системных библиотечных процедур;
- включили в операционную систему, чтобы не включать этот код в каждую программу, а только оформить обращение к нему.
- Системы программирования вставляют в машинный код необходимые библиотечные подпрограммы ввода/вывода и обращения к тем системным программным модулям, которые управляют операциями обмена между оперативной памятью и внешними устройствами.
Управление вводом/выводом – одна из основных функций любой операционной системы. Организация ввода/вывода в различных ОС имеет много общего, а реализация сильно отличается от системы к системе.
II часть
1.Раскройте этапы создания учетных записей пользователей. Первая программа на языке C/С++ в операционной системе UNIX. Перезагрузка и останов операционной системы.
Основным средством создания учетной записи пользователя служит Win32-функция NetUserAdd, принадлежащая семейству сетевых ( Net ) функций ОС Windows, подробное описание которой имеется в MSDN. При помощи Net -функций можно управлять учетными записями пользователей, как на локальной, так и на удаленной системе. Для успешного применения Net -функций достаточно знать следующее. Во-первых, Net -функции входят в состав библиотеки NetApi32.Lib, которую нужно явным образом добавить в проект, а прототипы функций объявлены в заголовочном файле Lm.h. Во-вторых, Net -функции поддерживают строки только в формате Unicode (см. лекцию 2). Наконец, информацию об учетной записиNet -функции нужно передавать с помощью специализированных структур, наименее сложная из которых структураUSER_INFO_1.
В отличие от начальной загрузки, которая осуществляется одним-единственным способом, останов и перезагрузку системы можно выполнить по-разному:
- выключить питание;
- дать команду shutdown;
- использовать команды halt и reboot (в BSD-системах и Linux);
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ № 5
по дисциплине «Операционные системы»
I часть
Сервисные программы
Файловые менеджеры - Norton Commander, FAR, DISCo Commander.
Архиваторы - WinRAR, WinZip.
Антивирусы - Doctor Web, Kaspersky AntiVirus, Norton AntiVirus
Программы зашиты информации, в т.ч. шифрования данных - Secret Disk, КриптоОфис.
Брандмауэры (межсетевые экраны) - Застава, Z-2.
К сервисным программам относят различные утилиты в основном по обслуживанию дисков и файловой системы, в т.ч. форматирование дисков, обеспечение сохранности информации, возможности ее восстановления в случае сбоя, предоставление информации о ресурсах компьютера, распределении оперативной памяти между программами. Из утилит наиболее известен многофункциональный комплекс Norton Utilites.
Имеются версии сервисных программ для рабочих станций (ПК) и серверов, различных операционных систем. Для защиты информации применяются программные и аппаратные средства. Например, система защиты
конфедициальной информации Secret Disk используется с ключом HASP, с ключ ем для US В-порта (электронный брелок), смарткартой с внутренним или внешним карт-ридером для параллельного/последовательного порта
Поясните механизм разделения центральной памяти. Разделение памяти на разделы. Распределение памяти с разделами фиксированного размера. Распределения памяти с разделами переменного и фиксированного размера.
Памятью ЭВМ называется совокупность устройств, служащих для запоминания, хранения и выдачи информации.
Функциями ОС по управлению памятью являются:
• отслеживание свободной и занятой памяти,
• выделение памяти процессам и освобождение памяти при завершении процессов,
• вытеснение процессов из оперативной памяти на диск, когда размеры основной памяти не достаточны для размещения в ней всех процессов, и возвращение их в оперативную память, когда в ней освобождается место,
• настройка адресов программы на конкретную область физической памяти.
Самым простым способом управления оперативной памятью является разделение ее на несколько разделов фиксированной величины.
Распределение памяти разделами переменной величины.
В этом случае память машины не делится заранее на разделы. Сначала вся память свободна. Каждой вновь поступающей задаче выделяется необходимая ей память. Если достаточный объем памяти отсутствует, то задача не принимается на выполнение и стоит в очереди. После завершения задачи память освобождается, и на это место может быть загружена другая задача
Перемещаемые разделы. Сжатие может выполняться либо при каждом завершении задачи, либо только тогда, когда для вновь поступившей задачи нет свободного раздела достаточного размера. В первом случае требуется меньше вычислительной работы при корректировке таблиц, а во втором - реже выполняется процедура сжатия. Так как программы перемещаются по оперативной памяти в ходе своего выполнения, то преобразование адресов из виртуальной формы в физическую должно выполняться динамическим способом.
Сегментное распределение. При загрузке процесса часть сегментов помещается в оперативную память (при этом для каждого из этих сегментов операционная система подыскивает подходящий участок свободной памяти), а часть сегментов размещается в дисковой памяти. Сегменты одной программы могут занимать в оперативной памяти несмежные участки. Во время загрузки система создает таблицу сегментов процесса (аналогичную таблице страниц), в которой для каждого сегмента указывается начальный физический адрес сегмента в оперативной памяти, размер сегмента, правила доступа, признак модификации, признак обращения к данному сегменту за последний интервал времени и некоторая другая информация. Если виртуальные адресные пространства нескольких процессов включают один и тот же сегмент, то в таблицах сегментов этих процессов делаются ссылки на один и тот же участок оперативной памяти, в который данный сегмент загружается в единственном экземпляре.
Этап – персональные ОС
Развитие ОС:
Unix (первая операционная система)
-> BSD - свободная ОС с открытым кодом (до нас дожили NetBSD, OpenBSD, FreeBSD) - серверные ОС
II часть
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ № 6
по дисциплине «Операционные системы»
I часть
II часть
Поясните, что такое система. Файл fstab. Проверка файловой системы (программа fsck). (ОС FreeBSD)
Система— объективное единство закономерно связанных друг с другом предметов, явлений, а также знаний о природе и обществе. Система есть совокупность или множество связанных между собой элементов. Элементы системы могут представлять собой понятия, в этом случае мы имеем дело с понятийной системой (инструмент познания).
fstab - файл, содержащий список файловых систем, которые монтируются (т. е. подключаются) при загрузке ОС. Полный путь к файлу - /etc/fstab. Этот файл можно открыть в любом текстовом редакторе, но редактировать его возможно только от имени супер пользователя, т.к. файл является важной, неотъемлемой частью системы, без него система не загрузится.
sck расшифровывается как «файловая система Проверка целостности» На большинстве систем, Fsck запускается во время загрузки, если определенные условия.
Fsck как правило, имеет три режима работы:
- Проверка на наличие ошибок и подсказывает пользователю интерактивное решение, как решить индивидуальные проблемы;
- Проверка на наличие ошибок и постарается автоматически исправить все ошибки;
- Проверка на наличие ошибок без возможности восстановить их, но тогда выдаст ошибки на стандартный вывод.
Код выхода возвращается FSCK это уникальный номер, представляющего собой сумму следующих значений состояния:
0 — Без ошибок (No errors ).
1 — Исправлены ошибки файловой системы
2 — Система должна быть перезагружена
4 — Ошибки файловой системы оставили без изменений
8 — Эксплуатационная ошибка
16 — Ошибки при использовании или синтаксические ошибки
32 — Fsck отменен по запросу пользователя
128 — Ошибка общей библиотеки
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №7
по дисциплине «Операционные системы»
I часть
II часть
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ № 8
по дисциплине «Операционные системы»
I часть
II часть
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ № 9
по дисциплине «Операционные системы»
I часть
NTFS FAT 32
Файловая система ОС должна предоставлять пользователям набор операций для работы с файлами, оформленный в виде системных вызовов. В различных ОС имеются различные наборы файловых операций. Наиболее часто встречающимися системными вызовами для работы с файлами являются:
1.Create (создание). Файл создается без данных. Этот системный вызов объявляет о появлении нового файла и позволяет установить некоторые его атрибуты;
2.Delete (удаление). Ненужный файл удаляется, чтобы освободить пространство на диске;
3.Olien (открытие). До использования файла его нужно открыть. Данный вызов позволяет прочитать атрибуты файла и список дисковых адресов для быстрого доступа к содержимому файла;
4.Close (закрытие). После завершения операций с файлом его атрибуты и дисковые адреса не нужны. Файл следует закрыть, чтобы освободить пространство во внутренней таблице;
5.Read (чтение). Файл читается с текущей позиции. Процесс, работающий с файлом, должен указать (открыть) буфер и количество читаемых данных;
6.Write (запись). Данные записываются в файл в текущую позицию. Если она находится в конце файла, его размер автоматически увеличивается. В противном случае запись производится поверх существующих данных;
7.Append (добавление). Это усеченная форма предыдущего вызова. Данные добавляются в конец файла;
8. Seek (поиск). Данный системный вызов устанавливает файловый указатель в определенную позицию;
9.Get attributes (получение атрибутов). Процессам для работы с файлами бывает необходимо получить их атрибуты;
10.Set attributes (установка атрибутов). Этот вызов позволяет установить необходимые атрибуты файлу после его создания;
11.Rename (переименование). Этот системный вызов позволяет изменить имя файла. Однако такое действие можно выполнить копированием файла. Поэтому данный системный вызов не является необходимым;
12.Execute (выполнить). Используя этот системный вызов, файл можно запустить на выполнение.
Пользователи обращаются к файлам по символьным именам. Однако, если файлов очень много, а способности человеческой памяти ограничены, пользователю сложно запомнить все имена файлов и найти нужный файл среди многих сотен файлов. Иерархическая организация пространства имен позволяет значительно упростить эти задачи. Именно поэтому большинство файловых систем имеет иерархическую структуру, в которой уровни создаются за счет того, что каталог более низкого уровня может входить в каталог более высокого уровня
Логическая модель файловой системы материализуется в виде дерева каталогов, выводимого на экран такими утилитами, как Norton Commander или Windows Explorer, в символьных составных именах файлов, в командах работы с файлами. Базовым элементом этой модели является файл, который так же, как и файловая система в целом, может характеризоваться как логической, так и физической структурой.
Файловые системы поддерживают несколько функционально различных типов файлов: обычные файлы, файлы-каталоги, специальные файлы, именованные конвейеры, отображаемые в память файлы и другие.
Обычные файлы, или просто файлы, содержат информацию произвольного характера, которую заносит в них пользователь или которая образуется в результате работы системных и пользовательских программ.
Каталоги – это особый тип файлов, которые содержат системную справочную информацию о наборе файлов, сгруппированных пользователями по какому-либо неформальному признаку.
Специальные файлы – это фиктивные файлы, ассоциированные с устройствами ввода-вывода, которые используются для унификации механизма доступа к файлам и внешним устройствам
II часть
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ № 10
по дисциплине «Операционные системы»
I часть
Поясните физическую организацию файловой системы. Файловые операции. Контроль доступа к файлам. Примеры файловых систем.
Файловая система - это часть операционной системы, назначение которой состоит в том, чтобы обеспечить пользователю удобный интерфейс при работе с данными, хранящимися на диске, и обеспечить совместное использование файлов несколькими пользователями и процессами.
Важным компонентом физической организации файловой системы является физическая организация файла, то есть способ размещения файла на диске. Основными критериями эффективности физической организации файлов являются:
* скорость доступа к данным;
* объем адресной информации файла;
* степень фрагментированности дискового пространства;
* максимально возможный размер файла.
Файловая система ОС должна предоставлять пользователям набор операций для работы с файлами, оформленный в виде системных вызовов. В различных ОС имеются различные наборы файловых операций. Наиболее часто встречающимися системными вызовами для работы с файлами являются [13, 17]:
Creat (создание). Файл создается без данных. Этот системный вызов объявляет о появлении нового файла и позволяет установить некоторые его атрибуты;
Delete (удаление). Ненужный файл удаляется, чтобы освободить пространство на диске;
Olien (открытие). До использования файла его нужно открыть. Данный вызов позволяет прочитать атрибуты файла и список дисковых адресов для быстрого доступа к содержимому файла;
Close (закрытие). После завершения операций с файлом его атрибуты и дисковые адреса не нужны. Файл следует закрыть, чтобы освободить пространство во внутренней таблице;
Read (чтение). Файл читается с текущей позиции. Процесс, работающий с файлом, должен указать (открыть) буфер и количество читаемых данных;
Write (запись). Данные записываются в файл в текущую позицию. Если она находится в конце файла, его размер автоматически увеличивается. В противном случае запись производится поверх существующих данных;
Append (добавление). Это усеченная форма предыдущего вызова. Данные добавляются в конец файла;
Seek (поиск). Данный системный вызов устанавливает файловый указатель в определенную позицию;
Get attributes (получение атрибутов). Процессам для работы с файлами бывает необходимо получить их атрибуты;
Set attributes (установка атрибутов). Этот вызов позволяет установить необходимые атрибуты файлу после его создания;
Rename (переименование). Этот системный вызов позволяет изменить имя файла. Однако такое действие можно выполнить копированием файла. Поэтому данный системный вызов не является необходимым;
Execute (выполнить). Используя этот системный вызов, файл можно запустить на выполнение.
Используется традиционно для Linux.
ОсобенностиEXT2:
- Размер блока 1кб.
- Размер каждого узла 128 байт
- Создание новых каталогов распределяется равномерно по группам блоков, что бы в каждой группе было одинаковое кол-во каталогов.
- Новый файл создаются в группе где находиться каталог.
- При увеличении файлов система старается новые блоки записывать ближе к старым благодаря этому в файловую систему не нужно дефрагментировать.
В отличии от EXT2 , EXT3 является журналируемой файловой системой.
ReiserFS
Файловая система этого типа похоже скорее на базу данных. Подходит для хранения огромного числа маленьких файлов.
XFS
Особенности:
- Подходит для хранения очень больших файлов.
- Имеет возможность выноса журнала на другой диск для повышения производительности.
- Сохраняет данные кэша только при переполнении памяти, а не периодически.
- Используется логическое журналирование.
SWAPFS
Используется для организации на диски в области подкачки.
Для IBM
JFS
Для файловых серверов с высокой нагрузкой.
Особенности:
- Соответствует классической модели транзакции. Применяется в БД.
- Размер журнала не более 32 мб.
Для Windows
FAT32
Максимальный размер файла 4 гб.
NTFS
Нету максимального размера файлов.
II часть
Охарактеризуйте понятие о системе syslog и файлы регистрации (файлы-журналы). Запуск и останов системы. (ОС FreeBSD)
Syslog (англ. system log — системный журнал) — стандарт отправки и регистрации сообщений о происходящих в системе событиях (то есть создания логов), использующийся в компьютерных сетях, работающих по протоколу IP. Термином «syslog» называют как ныне стандартизированный сетевой протокол syslog, так и программное обеспечение (приложение, библиотека), которое занимается отправкой/получением системных сообщений. Syslog был создан на платформеBSD и получил широкое распространение наUNIX и GNU/Linux-платформах.
Выход из системы EXIT или ctrl+D
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ № 11
по дисциплине «Операционные системы»
I часть
Избежание взаимоблокировок
Состояние безопасно, если оно не находиться в тупике и существует некоторый порядок в планировщике в котором каждый процесс защищен (даже если все процессы захотят получить максимальное кол-во ресурсов).
II часть
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ № 12
по дисциплине «Операционные системы»
I часть
1. Поясните необходимость Введения и планирования. Категории алгоритмов планирования. Задачи алгоритмов планирования
Планировщик-это часть операционной системы, принимающая решения о том к какому из процессов предоставить процессор.
Категории алгоритмов планирования:
Без переключений (не приоритетные). Выбранный процесс не будет прерываться планировщиком до тех пор, пока сам не отдаст процессор или не будет заблокирован. Решения планировщика не принимаются по прерываниям, от таймера управления передается приостановленному процессу.
С переключением выбранный процесс работает в течении какого-либо фиксированного промежутка времени. Если по истечению промежутка времени есть другие процессы в очереди, а текущий все еще работает, он приостанавливается и управление передается другому процессу.
Задачи алгоритмов планирования для всех систем
Справедливость-предоставление каждому процессу справедливой долей процессорного времени.
Принудительное применении политики-контроль за выполнение принятой политики.
Баланс-поддержка занятости всех частей системы.
II часть
Перечислите этапы копирования файлов на ваш компьютер с другого компьютера (ОС FreeBSD)
Копирование файлов на ваш компьютер с другого компьютера этого раздела также можно выполнять и на одном компьютере, при этом вместо имени компьютера your.machine.ru вводите слово localhost. Запустите программу ftp (file transfer protocol), введя команду ftp your.machine.ru. В этой команде your.machine.ru означает имя компьютера, с которого вы будете копировать файлы (или просто localhost в домашних условиях). Вам будет предложено ввести имя пользователя (вы увидите при- глашение Name:). Введите имя stud, а затем пароль, который вы назначили этому пользователю. Если вы не ошиблись при вводе, то получите сообщение: User stud logged in. Вы подключились к другому компьютеру. Если даже вы выполняете это задание на одном компьютере, все равно все операции выглядят так, как если бы вы работали в компьютерной сети. Так что вы получите достоверное представление о работе в сети. Теперь можно просмотреть содержимое каталога на удаленной машине с помощью команды ls, узнать имя текущего каталога с помощью команды pwd. Для перехода из одного каталога в другой используйте команду cd имя_каталога Для того чтобы скопировать какой-либо файл с другого компьютера на ваш компьютер, введите команду get имя_файла ПРИМЕЧАНИЕ. При работе на одном компьютере нужно учитывать, что файлы, которые вы копируете командой get, будут помещаться в тот каталог, из которого вы запускали программу ftp. Если имя файла длинное, то можно ввести лишь первые символы имени и нажать клавишу Tab – программа ftp дополнит имя файла сама. Однако в том случае, когда имеется несколько файлов с такой комбинацией символов в начале их имен, вам будет показан список таких файлов. Тогда нужно вве