рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

История эволюции вычислительных и операционных систем, основные функции, классических операционных систем в процессе эволюции

История эволюции вычислительных и операционных систем, основные функции, классических операционных систем в процессе эволюции - раздел История, История Эволюции Вычислител...

История эволюции вычислительных и операционных систем, основные функции, классических операционных систем в процессе эволюции

Первый период (1945–1955 гг.). Ламповые машины. Операционных систем нет

Первые шаги в области разработки электронных вычислительных машин были предприняты в конце Второй мировой войны. В середине 40-х были созданы первые ламповые вычислительные устройства и появился принцип программы, хранящейся в памяти машины (John Von Neumann, июнь 1945 г.). Программирование осуществлялось исключительно на машинном языке. Об операционных системах не было и речи, все задачи организации вычислительного процесса решались вручную каждым программистом с пульта управления. Программа загружалась в память машины в лучшем случае с колоды перфокарт, а обычно с помощью панели переключателей.

Вычислительная система выполняла одновременно только одну операцию (ввод-вывод или собственно вычисления). Отладка программ велась с пульта управления с помощью изучения состояния памяти и регистров машины. В конце этого периода появляется первое системное программное обеспечение: в 1951–1952 гг. возникают прообразы первых компиляторов с символических языков (Fortran и др.), а в 1954 г. Nat Rochester разрабатывает Ассемблер для IBM-701.

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

Второй период (1955 г.–начало 60-х). Компьютеры на основе транзисторов. Пакетные операционные системы

С середины 50-х годов начался следующий период в эволюции вычислительной техники, связанный с появлением новой технической базы – полупроводниковых элементов. Применение транзисторов вместо часто перегоравших электронных ламп привело к повышению надежности компьютеров. Теперь машины могут непрерывно работать достаточно долго, чтобы на них можно было возложить выполнение практически важных задач. Снижается потребление вычислительными машинами электроэнергии, совершенствуются системы охлаждения. Размеры компьютеров уменьшились. Снизилась стоимость эксплуатации и обслуживания вычислительной техники. Началось использование ЭВМ коммерческими фирмами. Одновременно наблюдается бурное развитие алгоритмических языков (LISP, COBOL, ALGOL-60, PL-1 и т.д.). Появляются первые настоящие компиляторы, редакторы связей, библиотеки математических и служебных подпрограмм. Упрощается процесс программирования. Пропадает необходимость взваливать на одних и тех же людей весь процесс разработки и использования компьютеров. Именно в этот период происходит разделение персонала на программистов и операторов, специалистов по эксплуатации и разработчиков вычислительных машин.

Изменяется сам процесс прогона программ. Теперь пользователь приносит программу с входными данными в виде колоды перфокарт и указывает необходимые ресурсы. Такая колода получает название задания. Оператор загружает задание в память машины и запускает его на исполнение. Полученные выходные данные печатаются на принтере, и пользователь получает их обратно через некоторое (довольно продолжительное) время.

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

Третий период (начало 60-х – 1980 г.). Компьютеры на основе интегральных микросхем. Первые многозадачные ОС

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

Повышению эффективности использования процессорного времени мешает низкая скорость работы механических устройств ввода-вывода. Вместо непосредственного чтения пакета заданий с перфокарт в память начинают использовать его предварительную запись, сначала на магнитную ленту, а затем и на диск. Когда в процессе выполнения задания требуется ввод данных, они читаются с диска. Точно так же выходная информация сначала копируется в системный буфер и записывается на ленту или диск, а печатается только после завершения задания. Вначале действительные операции ввода-вывода осуществлялись в режиме off-line, то есть с использованием других, более простых, отдельно стоящих компьютеров. В дальнейшем они начинают выполняться на том же компьютере, который производит вычисления, то есть в режиме on-line. Такой прием получает название spooling или подкачки-откачки данных.

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

