Наши друзья:

  дисконт магазины адидас

 

Операционная система


• операционная система, функции операционной системы
• драйвер устройства
Большая часть этой книги посвящена компьютерной операционной систе­ме. Что же она собой представляет, зачем нужна, можно ли работать на ком­пьютере без операционной системы?
Операционная система — это хорошо продуманная и организованная со­вокупность программ, система, управляющая компьютером. Она является своеобразным «мостиком» между вами, прикладными программами, с кото­рыми вы работаете, и аппаратурой компьютера. Операционная система ре­шает несколько важных задач:
• Управляет работой всей аппаратуры как самого компьютера, так и подключенных к нему дополнительных «внешних» устройств, напри­мер, дисплея, клавиатуры, мыши, принтера, сканера и так далее. Можно ли обойтись без операционной системы и управлять работой различных частей компьютера непосредственно из прикладной про­граммы? Конечно можно, но...
Представьте себе, что вам надо добраться из гостиницы в аэропорт. Обычно вы заказываете такси и спокойно ждете, когда за вами прие­дут и отвезут. Но вдруг обнаруживается, что в данной местности вооб­ще нет понятия «такси», а есть некоторое количество свободных авто­мобилей. Вам предстоит самому выбрать подходящий, проверить его исправность, заглянуть в бензобак — имеется ли в нем бензин — и так далее. Кроме того, и управлять этим автомобилем вы должны сами, а вы не умеете водить автомобиль или научились водить совсем недав­но и неуверенно чувствуете себя в сложном потоке движения на большой автостраде... Одной такой поездки будет достаточно, чтобы еще раз убедиться в том, что лучше, когда существует порядок, есть систе­ма, где каждый занимается своим делом, которому хорошо обучен. Централизованный подход к управлению аппаратурой компьютера по­вышает эффективность ее использования, снимает с разработчиков прикладных программ необходимость вникать во все детали работы многочисленных устройств и писать свои программные модули управ­ления этими устройствами. Можно воспользоваться готовыми услугами, предоставляемыми «транспортной компанией» (операционной систе­мой) для «доставки груза из одного места в другое» (передачи данных с одного устройства на другое). Заказываете — и получаете весь сервис це­ликом, не заботясь о внутренних деталях его выполнения («исправность автомобиля, наличие бензина, обученность водителя» и так далее). Разработчики дополнительных устройств к компьютерам также полу­чают выгоды от такого подхода. Им не надо писать программы, обес­печивающие работоспособность всей технологической цепочки, забо­титься о бесконфликтном сосуществовании с другими устройствами. Достаточно по заранее определенным правилам написать модуль, от­вечающий за управление только данным устройством, так называемый драйвер (driver) этого устройства. Все остальное система сделает сама. По аналогии с автомобилями: если транспортная компания хочет ис­пользовать новый тип транспортного средства, ей надо предоставить само транспортное средство и обученного водителя — и все. Осталь­ная часть общей процедуры перевозки пассажиров или грузов остает­ся неизменной, лишь бы не были нарушены общие, заранее оговорен­ные правила. s Предоставляет возможность не только единообразно и централизо­ванно управлять аппаратурой, но и использовать одинаковые элемен­ты при построении прикладных программ (приложений). Приведем пример. При всем многообразии фирм-изготовителей и марок авто­мобилей, основные органы управления весьма схожи: круглый руль, педали газа и тормоза, панель приборов. Если вы научились управлять конкретной моделью автомобиля, то в большинстве случаев вам не со­ставит труда освоить модель другой фирмы-производителя. А теперь представьте себе ситуацию, когда все автомобили используют разные органы управления: в одном автомобиле руль, в другом рычаги, как на тракторе, в третьем только кнопки... Наличие общего набора базовых программных модулей, узнаваемых элементов внешнего вида эконо­мит время как на написание самих программ, так и на обучение поль­зованию ими, облегчает их понимание и применение. Операционная система как раз и предоставляет «кирпичики», основные элементы та­кого «конструктора»,— бери и строй свой дом из готовых базовых блоков: графических окон, меню, экранных кнопок и так далее. Кро­ме того, операционная система создает необходимые условия, среду для эффективного функционирования прикладных программ, отсле­живает всевозможные нарушения и сбои в их работе. Выполняет роль диспетчера при распределении оперативной памяти между задачами.
Компьютерные системы хранят информацию на различных носи­телях: магнитных дисках, лентах, компакт-дисках и многих других. Но все эти устройства слишком медленны по сравнению со скоро­стью работы главного вычислителя — процессора. Чтобы процес­сор большую часть времени не простаивал в ожидании очередной порции данных для обработки или очередной команды для испол­нения, вся оперативная информация, нужная процессору во время работы, хранится в более дорогой, но и существенно более быстрой памяти, которая так и называется — оперативная память. Эта память является одним из важнейших ресурсов компьютера и подлежит строгому учету.
Обеспечивает пользователя удобными средствами управления большим количеством информации, хранящейся на компьютере. Так называемая файловая система и модули операционной системы, работающие с ней, решают эту задачу. Об этом чуть подробнее в следующей части книги.
Диски, файлы, файловая система
• магнитные диски
• произвольный доступ
Компьютер — это не только средство обработки информации, но и ее «кла­довая». В процессе развития компьютерных технологий было придумано не­мало способов хранения информации — от бумажных лент до оптических компакт-дисков. Однако наиболее популярными долговременными храни­лищами стали магнитные носители, и особенно магнитные диски. В чем же их достоинства? Это устройства:
• многократной записи, в отличие от одноразовых бумажных лент, пер­фокарт или компакт-дисков;
• произвольного доступа: к любой части записанной информации мож­но добраться очень быстро, без последовательного просмотра и утоми­тельной перемотки, характерных для бумажных или магнитных лент;
• быстрые, емкие и компактные;
• достаточно надежные;
• с очень неплохими показателями соотношения емкость/цена.
Таким образом, магнитные диски являются удобными и надежными уст­ройствами хранения больших объемов информации.
Но информацию надо не только аккуратно «складывать в сундуки», но и уметь быстро ее находить и эффективно использовать. Немалую роль в дос­тижении этой цели играет организация хранения информации, ее структура.
Одна из книг видного теоретика программирования и автора языка пас­каль Никлауса Вирта (Niklaus Virth) называется: «Алгоритмы + структуры данных = программы».
Он справедливо считал, что эффективность программ зависит не только от используемых алгоритмов и качества их реализации, но и в равной степени от правильности выбора структуры данных, наиболее подходящей для каждой конкретной задачи. То же самое можно сказать и о способах хранения инфор­мации.
Файловое дерево
• структура хранения информации на магнитных дисках
• файл (file), папка (folder)
• имя файла, идентификатор файла
• иерархическая файловая система (Hierarchical File System, HFS)
Компьютерные системы создавались и создаются людьми, и многие реше­ния, которые встречаются в компьютерных технологиях, «заимствованы» из обычной жизни.
Что мы делаем, когда наш стол постепенно начинает превращаться в бу­мажную свалку? Пытаемся навести порядок. Начинаем с простого — созда­ем для каждого документа титульный лист с названием документа, чтобы от­личать один документ от другого, составляем список имеющихся докумен­тов, складываем их в аккуратную стопку и помещаем все это в шкаф. Нечто аналогичное существует и на компьютерах.
Документы, хранящиеся на диске компьютера, называются файлами (file). Это могут быть не только текстовые документы, но и картинки, му­зыкальные произведения, видеоклипы, шрифты, программы и так далее. Таким образом, файл — это некоторая самостоятельная, законченная, по­именованная (имеющая название) единица хранения информации на носителях. Понятие «файл» пришло из того времени, когда основным средством ввода информации в компьютер была колода перфокарт — файл перфокарт. Хотя перфокарты практически нигде уже не использу­ются, сам термин «файл» прочно закрепился в компьютерной термино­логии.
Итак, организация информации на дисках вначале вполне соответствова­ла описанному выше сценарию. Для каждого диска создавался простой спи­сок имеющихся на нем файлов. При создании очередного файла информа­ция о нем добавлялась в список, при уничтожении файла удалялась из спи­ска. Объемы дисков быстро росли, а вместе с ними росло и количество фай­лов. Просматривать длинные списки в поисках нужного файла становилось утомительно.
Как быть, когда документов становится слишком много? Обычный путь — отсортировать документы по какому-либо критерию и сложить в папки для бумаг. Для каждой группы документов выделить отдельную папку. Если до­кументов очень много, можно воспользоваться дополнительными внутрен­ними разделителями, например: «счета», «наклад­ные», «факсы», «заявки» и так далее. Все эти папки ы7^. подписать и положить в шкаф.
То же самое и на компьютерах: документы — это файлы, папки с документами так и называются пап­ки (folders), а шкаф — это весь диск целиком. Спо соб хранения файлов несколько усложнился: вместо простого списка файлов появились новые структур­ные единицы — папки, в которых могут находиться как файлы, так и другие папки, в которых, в свою очередь, могут находиться другие файлы и папки.
Многоуровневая организация, при которой каждый новый уровень сле­дует из предыдущего, от высшего к низшему, называется иерархической. Соответственно и файловая система на диске получила название иерархи­ческой файловой системы — Hierarchical File System (HFS).
Иерархическая файловая система обеспечивает более удобный способ хранения и возможность быстрого поиска требуемой информации. Иногда о ней говорят как о файловом дереве. Действительно, если все это представить в графическом виде, то получится дерево корнями вверх. От диска, «корня» всей системы, отходят вниз «ветви» — папки первого уровня, от них «ветви» — папки второго уровня и так далее. На «ветвях» всех уровней могут находиться «листья» — файлы. Строго гово­ря папка — это тоже файл, только содержит в себе не документ или про­грамму, а информацию о других папках и файлах, «находящихся» в этой папке.
Каждый файл имеет свое имя и учетный номер, который называется иден­тификатором файла. Об идентификаторе мы мало что знаем — это внутрен­ний параметр системы и обрабатывается системными программами, а вот имя файла нам вполне доступно. Во многих случаях мы можем изменять имя файла по своему усмотрению. Но некоторые имена файлов и их местополо­жение на диске строго предопределены. Изменение имен таких файлов или изменение их местоположения может привести к потере работоспособно­сти системы. Поэтому никогда не переименовывайте и не перемещайте сис­темные файлы.
Путь к файлу
• путь к файлу, разделители фрагментов пути
• полный путь, частичный путь
Если требуется указать местоположение конкретного файла в файловой стру­ктуре, записывают путь (path) к нему, то есть перечисляют имена всех папок, через которые надо пройти, чтобы добраться до требуемого файла. Имя само­го файла указывается в этом списке последним. Имена папок в пути разделяют­ся специальным символом. Файловые системы HFS и HFS+, стандартные для Mac OS, в качестве разделителя используют двоеточие, а в файловой системе UFS, распространенной в UNIX'e, разделителем является символ «/» (slash). В иллюстративных материалах по Mac OS X чаще всего встречается «/» — не­избежное влияние UNIX'a, но истинное значение символа разделителя опреде­ляется файловой системой носителя, на котором находится файл, а не опера­ционной системой.
В большинстве случаев путь начинается с «корня» системы — с имени дис­ка. Такой путь называется полным, например:
MacOSX/Users/Petrov/Documents/PriceLists.
Иногда достаточно указать только часть полного пути, начиная с некото­рого места файловой структуры, например от папки, в которой вы в данный момент находитесь. Такой путь называется частичным, например: /Documents/PriceList.
Форматирование дисков
• форматирование магнитного диска, сектор
• таблица размещения, блок размещения
• потери дискового пространства
• файловые системы FAT32, HFS+
Каждый магнитный диск перед началом эксплуатации размечают, или фор­матируют. Фирма Apple для этого использует термин инициализация (Initialize).
Форматирование необходимо для того, чтобы подготовить диск к ра­боте, создать на нем необходимые информационные структуры. Форма­тированию подвергаются либо новые диски, на которые еще ничего не было записано, либо проблемные, когда при работе с диском возникли серьезные неприятности, от которых не удается избавиться никаким другим способом. Такая операция полностью уничтожает всю ранее за­писанную на диск информацию, поэтому форматирование диска (если он не абсолютно новый) — это крайняя мера. Будьте внимательны и ос­торожны.
Форматирование не может устранить проблем, связанных с неправильной работой аппаратуры. Если на вашем компьютере барахлит контроллер дис­ка или плохо работает шина, то форматирование диска не спасет.
Процесс форматирования состоит из двух этапов.
На первом этапе, который называется форматированием низкого уров­ня, весь диск делится на логические участки, называемые секторами, раз­мером по 512 байт каждый. Все секторы нумеруются от нуля до некоторого максимального значения, определяемого емкостью данного кон­кретного диска. Чтобы добраться до нужного сектора на диске, надо знать его номер.
На втором этапе, называемом форматированием верхнего уровня, на диск записывается различная служебная информация, создается основа файло­вой системы.
Для учета занятости секторов, во время форматирования на диске созда­ется специальная таблица — таблица размещения. Она имеет фиксирован­ный размер: 216 = 65 536 записей (снова степень двойки...). В такой таблице можно учесть каждый сектор, если объем диска не превышает 32 Мбайт (65 536 х 512 байт). В противном случае приходится объединять два, три и более соседних сектора в один общий блок и хранить информацию о целых блоках. Размер блока размещения равен объему диска (в байтах), деленному на количество записей в таблице размещения и округленному до ближайше­го кратного 512.
При создании или расширении файла ему выделяется целое число блоков, так как таблица размещения не может учитывать более мелкие участки диска. Даже если вы создали файл, состоящий всего из несколь­ких слов текста, на диске он все равно занимает не менее одного блока. Таким образом, часть пространства, выделенного файлам, просто про­падает зря. Если объем диска невелик, то и потери дискового простран­ства сравнительно невелики. С увеличением объемов дисков возрастают и размеры блоков размещения и соответственно суммарные объемы «пустот».
Во времена первых персональных компьютеров казалось, что диска объ­емом в 32 Мбайт будет более чем достаточно на долгие годы. Поэтому и таблица размещения размером 216 записей считалась вполне приемлемой. Однако время внесло свои коррективы. С появлением гигабайтных дисков ситуация заметно ухудшилась — потери дискового пространства стали ощутимы. Пришлось вводить новый стандарт на разметку дисков с сущест­венно большими таблицами размещения. В мире PC этот новый стандарт стал называться FAT32 Аналогичный стандарт на Macintosh'ax называется HFS+. И в том, и в другом случае таблицы размещения содержат не 216, а 232 (4 294 967 296) записей.
Новые таблицы размещения позволяют учесть все секторы для дисков объемом до 2 Тбайт. Таким образом, переход на новый стандарт формата дисков позволяет уменьшить потери дискового пространства, но при этом возрастает размер самой таблицы.
Точности ради следует заметить, что для повышения эффективности рабо­ты в стандарте HFS+ предусмотрено, чтобы количество секторов в блоке размещения также являлось степенью двойки. Таким образом, блоки разме­щения в HFS+ могут быть объемом в 512 байт, 1 Кбайт (2x512), 2 Кбайт (4 х 512), 4 Кбайт (8x512) и так далее.
Дисковые тома
• дисковый том (volume), раздел (partition)
• монтирование тома (mount)
Так как потери дискового пространства зависят от размера блока размеще­ния, а значит и от объема диска, можно попытаться уменьшить «пустоты» путем разбиения одного большого диска на несколько логических дисков меньшего объема, называемых томами (volumes).
Понятия диск и том часто используют как синонимы, хотя это не совсем корректно. Термин «диск» больше связан с физическим носителем инфор­мации, со средой хранения и электроникой управления устройством, а тер­мин «том» связан с логической структурой данных на диске, с файловой си­стемой.
Когда общее пространство доступных секторов диска делится на некоторые непрерывные фрагменты, это называется разбиением на разделы (partition). Когда, помимо этого, в разделах создаются все необходимые для отдельных дисков информационные структуры, разделы становятся томами. Деление диска на разделы происходит во время форматирования низкого уровня, со­здание дисковых томов — во время форматирования высокого уровня.
Каждый том ведет себя, с точки зрения пользователя, как отдельное уст­ройство (логическое), хотя реально несколько томов могут быть расположе­ны на одном и том же физическом устройстве, то есть могут занимать не­сколько разделов диска. Для каждого тома создается своя отдельная таблица размещения. Следовательно, логический том, составляющий часть большо­го диска, имеет меньшие блоки размещения и меньшие потери дискового пространства. Разбиение большого диска на логические тома имеет еще од­но преимущество: при возникновении серьезных проблем с каким-либо то­мом и необходимостью применения радикальных мер по наведению поряд­ка на нем, вы можете удалить информацию с данного тома, ничего не меняя на остальных томах.
Чтобы получить доступ к тому на магнитном диске, система сначала должна настроиться на работу с ним, установить канал обмена данными. Операция подготовки системы для работы с данным томом называется монтированием тома (mount). Пользователь может устанавливать доступ как к локальным томам, расположенным на данном компьютере, так и к удаленным, расположенным на других компьютерах (серверах), подклю­ченных через компьютерную сеть. Кроме магнитных дисков в настоящее время используются и другие носители информации: компакт-диски, маг­нитооптические диски и другие. Многие из них поддерживают ту или иную файловую структуру и являются с точки зрения системы отдельными тома­ми. Например, когда вы вставляете компакт-диск в соответствующий диско­вод, система, как и в случае с магнитными дисками, сначала настраивается на работу с ним, «монтирует» этот диск, и лишь затем вы получаете к нему доступ.
Ссылки на файлы
• ссылка на файл
• символическая ссылка (symbolic link)
• ссылка по идентификатору (alias)
Многие операционные системы, в том числе и Mac OS, позволяют созда­вать так называемые ссылки на файлы. Ссылка (в некоторой литературе псевдоним) — это файл, который содержит информацию о другом фай­ле для быстрого поиска и обращения к нему. Можно создать ссылку и по­местить ее туда, где удобнее с нею работать, не перемещая и не копируя сам оригинал. Можно создать несколько ссылок на один и тот же файл и «разложить» их в разные места. Ссылки занимают мало места на диске и обеспечивают удобный и быстрый доступ к нужному документу или про­грамме.
Существует два основных механизма ссылок на файлы: символические ссылки (symbolic links) и ссылки по идентификатору (aliases). В символических ссыл­ках для указания конкретного файла используется полный путь к этому файлу в файловой системе. Этот способ удобен тогда, когда файл имеет фиксирован­ное имя и постоянное место на диске. Сам файл при этом можно обновлять. Но изменение имени файла-оригинала или его местоположения в файловой сис­теме приводит к разрушению связи символической ссылки с этим файлом.
Ссылка по идентификатору содержит уникальный номер файла-оригинала — идентификатор файла. Поэтому такая ссылка позволяет перемещать как ориги­нал, так и саму ссылку по файловой системе: ссылка найдет оригинал в любом месте, так как ей важен только номер файла-оригинала, а не его местоположе­ние. Но обновление файла-оригинала разрушает связь ссылки с оригиналом, так как при обновлении, по сути, происходит удаление предыдущего файла и замена его на новый с тем же именем, но с другим идентификатором.

 

 
| На главную | Содержание | Вперёд | Назад |

Последнее обновление

С вопросами и предложениями можно обращаться на nicivas@bk.ru