Операционная система, операционная среда.
Операционная система, операционная среда.
К системному программному обеспечению относят такие программы, которые являются общими, без которых невозможно выполнение или создание других программ, операционные системы (ОС) относят к этим программам. Системное программное обеспечение – это те программы и комплексы программ, которые являются общими для всех пользователей технически средств компьютера. Системное программное обеспечение делится на пять основных групп:
— системы управления файлами;
— интерфейсные оболочки, которые обеспечивают взаимодействие пользователя с операционной системой, и различные программные среды;
На сегодняшний день операционная система представляет собой комплекс системных управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между аппаратурой компьютера и пользователем с его задачами, а с другой стороны, предназначены для наиболее эффективного расходования ресурсов вычислительной системы и организации надежных вычислений. Любой программный продукт работает под управлением ОС. Ни один из компонентов программного обеспечения, за исключением самой ОС, не имеет непосредственного доступа к аппаратуре компьютера. Пользователи со своими программами также взаимодействуют через интерфейс ОС. Любые команды, прежде чем попасть в прикладную программу, сначала проходят через ОС. Основные функции операционных систем:
1) Прием от пользователя (или оператора) заданий, или команд, сформулированных на соответствующем языке, и их обработка. Задания могут передаваться в виде текстовых команд оператора или в форме указаний, выполняемых с помощью манипулятора (клавиатура, мышь). Эти команды связаны, прежде всего, с запуском (приостановкой, остановкой) программ, с операциями над файлами, и иные команды;
2) Загрузка в оперативную память подлежащих исполнению программ;
3) Распределение памяти, а в большинстве современных систем и организация виртуальной памяти;
4) Запуск программы;
5) Инициализация программы (передача ей управления) и выполнение процессором программы;
6) Идентификация всех программ и данных;
7) Прием и исполнение различных запросов от выполняющихся приложений. ОС умеет выполнять очень большое количество системных функций, которые могут быть запрошены из выполняющейся программы. Обращение к этим сервисам осуществляется по соответствующим правилам, которые и определяют интерфейс прикладного программирования этой ОС;
8) Обслуживание всех операций ввода-вывода;
9) Обеспечение работы систем управлений файлами (СУФ) и/или систем управления базами данных (СУБД), что позволяет резко увеличить эффективность всего программного обеспечения;
10) Обеспечение режима мультипрограммирования, т.е. обеспечение одновременной работы многих пользователей или многих программ;
11) Планирование и диспетчеризация задач в соответствии с заданными стратегией и дисциплинами обслуживания;
12) Организация механизмов обмена сообщениями и данными между выполняющимися программами;
13) Для сетевых ОС характерной является функция обеспечения взаимодействия связанных между собой компьютеров;
14) Защита одной программы от влияния другой, обеспечение сохранности данных, защита самой ОС от исполняющихся на компьютерных приложений;
15) Аутентификация и авторизация пользователей. Под аутентификацией понимается процедура проверки имени пользователя и его пароля на соответствие тем значениям, которые хранятся в его учетной записи;
16) Удовлетворение жестким ограничениям на время ответа в режиме реального времени;
17) Обеспечение работы систем программирования, с помощью которых пользователи готовят свои программы;
18) Предоставление услуг на случай частичного сбоя системы;
19) Распределение памяти, организация виртуальной памяти.
Итак, операционная система выполняет функции управления вычислениями в компьютере, распределяет ресурсы вычислительной системы между различными вычислительными процессами и образует ту программную среду, в которой выполняются прикладные программы пользователей. Такая среда называется операционной. Последнее следует понимать в том плане, что при запуске программы она будет обращаться к операционной системе с соответствующими запросами на выполнение определенных действий, или функций. Эти функции операционная система выполняет, запуская специальные системные программные модули, входящие в ее состав. Итак, при создании двоичных машинных программ прикладные программисты могут вообще не знать многих деталей управления конкретными ресурсами вычислительной системы, а должны только обращаться к некоторой программной подсистеме с соответствующими вызовами и получать от нее необходимые функции и сервисы. Эта программная подсистема и есть операционная система, а набор ее функций и сервисов, а также правила обращения к ним как раз и образуют то базовое понятие, которое мы называем операционной средой. Таким образом, можно сказать, что термин «операционная среда» означает, прежде всего, соответствующие интерфейсы, необходимые программам и пользователям для обращения к управляющей (супервизорной) части операционной системы с целью получить определенные сервисы. Системных функций бывает много, они определяют те возможности, которые операционная система предоставляет выполняющимся под ее управлением приложениям. Такого рода системные запросы (вызовы системных операций, или функций) либо явно прописываются в тексте программы программистами, либо подставляются автоматически самой системой программирования на этапе трансляции исходного текста разрабатываемой программы. Каждая операционная система имеет свое множество системных функций; они вызываются соответствующим образом, по принятым в системе правилам. Совокупность системных вызовов и правил, по которым их следует использовать, как раз и определяет уже упомянутый нами интерфейс прикладного программирования (API). Очевидно, что программа, созданная для работы в некоторой операционной системе, скорее всего не будет работать в другой операционной системе, поскольку API у этих операционных систем, как правило, различаются. Стараясь преодолеть это ограничение, разработчики операционных систем стали создавать так называемые программные среды. Программную (системную) среду следует понимать как некоторое системное программное окружение, позволяющее выполнить все системные запросы от прикладной программы. Та системная программная среда, которая непосредственно образуется кодом операционной системы, называется основной, естественной. Помимо основной операционной среды в операционной системе могут быть организованы (путем эмуляции иной операционной среды) дополнительные программные среды. Если в операционной системе организована работа с различными операционными средами, то в такой системе можно выполнять программы, созданные не только для данной, но и для других операционных систем. Можно сказать, что программы создаются для работы в некоторой заданной операционной среде. Параллельное существование терминов «операционная система» и «операционная среда» вызвано тем, что операционная система (в общем случае) может поддерживать несколько операционных сред. Почти все современные операционные системы, созданные для персональных компьютеров, поддерживают по нескольку операционных сред. Операционная среда может включать несколько интерфейсов: пользовательские и программные. Если говорить о пользовательских, то, например, система Linux имеет для пользователя как интерфейсы командной строки, так и графические интерфейсы. Если же говорить о программных интерфейсах, то в тех же операционных системах с общим названием Linux программы могут обращаться как к операционной системе за соответствующими сервисами и функциями, так и к графической подсистеме (если она используется). С точки зрения архитектуры процессора (и персонального компьютера в целом) двоичная программа, созданная для работы в среде Linux, использует те же команды и форматы данных, что и программа, созданная для работы в среде Windows. Однако в первом случае мы имеем обращение к одной операционной среде, а во втором — к другой. И программа, созданная непосредственно для Windows, не будет выполняться в Linux; однако если в операционной системе Linux организовать полноценную операционную среду Windows, то наша Windows-программа может быть выполнена. Операционная среда — это то системное программное окружение, в котором могут выполняться программы, созданные по правилам работы этой среды.
5.3. Операционная среда Windows
Операционная среда − это набор соответствующих интерфейсов, необходимых программам и пользователям для обращения к операционной системе с целью получения определенных сервисов. Все это есть в системе Windows, которая является графической, 32/64-разрядной, многозадачной, сетевой системой, представляющей собой комплекс программ.
В состав Windows входят операционная система (ОС) с файловой системой для организации работы с файлами и папками, а также некоторые служебные и прикладные программы.
Блок начальной загрузки (Boot record)
Чтобы можно было работать с КС, в оперативную память (ОЗУ) компьютера должна быть загружена ОС (по крайней мере, ее ядро), и только после ее загрузки (когда, например, на экране монитора появляется рабочий стол Windows) она готова обеспечить выполнение прикладной программы. В оперативную память загружается очень маленькая программа, ей передается управление, затем эта программа загружает собственно систему.
Загрузка ОС отличается от установки системы тем, что установка является начальным одноразовым действием. К концу установки ОС находится на жестком диске (в ВЗУ), готовая к загрузке в оперативную память компьютера.
Если ОС установлена, то при включении компьютера BIOS, хранящийся в ПЗУ, т.е. уже загруженный, автоматически делает самопроверку по включению питания (power-on self test – POST), чтобы удостовериться, что все компоненты компьютера работо-способны. Затем программа начальной загрузки BIOS определяет, где размещен файл начальной загрузки; BIOS считывает его первый сектор (512-байтовая область), называемый блоком начальной загрузки (boot record), копирует информацию из него в опреде-ленное место оперативной памяти и передает управление программе, содержащейся в нем. Эта программа, в свою очередь, загружает файл инициализации системы (NTLDR) из корневого каталога загрузочного диска. В файле NTLDR хранятся две части: модуль StartUp, после которого следует загрузчик ОС (osloader.exe); при загрузке NTLDR в оперативную память управление передается модулю StartUp, затем он загружает и запускает загрузчик ОС, который содержит основные функции для доступа к дискам, отформатированным в файловых системах FAT, NTFS, CDFS, ETFS или UDFS (в новейших версиях ОС).
Файл как объект файловой системы
В качестве единицы хранения данных на внешнем физическом носителе (ВЗУ) принят объект переменной длины, называемый файлом , который является поименованной областью памяти на этом носителе и представляет собой последовательность произвольного числа байтов, обладающую уникальным собственным именем. В отдельном файле хранятся данные, относящиеся к одному типу, который определяет тип файла.
Работа с файлами на компьютере производится с помощью файловой системы , которая, как правило, является функциональной частью ОС и определяет способ организации, хранения, именования данных, размещенных на внешних носителях, а также способ управления этими данными. Чтобы найти необходимый файл, пользователю должно быть известно имя файла и место его хранения на внешнем носителе.
В ОС, как правило, имя файла составляется из двух частей, разделенных точкой: слева от точки – само имя файла, после точки – часть имени, называемая расширением файла. Например, tp.exe.
Обычно в именах файлов употребляются латинские буквы и цифры. В большинстве ОС максимальная длина расширения – три символа. Кроме того, имя файла может и не иметь расширения. В ОС WINDOWS в именах файлов допускается использование русских букв; максимальная длина имени – 255 символов.
Расширение файла указывает, какого рода информация хранится в файле, и, как правило, определяет программу обработки этого файла. Например, расширение txt обычно обозначает текстовый файл (содержит текст); расширение zip – архивный файл (содержит сжатую информацию), pas
– текст программы на языке Паскаль. Исполняемые файлы, содержащие компьютерные программы, имеют расширения ехе или com . Инициализация программы происходит путем записи ее в оперативную память и перехода работы процессора к ее исполнению.
Логический диск – искусственно созданный программными средствами раздел жесткого диска, которому присваивается собственное имя ( D , E и т.д.) и обращение к которому производится как к реально существующему отдельному накопителю.
Каталог – это объект файловой системы, который пред-ставляет собой поименованную совокупность байтов на внешнем физическом носителе, содержащую информацию о каталогах и файлах, привязанных к данному каталогу.
Корневой каталог ( Root-Directory ) – каталог, прямо или кос-венно включающий в себя все прочие каталоги и файлы файловой системы (как правило, в Windows обозначается символом
Родительским каталогом называется каталог, в котором находится текущий каталог, являющийся для родительского под-каталогом; обозначается двумя точками «..». Подкаталог − это каталог, который входит в другой каталог.
Различают два состояния каталога – текущее (активное) и пас-сивное. ОС помнит текущий каталог на каждом логическом диске. Текущий ( активный ) каталог – каталог, с которым работает ОС, если ей не указать другого каталога; обозначается точкой «.». Пассивный каталог – каталог, с которым в данный момент времени нет связи.
Таким образом, любой каталог, содержащий каталоги нижнего уровня, может быть, с одной стороны, по отношению к ним родительским, а с другой стороны, подчиненным по отношению к каталогу верхнего уровня. Файл всегда привязан к какому-либо каталогу (в том числе и к корневому).
Файловая система не допускает одинаковых названий (идентификаторов) логических дисков, каталогов и файлов внутри одного каталога. Каталог расширения не имеет.
Свободное дисковое пространство, где хранятся каталоги, называется областью данных . Доступ к файлу. Доступ к файлу − это процедура уста-новления связи с памятью и
размещенным в ней файлом для записи и чтения данных. Путь доступа к файлу начинается с имени устройства и включает все имена каталогов, через которые проходит; это цепочка соподчиненных каталогов, которую необхо-димо пройти по иерархической структуре к каталогу, где нахо-дится искомый файл. Уникальность имени файла обеспечивается тем, что полным именем файла считается имя файла вместе с путем доступа к нему.
• исполняемые файлы. Являются программами, могут иметь расширения: . exe , . com (выполняемые программы); . bat (командные файлы); . sys (системные файлы); . drv (драйверы);
• файлы данных. Содержат пользовательскую информацию, могут иметь расширения: . dat (данные); . txt (текстовые файлы); . dbf (файлы баз данных); . pas , . c , . asm (тексты программ на языках PASCAL, С, ASSEMBLER соответственно); . bak (копия файла данных);
• каталоги ( директории или папки ) – специальные файлы. Содержат в себе списки других каталогов и файлов, расширения не имеют.
Организация файловой структуры ОС
Одним из элементов файловой системы, наряду с комплексом программных средств, реализующих управление файлами, является файловая структура , которая представляет собой совокупность файлов на диске и взаимосвязей между ними. Различные ОС могут поддерживать разные организации файловых структур, например, одноуровневую или многоуровневую.
Одноуровневая файловая структура – простая последовательность файлов: для поиска файла на диске достаточно указать лишь полное имя файла. Например, А:\tetris.exe.
Многоуровневая файловая структура – это древовидный (иерархический) способ организации файлов на диске. В качестве вершины структуры служит имя носителя, на котором сохраняются файлы; файлы группируются в каталоги (папки), внутри которых могут быть созданы вложенные каталоги.
Файловые системы Windows
Файловая система FAT ( File Allocation Table ). Принцип организации FAT табличный: данные о том, в каком месте диска записан файл, хранятся в системной области диска в специальных таблицах размещения файлов ( FAT ) . Поверхность жесткого диска рассматривается как трехмерная матрица, измерениями которой являются номера поверхности, цилиндра и сектора. Под цилиндром понимается совокупность дорожек, принадлежащих разным поверхностям и находящихся на равном удалении от оси вращения. Наименьшей физической единицей хранения данных является сектор , размер которого составляет 512 байт. Так как размер FAT ограничен, то обеспечить адресацию к каждому отдельному сектору невозможно, поэтому группы секторов условно объединяются в кластеры. Кластер является наименьшей единицей адресации к данным, его размер не фиксирован и зависит от емкости диска.Область данных диска представлена в ОС как последовательность пронумерованных кластеров. Таким образом, FAT – это массив элементов, адресующих кластеры области данных диска; каждому кластеру области данных соответствует один элемент FAT; элементы FAT служат в качестве цепочки ссылок на кластеры файла в области данных. На диске хранятся две копии FAT.
Например, операционные системы MS-DOS, Windows 95, Windows 98 реализуют 16разрядные поля в таблицах размещения файлов. Такие файловые системы называются FAT 16. В ОС Windows 98 было представлено расширение FAT 16, которое привело к FAT 32. ОС Windows 2000, Windows XP, Windows Vista поддерживают обе FAT, которые к настоящему времени уже устарели. Последнее время файловая система FAT 32 чаще применяется на съемных носителях небольшого объема.
Файловая система NTFS ( New Technology File System ) . ОС Windows 2000, Windows XP, Windows Vista, Windows 7 созданные на базе NT, имеют собственную файловую систему NTFS, которая использует 64-битные дисковые адреса. NTFS применяется на системных дисках и для хранения файлов большого размера.
NTFS – это иерархическая файловая система (похожая на файловую систему ОС UNIX). Каждый том (дисковый раздел) NTFS содержит файлы, каталоги, битовые массивы и другие структуры данных. Основная структура данных каждого тома – это главная таблица файлов ( Master File Table – MFT ), которая является линейной последовательностью записей фиксированного размера (1 Кб). Файл в NTFS – это не просто линейная после-довательность байтов, как файлы в FAT 32, он состоит из мно-жества атрибутов, каждый из которых представлен потоком байтов. Большинство файлов имеет несколько коротких потоков (название файла и его 64битный идентификатор объекта) и один длинный (не именованный) поток данных. Каждый поток имеет имя, состоящее из имени файла, двоеточие и имени потока. Каждый поток имеет свой размер и может блокироваться независимо от всех остальных потоков.
Сравнительная характеристика NTFS и FAT 32:
1. Таблицы в NTFS устроены существенно лучше, чем в FAT 32.
2. Таблицы в NTFS устойчивей к сбоям, так как могут кор-ректно восстанавливаться, благодаря дублированию информации; уровень надежности и возможности сохранения файловой струк-туры при сбое работы NTFS обеспечивает высокую надежность работы системы.
3. В NTFS нет ограничения на размер файла. Теоретически она поддерживает работу с файлами размером около 16 Тб, а в FAT 32 максимальный размер файла – 4 Гб.
4. В NTFS имеются встроенные средства для разграничения прав доступа и предоставления
5. NTFS эффективнее при обращении к файлам больших размеров; в отличие от FAT 32, в которой производительность снижается из-за фрагментации, на NTFS фрагментация не влияет.
6. NTFS рационально использует дисковое пространство, а в FAT 32 из-за большого размера кластеров дисковое пространство при хранении большого числа маленьких файлов используется нерационально.
7. NTFS обеспечивает быстрый доступ к небольшому файлу или части файла, хотя FAT работает быстрее.
8. FAT 32 обеспечивает щадящий режим для жесткого диска, так как при считывании головка совершает меньше движений, соответ-ственно, степень механического износа будет меньше, но актуаль-ность этого свойства теряется из-за того, что FAT 32 практически не используется на жестких дисках, а конструкция флеш-накопителей и карт памяти механического износа не предполагает.
9. Для работы с файловой системой NTFS требуется значи-тельный объем оперативной памяти, поэтому ОЗУ должно быть не менее 64 Мб, а FAT 32 не предъявляет требований к объему ОЗУ.
10. Теоретический максимальный размер диска для NTFS – около 16 эксабайт, А для FAT 32 –
11. В NTFS выше возможность сжатия файла на уровне файловой системы.
Объекты Windows для пользователя
В системе Windows существует большое количество объектов, каждый из которых имеет имя, графическое обозначение (пиктограмма, иконка, значок) и свойства. Имя и графическое обозначение позволяют отличать данный объект от других. Свойства определяют характеристики объекта, его возможности и поведение. Пользователь может влиять на состояние объекта, изменяя его свойства.
Существуют логические и физические объекты Windows.
Логические объекты Windows – это объекты, которые не соответствуют ни одной из аппаратных частей КС. К основным логическим объектам относятся:
• документ (объект, содержащий любую информацию: текст, рисунок, звуки и т.д.);
• программа или приложение (объект, который служит для обработки документов);
• папка (объект, содержащий группы документов или приложений, может содержать другие папки или быть пустой);
• ярлык (объект, связанный с выполняемым приложением).