Дальнейшее повышение эффективности использования процессора было достигнуто с помощью мультипрограммирования. Идея мультипрограммирования заключается в следующем: пока одна программа выполняет операцию ввода-вывода, процессор не простаивает, как это происходило при однопрограммном режиме, а выполняет другую программу. Когда операция ввода-вывода заканчивается, процессор возвращается к выполнению первой программы. Эта идея напоминает поведение преподавателя и студентов на экзамене. Пока один студент (программа) обдумывает ответ на вопрос (операция ввода-вывода), преподаватель (процессор) выслушивает ответ другого студента (вычисления). Естественно, такая ситуация требует наличия в комнате нескольких студентов. Точно так же мультипрограммирование требует наличия в памяти нескольких программ одновременно. При этом каждая программа загружается в свой участок оперативной памяти, называемый разделом, и не должна влиять на выполнение другой программы. роль аппаратной поддержки:

· Реализация защитных механизмов. Программы не должны иметь самостоятельного доступа к распределению ресурсов, что приводит к появлению привилегированных и непривилегированных команд. Привилегированные команды, например команды ввода-вывода, могут исполняться только операционной системой. Говорят, что она работает в привилегированном режиме. Переход управления от прикладной программы к ОС сопровождается контролируемой сменой режима. Кроме того, это защита памяти, позволяющая изолировать конкурирующие пользовательские программы друг от друга, а ОС – от программ пользователей.

· Наличие прерываний. Внешние прерывания оповещают ОС о том, что произошло асинхронное событие, например завершилась операция ввода-вывода. Внутренние прерывания (сейчас их принято называть исключительными ситуациями) возникают, когда выполнение программы привело к ситуации, требующей вмешательства ОС, например деление на ноль или попытка нарушения защиты.

· Развитие параллелизма в архитектуре. Прямой доступ к памяти и организация каналов ввода-вывода позволили освободить центральный процессор от рутинных операций.

роль операционной системы. Она отвечает за следующие операции.

· Организация интерфейса между прикладной программой и ОС при помощи системных вызовов.

· Организация очереди из заданий в памяти и выделение процессора одному из заданий потребовало планирования использования процессора.

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

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

· Организация хранения информации на внешних носителях в виде файлов и обеспечение доступа к конкретному файлу только определенным категориям пользователей.

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

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

Появление электронно-лучевых дисплеев и переосмысление возможностей применения клавиатур поставили на очередь решение этой проблемы. Логическим расширением систем мультипрограммирования стали time-sharing системы, или системы разделения времени1). В них процессор переключается между задачами не только на время операций ввода-вывода, но и просто по прошествии определенного времени. Эти переключения происходят так часто, что пользователи могут взаимодействовать со своими программами во время их выполнения, то есть интерактивно. В результате появляется возможность одновременной работы нескольких пользователей на одной компьютерной системе. У каждого пользователя для этого должна быть хотя бы одна программа в памяти. Чтобы уменьшить ограничения на количество работающих пользователей, была внедрена идея неполного нахождения исполняемой программы в оперативной памяти. Основная часть программы находится на диске, и фрагмент, который необходимо в данный момент выполнять, может быть загружен в оперативную память, а ненужный – выкачан обратно на диск. Это реализуется с помощью механизма виртуальной памяти. Основным достоинством такого механизма является создание иллюзии неограниченной оперативной памяти ЭВМ.

В системах разделения времени пользователь получил возможность эффективно производить отладку программы в интерактивном режиме и записывать информацию на диск, не используя перфокарты, а непосредственно с клавиатуры. Появление on-line-файлов привело к необходимости разработки развитых файловых систем. Первым семейством программно совместимых компьютеров, построенных на интегральных микросхемах, стала серия машин IBM/360.

Четвертый период (с 1980 г. по настоящее время). Персональные компьютеры. Классические, сетевые и распределенные системы

Следующий период в эволюции вычислительных систем связан с появлением больших интегральных схем (БИС). В эти годы произошло резкое возрастание степени интеграции и снижение стоимости микросхем. Компьютер, не отличающийся по архитектуре от PDP-11, по цене и простоте эксплуатации стал доступен отдельному человеку, а не отделу предприятия или университета. Наступила эра персональных компьютеров. Первоначально персональные компьютеры предназначались для использования одним пользователем в однопрограммном режиме, что повлекло за собой деградацию архитектуры этих ЭВМ и их операционных систем

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

