- •Модуль № 1.
- •Архитектура файловой системы
- •3. Системы управления файлами. Функции управления файлами. Организация файлов и доступ к ним.
- •Последовательный доступ к файлу
- •Прямой доступ к файлу
- •4. Понятие каталога. Структура каталогов
- •5. Структура магнитного диска. Главная и вторичная загрузочные записи
- •6. Процесс загрузки операционной системы.
- •7. Управление задачами. Виды исполняемых файлов. Структура исполняемых файлов
- •9. Дескрипторы процесса. Взаимодействующие и параллельные процессы.
- •10. Формальные системы и языки программирования. Способы задания языков. Цепочки символов. Операции над цепочками символов.
- •11. Формальные системы и языки программирования. Понятие языка. Формальное определение языка. Способы задания языков
- •В общем случае язык можно определить тремя способами:
- •12. Формальные системы и языки программирования. Синтаксис и семантика языка. Особенности языков программирования.
- •Особенности языков программирования:
- •13. Формальные системы и языки программирования. Понятие о грамматике языка. Классификация языков и грамматик.
- •Классификация языков и грамматик
- •14. Методы лексического, семантического и синтаксического анализа. Распознаватели. Задача разбора.
- •15. Методы лексического, семантического и синтаксического анализа Общая схема распознавателя. Виды распознавателей.
- •Виды распознавателей :
7. Управление задачами. Виды исполняемых файлов. Структура исполняемых файлов
Исполняемый файл (англ. executable file) — файл, содержащий программу в виде, в котором она может быть (после загрузки в память и настройки по месту) исполнена компьютером; Данные системы команд (программный код) некоторого аппаратно-программного комплекса, способного их исполнить, решая при этом, конечную полезную задачу.
Чаще всего он содержит двоичный машинный код, но может содержать и псевдокод, например байт-код или инструкции (скрипт) на интерпретируемом языке программирования, для исполнения которых требуется интерпретатор.
Исполнением бинарных файлов занимаются аппаратно- и программно-реализованные машины. К первым относятся например — процессоры семейств x86, SPARC или аппаратные части технологий Jazelle, PicoJava. Ко вторым — виртуальные машины, например,виртуальная машина Java, .NET Framework, VMware или программные части Jazelle, PicoJava. Формат бинарного файла определяется архитектурами исполняющих его машин.
Статус исполнимости файла чаще всего определяется принятыми соглашениями. Так, в одних операционных системах исполнимые файлы распознаются благодаря соглашению об именовании файлов (например, путём указания в имени расширения файла — .exe или.bin), тогда как в других исполнимые файлы обладают специфичными метаданными (например, битом разрешения execute в UNIX-подобных операционных системах).
В современных компьютерных архитектурах исполнимые файлы содержат большие объемы данных, не являющихся компьютерной программой: описание программного окружения, в котором программа может быть выполнена, данные для отладки программы, используемые константы, данные, которые могут потребоваться операционной системе для запуска процесса (например, рекомендуемый размер кучи), и даже описания структур окон графической подсистемы, используемых программой.
Зачастую исполнимые файлы содержат вызовы библиотечных функций, например, вызовы функций операционной системы. Таким образом, наряду с процессорозависимостью (машинозависимым является любой бинарный исполняемый файл, содержащий машинный код) исполняемым файлам может быть свойственна зависимость от версии операционной системы и её компонент.
9. Дескрипторы процесса. Взаимодействующие и параллельные процессы.
В операционной системе для реализации планирования процессов требуется дополнительная информация: идентификатор процесса, состояние процесса, данные о степени привилегированности процесса, место нахождения кодового сегмента и другая информация. В некоторых ОС (например, в ОС UNIX) информацию такого рода, используемую ОС для планирования процессов, называют дескриптором процесса.
Дескриптор процесса по сравнению с контекстом содержит более оперативную информацию, которая должна быть легко доступна подсистеме планирования процессов. Контекст процесса содержит менее актуальную информацию и используется операционной системой только после того, как принято решение о возобновлении прерванного процесса.
Очереди процессов представляют собой дескрипторы отдельных процессов, объединенные в списки. Таким образом, каждый дескриптор, кроме всего прочего, содержит по крайней мере один указатель на другой дескриптор, соседствующий с ним в очереди. Такая организация очередей позволяет легко их переупорядочивать, включать и исключать процессы, переводить процессы из одного состояния в другое.
