Архитектура семейства UNIX: принципы работы, пользовательские интерфейсы и файловые системы

Министерство Образования и Науки Республики Казахстан
Казахский Экономический Университет имени Т. Рыскулова
Инженерно-Экономический факультет
По дисциплине : Операционные системы
«Архитектура семейства операционных систем Unix»
Выполнил : студент II курса, гр. ВТ 206
Саин Дина
Проверил :
Алматы 2007
Содержание
Введение 3
Глава 1: Характеристика современных ОС 5
1. 1: Принципы работы ОС 5
1. 2: Пользовательские интерфейсы ОС 6
1. 3: Файловые системы ОС 8
Глава 2: Характеристика и структура ОС UNIX 17
2. 1: UNIX - особенности и базовые принципы 17
2. 2: Основные команды управления ОС UNIX 19
2. 3: Архитектура семейства ОС UNIX 29
Глава 3: Отличия ОС UNIX от других ОС 33
Заключение 37
Список использованных источников 39
Введение
На первый взгляд UNIX выглядит неоправданно сложной операционной системой - достаточно посмотреть на огромное количество команд, описанных в этой книге. Но под кажущейся сложностью скрывается очень простая и элегантная операционная система. Отдельные детали могут быть сложными, но общие принципы - просты.
Исторический недостаток Unix - недоступность системы для программистов, работающих вне промышленных или университетских вычислительных центров. Несмотря на то, что версии Unix для ПК существуют уже давно, они не обладают изяществом и мощью, отличающими операционные системы для миникомпьютеров, мэйнфреймов или современных серверов. Кроме того, ранние коммерческие версии Unix были слишком дороги - зачастую, дороже компьютеров, на которых им предстояло работать.
Именно указанная недоступность способствовала рождению Linux - широкодоступной операционной системы, аналогичной Unix.
Первоначально новая операционная система была дня Торвальдса всего лишь увлечением. Ранние версии Linux даже не предполагали наличия конечного пользователя. Зато предоставляемая ими голая функциональность давала программистам Unix радость творчества, позволяя заниматься программированием ядра системы. Ядро, как основа операционной системы, отвечает за бесперебойную работу всех ее частей. Операционной системы без мощного, устойчивого ядра просто не существует.
Со временем команда программистов существенно выросла, появились базовые составляющие полной операционной системы, и вскоре для всех, кто был вовлечен в процесс, стало очевидно, что Linux обретает черты полновесной операционной системы. В марте 1992 г. появилось ядро версии 1. 0, и эта дата считается днем рождения первой официальной версии Linux. С этого момента стало возможным выполнять в Linux большую часть программ для Unix - от компиляторов до сетевого программного обеспечения и графической оболочки X Windows.
Linux, несомненно, - продукт культуры Unix. Как операционная система (вернее, набор операционных систем с общими свойствами), Unix возник задолго до появления настольных компьютеров. Он был разработан в середине 70-х, когда нормой в корпоративном мире было использование миникомпьютеров и мэйнфреймов. В настоящее время Unix используется в корпоративной среде, а также нередко применяется в системах клиент-сервер сетей intranet.
Linux продолжает развиваться как уникальный двойник операционной системы Unix, предназначенный для ПК. Теперь он обеспечивает широкую аппаратную поддержку, в том числе множества популярных и распространенных периферических устройств. Прекрасные характеристики новой системы, обеспечивают многим ПК мощность, сравнимую с мощностью рабочей станции среднего класса, наподобие систем SPARC компании Sun Microsystems. Технически Linux не идентичен Unix и не может претендовать на эту торговую марку. Однако прилагается максимум усилий для того, чтобы ввести в новую систему все нужные средства, которые позволили бы сертифицировать ее как операционную систему Unix.
Полное описание, а также примеры работы и функционирования операционной системы UNIX мы и рассмотрим в данной курсовой работе.
Глава 1
Характеристика современных ОС
1. 1 Принципы работы ОС
Операционная система - это комплекс взаимосвязанных системных программ, назначение которого - организовать взаимодействие пользователя с компьютером и выполнение всех других программ. Операционная система выполняет роль связующего звена между аппаратурой компьютера, с одной стороны, и выполняемыми программами, а также пользователем, с другой стороны операционная система обычно хранится во внешней памяти компьютера - на диске . При включении компьютера она считывается с дисковой памяти и размещается в ОЗУ. Этот процесс называется загрузкой операционной системы.
В функции операционной системы входит:
- осуществление диалога с пользователем;
- ввод-вывод и управление данными;
- планирование и организация процесса обработки программ;
- распределение ресурсов (оперативной памяти и кэша, процессора, внешних устройств) ;
- запуск программ на выполнение;
- всевозможные вспомогательные операции обслуживания;
- передача информации между различными внутренними устройствами;
- программная поддержка работы периферийных устройств (дисплея, клавиатуры, дисковых накопителей, принтера и др. ) .
Операционная система содержит следующие основные компоненты:
- программы управления вводом/выводом;
- программы, управляющие файловой системой и планирующие задания для компьютера;
- процессор командного языка, который принимает, анализирует и выполняет команды, адресованные операционной системе.
Для управления внешними устройствами компьютера используются специальные системные программы - драйверы . Драйверы стандартных устройств образуют в совокупности базовую систему ввода-вывода (BIOS), которая обычно заносится в постоянное ЗУ компьютера.
1. 2: Пользовательские интерфейсы ОС
Как и большинство интерфейсов операционных систем, KDE разрабатывалась группой программистов для Linux, стремившихся создать нечто полезное. Проект KDE возник в октябре 1996 г. в Германии по инициативе Маттиаса Эттриха, (Matthias Ettrich) . Первоначальной целью проекта было создание мощной среды рабочего стола для Linux и других систем Unix, аналогичной коммерческой CDE (Common Desktop Environment - Общая среда рабочего стола), входящей в коммерческие платформы Unix, например Solaris. Вскоре проект перерос свое первоначальное назначение - эмуляцию CDE.
Вклад в разработку KDE вносят сотни разработчиков во всем мире, общающиеся друг с другом по электронной почте и лишь изредка собирающиеся вместе. Желающие включиться в разработку КDЕ могут заниматься компонентами ядра - например, диспетчером окон, панелью рабочего стола и т. д. - либо создавать программы для КDЕ (использующие ее программный интерфейс) .
К создателям КDЕ, кроме собственно разработчиков системы и программ для нее, относятся переводчики, составители технических описаний и дизайнеры пользовательского интерфейса, специалисты по мультимедиа.
КDЕ не заменяет систему X Windows, а лишь использует ее как основу для построения рабочего стола.
рели вам приходилось пользоваться диспетчерами окон X Windows - Sawfish, AfterStep или даже CDE, - вы сразу обратите внимание на собственный диспетчер окон КDЕ - kwin. Одна из его функций - размещение значков на рабочем столе.
Кроме диспетчера окон kwin, обеспечивающего основные функции управления окнами, КDЕ имеет несколько важных составляющих, наподобие панели задач и главного меню, обеспечивающих простой доступ к программам.
Наконец, дистрибутив KDE содержит обширный набор программ, среди которых стандартные УТИЛИТЫ, средства системного администрирования и развлекательные пакеты. В него даже входит офисный комплект, подобный GNOME Office и Microsoft Office 2000.
Если вы освоили и другие диспетчеры окон Linux, то, возможно, уже запускали с помощью программы Pager несколько рабочих столов с некоторым количеством открытых окон в каждом. Например, на одном рабочем столе можно открыть браузер, на другом - текстовый редактор, на третьем - окна терминалов.
В КDЕ реализована все та же идея - обеспечение нескольких визуальных рабочих пространств. По умолчанию в KDE четыре рабочих стола. Чтобы перейти на другой рабочий стол, щелкните на его имени в панели либо воспользуйтесь сочетаниями клавиш Ctrl+F1 (для первого рабочего стола), Ctrl+F2 (для второго) и т. д.
1. 3: Файловые системы ОС
Файловая система (ФС) является важной частью любой операционной системы, которая отвечает за организацию хранения и доступа к информации на каких-либо носителях. Рассмотрим в качестве примера файловые системы для наиболее распространенных в наше время носителей информации - магнитных дисков. Как известно, информация на жестком диске хранится в секторах (обычно 512 байт) и само устройство может выполнять лишь команды считать/записать информацию в определенный сектор на диске. В отличие от этого файловая система позволяет пользователю оперировать с более удобным для него понятием - файл. Файловая система берет на себя организацию взаимодействия программ с файлами, расположенными на дисках. Для идентификации файлов используются имена. Современные файловые системы предоставляют пользователям возможность давать файлам достаточно длинные мнемонические названия.
Под каталогом в ФС понимается, с одной стороны, группа файлов, объединенных пользователем исходя из некоторых соображений, с другой стороны каталог - это файл, содержащий системную информацию о группе составляющих его файлов. Файловые системы обычно имеют иерархическую структуру, в которой уровни создаются за счет каталогов, содержащих информацию о файлах и каталогах более низкого уровня.
Рассмотрим более подробно структуру жесткого диска. Базовой единицей жесткого диска является раздел, создаваемый во время разметки жесткого диска. Каждый раздел содержит один том, обслуживаемый какой-либо файловой системой и имеющий таблицу оглавления файлов - корневой каталог. Некоторые операционные системы поддерживают создание томов, охватывающих несколько разделов. Жесткий диск может содержать до четырех основных разделов. Это ограничение связано с характером организации данных на жестких дисках IBM-совместимых компьютеров. Многие операционные системы позволяют создавать, так называемый, расширенный (extended) раздел, который по аналогии с разделами может разбиваться на несколько логических дисков.
В первом физическом секторе жесткого диска располагается головная запись загрузки и таблица разделов (табл. 1) . Головная запись загрузки ( master boot record, MBR ) - первая часть данных на жестком диске. Она зарезервирована для программы начальной загрузки BIOS ( ROM Bootstrap routin e), которая при загрузке с жесткого диска считывает и загружает в память первый физический сектор на активном разделе диска, называемый загрузочным сектором (Boot Sector) . Каждая запись в таблице разделов (partition table) содержит начальную позицию и размер раздела на жестком диске, а также информацию о том, первый сектор какого раздела содержит загрузочный сектор.
Информация в компьютере хранится в памяти или на различных носителях, таких как: гибкие и жесткие диски, или компакт-диски. При выключении питания компьютера информация, хранящаяся в памяти компьютера, теряется, а хранящаяся на дисках - нет. Для уверенной работы за компьютером следует знать основные принципы хранения информации на компьютерных дисках.
Вся информация, предназначенная для долговременного использования, хранится в файлах. Файл представляет собой последовательность байт, объединенных по какому-то признаку и имеющих имя. Система хранения и работы с файлами в компьютере называется файловой системой. Для удобства файлы хранятся в различных папках, которые расположены на дисках. В компьютере может быть установлено несколько дисков. Любой гибкий диск, жесткий диск, компакт-диск, цифровой видеодиск или сетевой диск мы будем называть просто диском, так как принципы организации хранения файлов на них идентичны. Каждому диску присваивается буква латинского алфавита от А до Z, причем существуют некоторые правила обозначения. Буквой А обозначается гибкий диск, буквой С - основной диск вашего компьютера, где расположена система Windows. Буквой D и последующими буквами обозначаются остальные диски. После буквы, обозначающей диск, ставится символ двоеточия “:”, чтобы показать, что буква обозначает именно диск, например А: или С:. Кроме буквы, каждый диск имеет свое уникальное имя, также называемое меткой. Чаще всего при указании диска используется метка и буквенное обозначение в скобках. Например, надпись Main (С:) означает, что основной диск вашего компьютера имеет метку Main.
На каждом диске помещается множество различных файлов. Любой файл может располагаться как прямо на диске, так и в произвольной папке, которая в свою очередь также может располагаться в другой папке .
То, что файлы могут находиться в разных папках, позволяет расположить, на диске несколько файлов с одинаковыми именами. Структура хранения информации на диске, при котором одни папки могут располагаться в других папках, называется иерархической или древовидной. Такая структура действительно похожа на реальное дерево, на котором каждый листок представляет собой отдельный файл, а ветка - папку. Листок может расти как непосредственно из ствола, так и из любой ветки. Возможно, что от ствола отходит одна ветка, от нее - другая, а уже на ней расположены листья. Чтобы однозначно определить конкретный файл, требуется задать его название и местоположение, то есть название диска и имена всех вложенных папок, в которых находится данный файл. Часто точное расположение файла на диске называют полным именем файла или путем к файлу.
При указании пути к файлу имена папок отделяются друг от друга и от имени диска с помощью символа обратной косой черты “\”, например, С:\Мои документы\Мои рисунки\Я в молодости. jpg. Данная запись означает, что файл с именем Я в молодости. jpg расположен в папке Мои рисунки. Эта папка находится в папке Мои документы, размещенной на диске С:.
Обратите внимание, что в рассмотренном примере имя файла содержит в себе символ точки и как бы состоит из двух частей -до точки и после нее. Часть имени, расположенная после точки, называется расширением и используется для обозначения вида информации, хранящейся в файле. Например, расширение doc обозначает текстовый файл, wav - файл, содержащий звуки, а jpg - изображение. В Windows XP многие расширения файлов не показываются, так что, скорее всего, в нашем примере файл будет называться просто Я в молодости, но Windows будет знать, что работает с изображением.
Важным понятием в Windows XP является понятие ярлыка. На любой объект Windows можно сослаться из другого места. Такая ссылка и называется ярлыком. Например, в какой-то папке расположен часто использующийся рисунок. Для быстрого доступа к этому рисунку из разных мест можно поместить в эти места ярлыки, содержащие адрес реального местонахождения рисунка. Не требуется копировать программы и данные в разные папки, достаточно просто разместить ярлыки, ссылающиеся на нужный файл, в нескольких местах. Все эти ярлыки будут указывать на оригинальный файл. Удаление и перемещение ярлыка не влияет на расположение оригинального файла, поэтому использование ярлыков может обеспечить дополнительную защиту.
Что такое файлы, являющиеся элементами файловой системы? Это не только обычные файлы, но и процессы, последовательные порты и каналы межпрограммного взаимодействия. Такая абстракция была введена программистами для того, чтобы при появлении, допустим, нового порта или типа устройства не изобретать методы доступа к ним, а также стандартизировать методы доступа к ресурсам системы. Однако этот подход иногда приводит (и довольно часто) к неразберихе. Тем не менее, на сегодняшний день мы имеем то, что имеем.
Итак, логические диски отсутствуют как класс. Файловая система - единая структура, которая начинается с /. Список поддерживаемых файловых систем ну ОЧЕНЬ велик. В него также входят и Windows-системы FAT и NTFS. Правда, если на FAT доступ у вас будет полный (чтение/запись), с NTFS пока проблемы (это связано с закрытым стандартом на NTFS Microsoft) . Доступ на нее организован только в режиме чтения. Реализация доступа на запись находится пока лишь в тестовом состоянии (хотя и включено в ядро 2. 6) . Т. о. в Linux вы будите иметь доступ к вашим разделам Windows (чего нельзя сказать о Windows - для нее Linux-разделы не существуют - для решения этой проблемы есть множество специальных программ и даже плагин для TotalCommander'a) . Итак, если вы хотите обмениваться файлами между системами, заведите себе небольшой раздел под FAT, куда вы сможете скидывать необходимые файлы из Linux и читать их из Windows. Вопрос о том, в какую систему форматировать Linux: разделы - вопрос философский. Однако известно, что журналируемые файловые системы(ext3) более устойчивы при работе. Отличие такой системы от нежурналирумой в том, что в ней все операции записываются сначала в специальный файл - журнал - и только после претворяются в жизнь. И если во время работы происходит сбой (выключение питания, например), данные не будут потеряны (вернее, вероятность такого неблагоприятного исхода уменьшается) . Файловое дерево может иметь произвольную глубину, но каждый компонент в имени файла (здесь - полный путь к файлу) должен составлять не более 255 символов, а в отдельном имени должно быть не более 4095 символов. Следует оговориться, что сама файловая система не накладывает ограничений на имена. Ограничения накладываются системными вызовами (фактически ядром) .
Файловая система состоит из множества частей. Для “сборки” используется команда mount. Для хранения списка смонтированных файловых систем существует файл /etc/fstab. Команда mount имеет множество параметров. Если вы при ручном вводе не указываете какие-либо из них, система пытается получить их из данного файла. Так, при загрузке системы происходит автоматическое монтирование разделов mount -a. Как вы, наверное, уже догадались, cd-rom и floppy также необходимо монтировать. Однако современные системы справляются с этим в автоматическом режиме, представляя эти устройства как часть корневой файловой системы. Демонтирование производится командой umount (полный синтаксис я не привожу - получить его можно набрав man mount или man umount) . Если файловая система “занята”, т. е. какой-либо процесс пишет или читает из файла (в файл), отмонтировать ее невозможно. Узнать о процессах, открывших файлы, можно так:
> fuser -mv /home
Эта команда выведет список номеров (PID) процессов, которые открыли файлы:
> fuser -mv /home
USER PID ACCESS COMMAND
/home root 1 . rce. Init
В колонке ACCESS указывается тип обращения к файлам:
f - файл открыт на чтение или запись;
с - к каталогу - текущий каталог процесса;
e - процесс в данный момент выполняет программу;
r - в файловой системе находится корневой каталог процесса;
m - процесс отображает в памяти файл или совместно используемую библиотеку.
Информацию о процессе по номеру (PID) можно узнать следующим образом:
> ps -fp 7243
UID PID PPID C STIME TTY TIME CMD
Zavr 7243 4417 0 18:19 pts/3 00:00:00 /bin/bash
fuser имеет еще несколько интересных ключей:
... продолжение- Информатика
- Банковское дело
- Оценка бизнеса
- Бухгалтерское дело
- Валеология
- География
- Геология, Геофизика, Геодезия
- Религия
- Общая история
- Журналистика
- Таможенное дело
- История Казахстана
- Финансы
- Законодательство и Право, Криминалистика
- Маркетинг
- Культурология
- Медицина
- Менеджмент
- Нефть, Газ
- Искуство, музыка
- Педагогика
- Психология
- Страхование
- Налоги
- Политология
- Сертификация, стандартизация
- Социология, Демография
- Статистика
- Туризм
- Физика
- Философия
- Химия
- Делопроизводсто
- Экология, Охрана природы, Природопользование
- Экономика
- Литература
- Биология
- Мясо, молочно, вино-водочные продукты
- Земельный кадастр, Недвижимость
- Математика, Геометрия
- Государственное управление
- Архивное дело
- Полиграфия
- Горное дело
- Языковедение, Филология
- Исторические личности
- Автоматизация, Техника
- Экономическая география
- Международные отношения
- ОБЖ (Основы безопасности жизнедеятельности), Защита труда