В середине 80-х стали бурно развиваться сети компьютеров, в том числе персональных, работающих под управлением сетевых или распределенных операционных систем.

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

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

Функции классические операционные системы в процессе эволюции:

· Планирование заданий и использования процессора.

· Обеспечение программ средствами коммуникации и синхронизации.

· Управление памятью.

· Управление файловой системой.

· Управление вводом-выводом.

· Обеспечение безопасности

Основные понятия, концепции ОС. Классификация ОС

Системные вызовы

Системные вызовы (system calls) – это интерфейс между операционной системой и пользовательской программой. Они создают, удаляют и используют… Основное отличие состоит в том, что при системном вызове задача переходит в… В этом режиме работает код ядра операционной системы, причем исполняется он в адресном пространстве и в контексте…

Прерывания

Исключительные ситуации

Файлы

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

Главная задача файловой системы (file system) – скрыть особенности ввода-вывода и дать программисту простую абстрактную модель файлов, независимых от устройств. Для чтения, создания, удаления, записи, открытия и закрытия файлов также имеется обширная категория системных вызовов (создание, удаление, открытие, закрытие, чтение и т.д.). Пользователям хорошо знакомы такие связанные с организацией файловой системы понятия, как каталог, текущий каталог, корневой каталог, путь. Для манипулирования этими объектами в операционной системе имеются системные вызовы.

Процессы, нити

Монолитное ядро

Во многих операционных системах с монолитным ядром сборка ядра, то есть его компиляция, осуществляется отдельно для каждого компьютера, на который… Монолитное ядро – старейший способ организации операционных систем. Примером… Даже в монолитных системах можно выделить некоторую структуру. Как в бетонной глыбе можно различить вкрапления…

Многоуровневые системы (Layered systems)

Слоеные системы хорошо реализуются. При использовании операций нижнего слоя не нужно знать, как они реализованы, нужно лишь понимать, что они…

Виртуальные машины

Первой реальной системой такого рода была система CP/CMS, или VM/370, как ее называют сейчас, для семейства машин IBM/370. Недостатком таких операционных систем является снижение эффективности…

Микроядерная архитектура

Остальные компоненты системы взаимодействуют друг с другом путем передачи сообщений через микроядро. Основное достоинство микроядерной архитектуры – высокая степень модульности… В то же время микроядерная архитектура операционной системы вносит дополнительные накладные расходы, связанные с…

Классификация ОС

Реализация многозадачности

· многозадачные (Unix, OS/2, Windows); · однозадачные (например, MS-DOS). Многозадачная ОС, решая проблемы распределения ресурсов и конкуренции, полностью реализует мультипрограммный режим в…

Поддержка многопользовательского режима

По числу одновременно работающих пользователей ОС можно разделить на:

· однопользовательские (MS-DOS, Windows 3.x);

· многопользовательские (Windows NT, Unix).

Наиболее существенное отличие между этими ОС заключается в наличии у многопользовательских систем механизмов защиты персональных данных каждого пользователя.

Многопроцессорная обработка

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

Системы реального времени

Они используются для управления различными техническими объектами или технологическими процессами. Такие системы характеризуются предельно…  

Понятие процесса. Состояния процесса.

Понятие процесса

Понятие процесса характеризует некоторую совокупность набора исполняющихся команд, ассоциированных с ним ресурсов и текущего момента его выполнения,…

Состояния процесса

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

Process Control Block и контекст процесса

· состояние, в котором находится процесс; · программный счетчик процесса или, другими словами, адрес команды, которая… · содержимое регистров процессора;

Критерии планирования процессов и требования к алгоритмам

· Справедливость – гарантировать каждому заданию или процессу определенную часть времени использования процессора в компьютерной системе, стараясь… · Эффективность – постараться занять процессор на все 100% рабочего времени,… · Сокращение полного времени выполнения (turnaround time) – обеспечить минимальное время между стартом процесса или…

Логическая организация механизма передачи информации

Как устанавливается связь? Могу ли я использовать средство связи непосредственно для обмена информацией… К этому же вопросу тесно примыкает вопрос о способе адресации при использовании средства связи. Если я передаю…

Информационная валентность процессов и средств связи

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

