Программное обеспечение вычислительной системы

Автор работы: Пользователь скрыл имя, 16 Декабря 2012 в 12:09, курс лекций

Краткое описание

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

Вложенные файлы: 1 файл

Лекции.doc

— 510.00 Кб (Скачать файл)

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

Жесткий диск может быть разбит на несколько разделов (partition). На каждом разделе может быть организована своя файловая система. Разделы диска могут быть двух типов – primary (первичный) и extended (расширенный). На диске должен быть, по крайней мере, один primary-раздел (максимум – 4). Загрузчик располагается в активном разделе и ему передается управление при включении компьютера и загрузке ОС.

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

По физическому адресу [0-0-1] на винчестере располагается главная загрузочная запись (master boot record – MBR), содержащая внесистемный загрузчик (non-system bootstrap – NSB), а также таблицу разделов (partition table – PT). Эта запись занимает один сектор и размещается в оперативной памяти, начиная с адреса 0:7С00h. Затем управление передается коду, содержащемуся в этом самом первом секторе диска. MBR является основным средством загрузки с жесткого диска.

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

 

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

 

Одной из самых известных  и до сих пор используемых утилит, с помощью которой можно посмотреть и отредактировать PT, а также выполнить и другие действия, связанные с изучением и исправлением данных на диске, является программа Disk editor, работающая в среде DOS. На сегодняшний день ее главный недостаток, что она ограничена размером диска 8 Гбайт. В настоящее время оной из известных и мощных программ для работы с разделами жесткого диска является программа Partition Magic (работает в среде Win32API).

 

 

 

    1. Файловая система FAT

 

File Allocation Table (таблица размещения файлов) – линейная табличная структура со сведениями о файлах. В файловой системе FAT логическое дисковое пространство любого логического диска делится на две области: системную область и область данных. Системная область создается и инициализируется при форматировании и состоит из следующих компонент, расположенных друг за другом (рис.1):

  1. Загрузочная запись (boot record – BR);
  2. Зарезервированные сектора (reserved sector – RS);
  3. Таблицы размещения файлов (FAT);
  4. Корневой каталог (root directory – Rdir).

Таблица размещения файлов

 

Она представляет карту  области данных, в которой описывается  состояние каждого участка области  данных. Область данных разбивают  на кластеры. Кластер – это один или несколько смежных секторов в логическом адресном пространстве области данных. В таблице FAT кластеры, принадлежащие одному файлу (или некорневому каталогу), связываются в цепочки. Для указания номера кластера в FAT-16 используется 16-битовое слово, следовательно, можно иметь до 216 = 65536 кластеров (с номерами от 0 до 65535). В FAT – 32 в 32-битовом  слове фактически учитывается только 28 разрядов, поэтому количество кластеров не может превышать 228 = 268 435 456.

Кластер – это минимальная  адресуемая единица дисковой памяти, выделяемая файлу (или некорневому каталогу). Файл или каталог занимает целое число кластеров. Последний кластер при этом может быть задействован не полностью, что приведет к заметной потере дискового пространства при большом размере кластера. На дискетах кластер занимает 2 сектора, а на жестких дисках – в зависимости от объема раздела от 2 до 32 секторов. Слишком большой размер кластера ведет к неэффективному использованию дискового пространства, особенно в случае большого количества маленьких файлов.

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

Наглядно идею файловой системы FAT можно проиллюстрировать с помощью рис.2.


Directory Entry                                                                                Начальный номер кластера


 

Начальный номер кластера записывается в элемент каталога (Directory Entry). Таблица FAT имеет столько элементов, сколько имеется кластеров на диске. В элемент таблицы FAT с номером, соответствующим номеру кластера цепочки, записывается номер следующего кластера цепочки. При форматировании диска в элементы FAT, соответствующие дефектным кластерам, записывается код F7.  Свободные кластеры помечаются кодом 00. В элемент FAT, соответствующий последнему кластеру цепочки, записывается код FF.

Из рисунка видно, что  файл с именем My_file.txt размещается, начиная с восьмого кластера. Цепочка кластеров для этого файла имеет вид:

