
- •1.Классификация программного обеспечения эвм
- •2)Второе свойство по – переносимость. Если спо можно ставить на вычислительные системы различной архитектуры то оно переносимо. 3) Третье свойство по – Вариабельность.
- •Транслятор – переводит исходный модуль, написанный на языке высокого уровня в объектный код.
- •3.Структура ос и основные понятия ос
- •4.Управление процессами
- •Procedure dispach:
- •5.Управляет процессами (нитями) – диспетчер процессов.
- •Procedure dispach:
- •If esbFlag Procedure Wait (esb);
- •If esbFlag
- •6.Обслуживание ввода-вывода
- •1990–1994: Windows 3.0–Windows nt — поддержка графики
- •7.Файловая система (фс)
- •Интерфейс Windows 7
- •8.Управление памятью
- •9.Управление ресурсами в ос
- •If Allocator(k,pd) then
- •1) Компьютеры выполняют 2 функции:
- •4) Файлы и файловые системы
- •11.Основные понятия и концепции виртуальной памяти
- •12.Мультипроцессорные системы
- •13.Механизм управления и средства взаимодействия параллельных процессов
- •1)Задача взаимного исключения.
- •2)Задача производитель-потребитель.
- •3)Задача читатели-писатели.
- •4)Задача «Обедающие философы».
- •14.Семафорная техника синхронизации и упорядочивания процессов
- •1.Файловая система hpfs (High Performance File System)
- •15.Тупики
- •16. Графы распределения ресурсов
- •17.Восстановление после тупиков
- •18.Логическая организация файла
- •19.Файловая система (фс)
- •20.Файловая система hpfs (High Performance File System)
- •21.Физическая организация и адресация файла
- •22.Ntfs – New Technology File System
- •23.Логическая организация файла
- •24.Классификация прерываний.
- •25.Тупики и редукция графов
23.Логическая организация файла
В общем случае данные в файле имеют некоторую логическую структуру. Эта структура является базой при разработке программы, предназначенной для обработки этого файла.
Поддержание структуры данных может быть целиком возложено на: 1)приложение (это реальная программа). 2)саму ФС
1) В первом случае, когда все действия по интерпретации структуризации содержимого файла целиком относится к ведению приложения, и файл представляется ФС неструктурированной последовательностью данных.
Приложение формирует запросы к ФС, используя общие для всех приложений системные средства (например, указывает смещение относительно начала файла и кол-во байтов, которые необходимо считать/записать).
2) Другая модель, которая применяется в ОС: OS/360, DFC RSX, VMS, а в настоящее время используется редко – это структурированный файл.
В этом случае поддержание структуры файла поручается ФС. ФС видит файл как упорядоченную последовательность логических записей. Приложение может обращаться к ФС с запросом на В/В на уровне записей (н-р, считать запись №25 из файла FILE.DOC).
Причем ФС должно обладать информацией о структуре файла, достаточной для того, чтобы выделить любую запись. ФС предоставляет приложению доступ к записи, а вся дальнейшая обработка данных в записи выполняется в приложении.
Развитием этого подхода стали СУБД. СУБД поддерживают не только сложную структуру данных, но и взаимосвязи между ними.
Логическая запись является наименьшим элементом данных, которой может оперировать программист при организации обмена с внешними устройствами.
ФС может использовать 2 способа доступа к логическим записям:
1)последовательный доступ. 2)прямой доступ (например, позиционировать файл на запись с указанным номером)
Файлы, доступ к записям которых осуществляется последовательно, по номерам позиций, называются неиндексированными, последовательными.
Физическая организация и адресация файла
Важным компонентом физической организации ФС является физическая организация файла, то есть реальное расположение кластеров на диске. Основными критериями эффективности физической организации файла являются:
>Скорость доступа к данным
<Объем адресной информации о файле
<Степень фрагментированности дискового пространства
>Максимально возможный размер файла
Способы:1) Непрерывное размещение – простейший вариант физической организации файлов, при котором файл представляется как непрерывная последовательность кластеров диска, образующая непрерывный участок на диске.
1 кластер = 1-8 секторов, 1 сектор = 512 байт
Основное достоинство: высокая скорость доступа и максимально возможный размер файла. Имеет недостатки, которые ограничивают действие на практике: - Для увеличения размера файла требуется дополнительная память, и файл разбивается на части; - При удалении возникает фрагментация, и пространство диска превращается в лоскутное одеяло с маленьким объемом памяти. 2) Размещения файла в списке кластеров в дисковой памяти. При таком способе в начале каждого кластера содержится указатель на начало следующего. В этом случае адресная информация минимальна, т.к. информация о файле задана числом, указывающим адрес следующего кластера, и каждый кластер может быть присоединен к любому кластеру какого-либо файла, и поэтому фрагментация на уровне кластеров отсутствует. Файл может наращивать свой размер, наращивая число кластеров. Недостаток: сложность реализации доступа к произвольно заданному месту файла. 3) Таблица размещения файлов (FAT - “File Allocation Table”).
Использование связанного списка индексов. Этот способ – модифицирование размера файла в списке кластеров. Для файла выделяется память в виде связанного списка кластеров, номер первого кластера запоминается в записи каталога, где хранятся другие характеристики этого файла (с каждым кластером диска связан индекс). Индексы расположены в отдельной области диска. Для MS DOS – таблица FAT, занимающая один кластер.
4) Задание файла размещения. Файл на диске задается в простом перечислении кластеров файла. Недостатки: длина адреса зависит от размера файла. Для больших файлов он может быть значительно больше. Достоинства: - высокая скорость доступа к произвольному кластеру файла (прямая адресация исключает просмотр цепочки указателей при поиске произвольной записи файла). - Фрагментация на уровне файлов отсутствует. Последний подход с некоторыми модификациями используется в традиционных системах типа UNIX.
2.Командный интерпретатор Shell
Интерпретатор команд shell (оболочка) обеспечивает интерфейс пользователь-ядро при введении пользователем команд с терминала. Интерпретирует также команды, вводимые из командного файла.
Большинство современных shell обладают рядом дополнительных возможностей: удобное редактирование командной строки, история вводимых команд и т.д. В Linux известно большое количество shell’ов.
Самыми популярными являются:
bash - Bourne Again Shell,
csh - C Shell,
ksh - Korn Shell.
Аналогом shell в операционной системе MS-DOS является COMMAND.COM.
Оболочка Bourne Again Shell запускается командой bash, C Shell командой csh, Korn Shell командой ksh.
Когда пользователь входит в систему, указывая свой пароль, автоматически запускается shell.
Большинство оболочек закрываются путем ввода спец. команд logout, exit, bye или quit (одна из них действует всегда). При выполнении команды система возвращается к исходному состоянию, т.е. выдается запрос имени пользователя и пароля.
Ввод и вывод команд
Командная оболочка сохраняет команды, которые вы набирали ранее, в так называемой истории команд (command history), в файле с названием .bash_history, который расположен в домашнем каталоге. Для извлечения команд из истории команд, следует использовать клавиши ( вверх ) и ( вниз ).
Командная оболочка bash может сохранить до 1000 команд.
Стандартные ввод и вывод
Каждая команда получает в свое распоряжение от shell три канала: Стандартный ввод ( stdin ). По этому каналу вводятся данные в программу. Стандартный вывод ( stdout ). По этому каналу выводятся данные.
Стандартный вывод ошибок ( stderr ). По этому каналу программы выдают информацию и наличие ошибок.
Обычно все эти каналы связаны с монитором и клавиатурой.
Изменение направления ввода и вывода данных
Согласно принципам работы Linux, стандартный ввод можно переназначить. Например: prog < file. Символ < говорит, что стандартный ввод для программы prog переназначается, и данные будут браться не с клавиатуры терминала, а из файла file. Переназначение стандартного вывода: prog > file .Т. е. выводимые данные перенаправляются в файл file. При этом исходное содержание файла file заменяется.
Конвейеры команд
Стандартный вывод одной команды может быть стандартным вводом следующей команды. Обозначается знаком | (вертикальная черта). Последовательность команд, соединённых таким образом, называется конвейером.