Особенности передачи информации с помощью линий связи

Буферизация

1. Буфер нулевой емкости или отсутствует. Никакая информация не может сохраняться на линии связи. В этом случае процесс, посылающий информацию,… 2. Буфер ограниченной емкости. Размер буфера равен n, то есть линия связи не… 3. Буфер неограниченной емкости. Теоретически это возможно, но практически вряд ли реализуемо. Процесс, посылающий…

Надежность средств связи

1. Не происходит потери информации. 2. Не происходит повреждения информации. 3. Не появляется лишней информации.

Нити исполнения

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

Критическая секция

Итак, для решения задачи необходимо, чтобы в том случае, когда процесс находится в своем критическом участке, другие процессы не могли войти в свои…   9. Механизмы синхронизации: семафоры, мониторы, сообщения

Семафоры

Эта запись означает следующее: при выполнении операции P над семафором S сначала проверяется его значение. Если оно больше 0, то из S вычитается 1.… Подобные переменные-семафоры могут применяться для решения различных задач…

Мониторы

Здесь функции m1,..., mn представляют собой функции-методы монитора, а блок инициализации внутренних переменных содержит операции, которые… В любой момент времени только один процесс может быть активен, т. е.… В мониторах введено понятие условных переменных, над которыми можно совершать две операции wait и signal, отчасти…

Сообщения

send(P, message) – послать сообщение message процессу P; receive(Q, message) – получить сообщение message от процесса Q. В случае непрямой адресации мы будем обозначать их так:

Условия возникновения тупиков. Основные направления борьбы с тупиками

Тупики могут иметь место как на аппаратных, так и на программных ресурсах. Тупики также могут быть вызваны ошибками программирования. Условия возникновения тупиков :

Физическая организация памяти компьютера

Основная память представляет собой упорядоченный массив однобайтовых ячеек, каждая из которых имеет свой уникальный адрес (номер). Процессор… Вторичную память (это главным образом диски) также можно рассматривать как… Эту схему можно дополнить еще несколькими промежуточными уровнями, как показано на рис. 8.1. Разновидности памяти…

Логическая память. Связывание адресов

Логическая память

Схема управления памятью, поддерживающая этот взгляд пользователя на то, как хранятся программы и данные, называется сегментацией. Сегмент – область… По-видимому, вначале сегменты памяти появились в связи с необходимостью… Некоторые сегменты, описывающие адресное пространство процесса, показаны на рис. 8.2. Более подробная информация о…

Связывание адресов

Рис. 8.3. Формирование логического адреса и связывание логического адреса с физическим Связывание логического адреса, порожденного оператором программы, с физическим… · Этап компиляции (Compile time). Когда на стадии компиляции известно точное место размещения процесса в памяти,…

Архитектурные средства поддержки виртуальной памяти

В схемах виртуальной памяти у процесса создается иллюзия того, что вся необходимая ему информация имеется в основной памяти. Для этого занимаемая…

Архитектурные средства поддержки виртуальной памяти

Страничная виртуальная память

Виртуальный адрес преобразуется в упорядоченную пару (p,d), где p – номер страницы в виртуальной памяти, а d – смещение в рамках страницы p, внутри… Поскольку число виртуальных страниц велико, таблица страниц принимает… При отсутствии страницы в памяти в процессе выполнения команды возникает исключительная ситуация, называемая…

Сегментно-страничная организации виртуальной памяти

Организация таблицы страниц: Виртуальный адрес состоит из виртуального номера страницы и смещения. Номер… Для того чтобы избежать размещения в памяти огромной таблицы, ее разбивают на ряд фрагментов. В оперативной памяти…

Ассоциативная память

Одна запись таблицы в ассоциативной памяти (один вход) содержит информацию об одной виртуальной странице: ее атрибуты и кадр, в котором она… Так как ассоциативная память содержит только некоторые из записей таблицы…

Инвертированная таблица страниц

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

Как правило, размер страниц задается аппаратно.

 

Аппаратно-независимый уровень управления виртуальной памятью

Исключительные ситуации при работе с памятью

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

Стратегии управления страничной памятью

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

Алгоритмы замещения страниц