8, 9, 0A, 0B, 15, 16, 17, 19, 1A, 1B, 1C, 1D

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

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

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

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

                              

    1. Файловая система NTFS

 

 New Technology File System (файловая система новой технологии)   содержит ряд значительных усовершенствований и изменений, существенно отличающих ее от других файловых систем. В отличие  от FAT работа на дисках большого   объема происходит намного эффективнее; имеются средства для ограничения доступа к файлам, введены механизмы, повышающие надежность файловой системы, сняты многие ограничения на максимальное количество дисковых секторов и/или кластеров.     

    

Структура тома с файловой системой NTFS

 

Одним из основных понятий  при работе с NTFS является понятии тома (volume). Все дисковое пространство тома делится на кластеры. NTFS поддерживает размеры кластеров от 512 байт до 64 Кбайт. Стандартом считается кластер размером 2 или 4 Кбайт.

Все дисковое пространство делится на две неравные части (рис.3). Первые 12% диска отводятся под MFT-зону (master file table) – пространство, которое может занимать, увеличиваясь в размере, главный служебный метафайл MFT. Эта MFT-зона всегда держится пустой, чтобы самый главный служебный файл MFT не фрагментировался при росте. Остальные 88% тома представляют собой обычное пространство для хранения файлов.

 

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

Файл в томе с NTFS идентифицируется так называемой файловой ссылкой, которая представляется как 64-разрядное число. Файловая ссылка состоит из номера файла, который соответствует позиции его файловой записи в MFT, и номера последовательности. Последний увеличивается всякий раз, когда данная позиция в MFT используется повторно, что позволяет файловой системе выполнять внутренние проверки целостности.

Каждый файл представлен  с помощью потоков. Один из потоков носит привычный нам смысл – данные файла. К файлу, например,  можно «прилепить» еще один поток, записав в него любые данные. Эти дополнительные потоки не видны стандартными средствами: наблюдаемый размер файла – это лишь размер основного потока. Можно иметь файл нулевой длины, при стирании которого освободится 1 Гбайт свободного места – просто потому, что какая-нибудь хитрая программа «прилепила» к нему дополнительный поток большого размера (так на идее подмены потока был создан вирус для Windows 2000). В настоящее время потоки практически не используются.

Имя файла может содержать  любые символы, включая полный набор национальных алфавитов. Максимальная длина имени – 255 символов.

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

 

Основные отличия FAT от NTFS

 

  • FAT более компактна и менее сложна;
  • Система NTFS не может использоваться для форматирования флоппи-дисков. Не стоит ей пользоваться  для форматирования разделов объемом менее 50-100 Мбайт;
  • Разделы FAT имеют объем до 2 Гбайт, разделы NTFS – до 16 Эбайт      (264 байт,  это приблизительно 16 000 млрд Гбайт). В настоящее время размер файлов ограничивается 2 Тбайт – 240 байт:
  • Разделы FAT могут использоваться практически во всех ОС, с разделами NTFS напрямую можно работать только из Windows NT;
  • Разделы NTFS обеспечивают локальную безопасность как файлов, так и каталогов. Разделы FAT устанавливают лишь общие права, связанные с общим доступом  к каталогам в сети;
  • Windows NT содержит утилиту CONVERT.EXE, которая может преобразовать тома FAT в эквивалентные тома NTFS. Однако для обратного преобразования утилит нет.

 

 

 

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

 

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

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

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

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

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

Чтобы предотвратить  некорректное исполнение конкурирующих  процессов вследствие нерегламентированного доступа к разделяемым (общим) переменным, необходимо ввести механизм взаимного исключения, который не позволит двум процессам одновременно обращаться к разделяемым переменным. Такие общие переменные называют критическими ресурсами.

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

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

Обеспечение взаимоисключения является одной из ключевых проблем  параллельного программирования. Было предложено несколько способов решения  этой проблемы – программные и  аппаратные.

 

  1. Использование блокировки памяти при синхронизации параллельных процессов.

Информация о работе Программное обеспечение вычислительной системы