· найти некоторую занятую страницу основной памяти; · переместить в случае надобности ее содержимое во внешнюю память; · переписать в этот страничный кадр содержимое нужной виртуальной страницы из внешней памяти;

Программная поддержка сегментной модели памяти процесса. Менеджер памяти

Чаще всего виртуальная память процесса ОС разбивается на сегменты пяти типов: кода программы, данных, стека, разделяемый и сегмент файлов,… Сегмент программного кода содержит только команды. Сегмент программного кода… Сегмент данных, содержащий переменные программы и сегмент стека, содержащий автоматические переменные, могут…

Отдельные аспекты функционирования менеджера памяти

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

Организация файлов и доступ к ним. Операции над файлами

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

ОС поддерживают несколько вариантов структуризации файлов.

Последовательный файл

Обработка подобных файлов предполагает последовательное чтение записей от начала файла, причем конкретная запись определяется ее положением в файле.…

Файл прямого доступа

Здесь имеется в виду относительный номер, специфицирующий данный блок среди блоков диска, принадлежащих файлу. О связи относительного номера блока с… Естественно, что в этом случае для доступа к середине файла просмотр всего… Таким образом, файл, состоящий из однобайтовых записей на устройстве прямого доступа, - наиболее распространенный…

Другие формы организации файлов

Первый шаг в структурировании - хранение файла в виде последовательности записей фиксированной длины, каждая из которых имеет внутреннюю структуру.… Другой способ представления файлов - последовательность записей переменной… Рис. 11.1. Файл как последовательность записей переменной длины

Операции над файлами

Операционная система должна предоставить в распоряжение пользователя набор операций для работы с файлами, реализованных через системные вызовы. Чаще всего при работе с файлом пользователь выполняет не одну, а несколько операций. Во-первых, нужно найти данные файла и его атрибуты по символьному имени, во-вторых, считать необходимые атрибуты файла в отведенную область оперативной памяти и проанализировать права пользователя на выполнение требуемой операции. Затем следует выполнить операцию, после чего освободить занимаемую данными файла область памяти. Рассмотрим в качестве примера основные файловые операции ОС Unix [Таненбаум, 2002].

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

· Удаление файла и освобождение занимаемого им дискового пространства.

· Открытие файла. Перед использованием файла процесс должен его открыть. Цель данного системного вызова - разрешить системе проанализировать атрибуты файла и проверить права доступа к нему, а также считать в оперативную память список адресов блоков файла для быстрого доступа к его данным. Открытие файла является процедурой создания дескриптора или управляющего блока файла. Дескриптор (описатель) файла хранит всю информацию о нем. Иногда, в соответствии с парадигмой, принятой в языках программирования, под дескриптором понимается альтернативное имя файла или указатель на описание файла в таблице открытых файлов, используемый при последующей работе с файлом . Например, на языке Cи операция открытия файла fd=open(pathname,flags,modes); возвращает дескриптор fd, который может быть задействован при выполнении операций чтения (read(fd,buffer,count); ) или записи.

· Закрытие файла. Если работа с файлом завершена, его атрибуты и адреса блоков на диске больше не нужны. В этом случае файл нужно закрыть, чтобы освободить место во внутренних таблицах файловой системы.

· Позиционирование. Дает возможность специфицировать место внутри файла, откуда будет производиться считывание (или запись) данных, то есть задать текущую позицию.

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

· Запись данных в файл с текущей позиции. Если текущая позиция находится в конце файла, его размер увеличивается, в противном случае запись осуществляется на место имеющихся данных, которые, таким образом, теряются.

Есть и другие операции, например переименование файла, получение атрибутов файла и т. д.

Существует два способа выполнить последовательность действий над файлами [Олифер, 2001].

В первом случае для каждой операции выполняются как универсальные, так и уникальные действия (схема stateless). Например, последовательность операций может быть такой: open, read1, close, ... open, read2, close, ... open, read3, close.

Альтернативный способ - это когда универсальные действия выполняются в начале и в конце последовательности операций, а для каждой промежуточной операции выполняются только уникальные действия. В этом случае последовательность вышеприведенных операций будет выглядеть так: open, read1, ... read2, ... read3, close.

Большинство ОС использует второй способ, более экономичный и быстрый. Первый способ более устойчив к сбоям, поскольку результаты каждой операции становятся независимыми от результатов предыдущей операции; поэтому он иногда применяется в распределенных файловых системах (например, Sun NFS).

 

Разделы диска. Организация доступа к архиву файлов.

Задание пути к файлу в файловых системах некоторых ОС отличается тем, с чего начинается эта цепочка имен.

В современных ОС принято разбивать диски на логические диски (это низкоуровневая операция), иногда называемые разделами (partitions). Бывает, что, наоборот, объединяют несколько физических дисков в один логический диск (например, это можно сделать в ОС Windows NT). Поэтому в дальнейшем изложении мы будем игнорировать проблему физического выделения пространства для файлов и считать, что каждый раздел представляет собой отдельный (виртуальный) диск. Диск содержит иерархическую древовидную структуру, состоящую из набора файлов, каждый из которых является хранилищем данных пользователя, и каталогов или директорий (то есть файлов, которые содержат перечень других файлов, входящих в состав каталога), необходимых для хранения информации о файлах системы.

В некоторых системах управления файлами требуется, чтобы каждый архив файлов целиком располагался на одном диске (разделе диска). В этом случае полное имя файла начинается с имени дискового устройства, на котором установлен соответствующий диск (буквы диска). Например, c:utilnundd.exe. Такой способ именования используется в файловых системах DEC и Microsoft.

В других системах (Multics) вся совокупность файлов и каталогов представляет собой единое дерево. Сама система, выполняя поиск файлов по имени, начиная с корня, требовала установки необходимых дисков.

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

Технически это осуществляется с помощью создания в корневой файловой системе специальных пустых каталогов (см. также следующую лекцию). Специальный системный вызов mount ОС Unix позволяет подключить к одному из этих пустых каталогов корневой каталог указанного архива файлов. После монтирования общей файловой системы именование файлов производится так же, как если бы она с самого начала была централизованной. Задачей ОС является беспрепятственный проход точки монтирования при получении доступа к файлу по цепочке имен. Если учесть, что обычно монтирование файловой системы производится при загрузке системы, пользователи ОС Unix обычно и не задумываются о происхождении общей файловой системы.

Общая структура файловой системы. Управление внешней памятью

Нижний уровень - оборудование. Это в первую очередь магнитные диски с подвижными головками - основные устройства внешней памяти, представляющие… Непосредственно с устройствами (дисками) взаимодействует часть ОС, называемая… В структуре системы управления файлами можно выделить базисную подсистему, которая отвечает за выделение дискового…

Управление внешней памятью

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

Методы выделения дискового пространства

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

Выделение непрерывной последовательностью блоков

Эта схема имеет два преимущества. Во-первых, ее легко реализовать, так как выяснение местонахождения файла сводится к вопросу, где находится первый… Непрерывное выделение используется в ОС IBM/CMS, в ОС RSX-11 (для выполняемых… Этот способ распространен мало, и вот почему. В процессе эксплуатации диск представляет собой некоторую совокупность…

Связный список

Рис. 12.2. Хранение файла в виде связного списка дисковых блоков Внешняя фрагментация для данного метода отсутствует. Любой свободный блок может быть использован для удовлетворения…

Таблица отображения файлов

Одним из вариантов предыдущего способа является хранение указателей не в дисковых блоках, а в индексной таблице в памяти, которая называется таблицей отображения файлов (FAT - file allocation table) (см. рис. 12.3). Этой схемы придерживаются многие ОС (MS-DOS, OS/2, MS Windows и др.)

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

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

Номера блоков диска    
1.    
2.  
3. Начало файла F2
4.    
5. EOF  
6. Начало файла F1
7. EOF  
8.    
9.    
10.  
11.  

Рис. 12.3. Метод связного списка с использованием
таблицы в оперативной памяти

Индексные узлы

Индексирование поддерживает прямой доступ к файлу, без ущерба от внешней фрагментации. Индексированное размещение широко распространено и… Обычно применяется комбинация одноуровневого и многоуровневых индексов. Первые… Рис. 12.4. Структура индексного узла

Управление свободным и занятым дисковым пространством

Дисковое пространство, не выделенное ни одному файлу, также должно быть управляемым. В современных ОС используется несколько способов учета используемого места на диске. Рассмотрим наиболее распространенные.

Учет при помощи организации битового вектора

Главное преимущество этого подхода состоит в том, что он относительно прост и эффективен при нахождении первого свободного блока или n… Описываемый метод учета свободных блоков используется в Apple Macintosh. Несмотря на то что размер описанного битового вектора наименьший из всех возможных структур, даже такой вектор может…

Учет при помощи организации связного списка

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

Монтирование файловых систем. Связывание файлов

Функция mount (монтировать) связывает файловую систему из указанного раздела на диске с существующей иерархией файловых систем, а функция umount… Процедура монтирования состоит в следующем. Пользователь (в Unix это… mount(special pathname,directory pathname,options);

Связывание файлов.

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

Кооперация процессов при работе с файлами

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

Надежность файловой системы

Реализация файловой системы связана с такими вопросами, как поддержка понятия логического блока диска, связывания имени файла и блоков его данных,… Структура (вкратце): Нижний уровень - оборудование.

Поиск в директории

Список файлов в директории обычно не является упорядоченным по именам файлов. Поэтому правильный выбор алгоритма поиска имени файла в директории имеет большое влияние на эффективность и надежность файловых систем.

Hадежность файловой системы

Жизнь полна неприятных неожиданностей, а разрушение файловой системы зачастую более опасно, чем разрушение компьютера. Поэтому файловые системы должны разрабатываться с учетом подобной возможности. Помимо очевидных решений, например своевременное дублирование информации (backup), файловые системы современных ОС содержат специальные средства для поддержки собственной совместимости.

Производительность файловой системы. Кэширование

Реализация файловой системы связана с такими вопросами, как поддержка понятия логического блока диска, связывания имени файла и блоков его данных,… Структура (вкратце): Нижний уровень - оборудование.

Производительность файловой системы

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

Кэширование

Аккуратная реализация кэширования требует решения нескольких проблем. Во-первых, емкость буфера кэша ограничена. Когда блок должен быть загружен в… Рис. 12.12. Структура блочного кэша

Оптимальное размещение информации на диске

Кроме того, рекомендуется периодически осуществлять дефрагментацию диска (сборку мусора), поскольку в популярных методиках выделения дисковых блоков…

Современные архитектуры файловых систем

На верхнем уровне располагается так называемый диспетчер файловых систем (например, в Windows 95 этот компонент называется installable filesystem… Каждая файловая система (иногда говорят - драйвер файловой системы) на этапе… Та же идея поддержки нескольких файловых систем в рамках одной ОС может быть реализована по-другому, например исходя…

Локальная магистраль компьютера. Операции обмена информацией. Структура контроллера устройства

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

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

 

Структура контроллера устройства

Регистр состояния содержит биты, значение которых определяется состоянием устройства ввода-вывода и которые доступны только для чтения… Регистр управления получает данные, которые записываются вычислительной… Регистр выходных данных служит для помещения в него данных для чтения вычислительной системой, а регистр входных…

Логические принципы организации ввода-вывода

Структура системы ввода-вывода

Устройства разделили на относительно небольшое число типов, отличающихся по набору операций, которые могут быть ими выполнены, считая все остальные… Два нижних уровня этой слоеной системы составляет hardware: сами устройства,…

Строение жесткого диска и параметры планирования

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

Сетевые и распределенные операционные системы

§ поддержку сетевого оборудования § поддержку сетевых протоколов § поддержку протоколов маршрутизации

Основные понятия информационной безопасности.

ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ - это состояние защищенности информационной среды общества, обеспечивающее ее формирование, использование и развитие в интересах граждан, организаций, государств.

Безопасная система должна обладать свойствами конфиденциальности, доступности и целостности. Конфиденциальная (confidentiality) система обеспечивает уверенность в том, что секретные данные будут доступны только тем пользователям, которым этот доступ разрешен (такие пользователи называются авторизованными). Под доступностью (availability) понимают гарантию того, что авторизованным пользователям всегда будет доступна информация, которая им необходима. И наконец, целостность (integrity) системы подразумевает, что неавторизованные пользователи не могут каким-либо образом модифицировать данные.

Любое потенциальное действие, которое направлено на нарушение конфиденциальности, целостности и доступности информации, называется угрозой. Реализованная угроза называется атакой.

Защита информации ориентирована на борьбу с умышленными угрозами, то есть с теми, которые преследуют цель нанести ущерб пользователям ОС.

Типы угроз:

Попытка проникновения в систему под видом легального пользователя.Для защиты от подобных атак ОС запускает процесс, называемый аутентификацией пользователя.

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

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

 

Защитные механизмы операционных систем.

Аутентификация - это процесс, в ходе которого на основании пароля, ключа или какой-либо иной информации, пользователь подтверждает, что является… Идентификация позволяет субъекту (пользователю, процессу, действующему от… Обычно аутентификация базируется на одном или более из трех пунктов:

– Конец работы –

Используемые теги: История, эволюции, вычислительных, операционных, систем, основные, Функции, классических, операционных, систем, процессе, эволюции0.136

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: История эволюции вычислительных и операционных систем, основные функции, классических операционных систем в процессе эволюции

Что будем делать с полученным материалом:

Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Еще рефераты, курсовые, дипломные работы на эту тему:

Лекция 1. Тема: Операционная система. Определение. Уровни операционной системы. Функции операционных систем. 1. Понятие операционной системы
Понятие операционной системы... Причиной появления операционных систем была необходимость создания удобных в... Операционная система ОС это программное обеспечение которое реализует связь между прикладными программами и...

Экзаменационные вопросы к экзамену по дисциплине Операционные системы, среды и оболочки 1. Общие сведения и об операционных системах. Назначение и функции
Общие сведения и об операционных системах Назначение и функции... Операционная система ОС это упорядоченная последоват системных управляющих программ совместно с необходимыми...

Введение в операционные системы. Определение, назначение, состав и функции операционных систем
Государственное образовательное учреждение высшего профессионального образования... ТОЛЬЯТТИНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СЕРВИСА...

Определение операционной системы ОС. Назначение и основные функции ОС.
Операционная система ОС комплекс программ обеспечивающих управление ресурсами вычислительной системы и процессами использующие эти ресурсы при... Ресурсы любой физический или логический компонент компьютера это процессор... Функции ОС...

Общие сведения об операционных системах и средах. Назначение и основные функции
Ответ... ОС комплекс управляющих и обрабатывающих программ которые с одной стороны... ОС позволяет Управление ресурсами согласовывает работу всех аппаратных средств...

Лекция 4 История развития вычислительной техники. Классификация компьютеров. Состав вычислительной системы. Аппаратное и программное обеспечение. Классификация служебных и прикладных программных средств
Классификация компьютеров... По назначению... суперкомпьютеры серверы встроенные компьютеры микропроцессоры...

Системное программное обеспечение. Операционная система, назначение, состав и основные функции
Несмотря на это, пользователи, активно использующие вычислительную технику, зачастую испытывают затруднения при попытке дать определение… ОС как расширенная машина Использование большинства компьютеров на уровне… Даже если не входить в курс реальных проблем программирования ввода-вывода, ясно, что среди программистов нашлось бы…

Лекции по дисциплине Устройство и функционирование информационных систем Раздел 1. Информационные системы. Основные понятия и классификация
Раздел Информационные системы Основные понятия и классификация... Тема Информационные системы Основные понятия и... В данной теме рассматриваются общие понятия относящиеся к операционным системам определяются их типы и базовые...

Операционная система MS DOS. Основные принципы хранения информации на магнитных дисках в MS DOS. Файловая система MS DOS
Размер Кластера NРазмерСектора N 512 байт, где N 2,4,8 и т.д. FAT - Таблица размещения файлов НАКОПИТЕЛИ НА МАГНИТНЫХ ДИСКАХ Магнитные диски… Для работы с Магнитными Дисками используется устройство, называ- емое… Контроллер дисковода вставляется в один из свободных разъемов сис- темной платы IBM PC MotherBoard. Дисковод содержит…

0.041
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам