Архитектура семейства операционных систем Unix


Тип работы:  Курсовая работа
Бесплатно:  Антиплагиат
Объем: 34 страниц
В избранное:   
Министерство Образования и Науки Республики Казахстан

Казахский Экономический Университет имени
Т.Рыскулова

Инженерно-Экономический факультет

По дисциплине: Операционные системы

Архитектура семейства операционных систем 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 Принципы работы ОС
Операционная система — это комплекс взаимосвязанных системных программ,
назначение которого — организовать взаимодействие пользователя с
компьютером и выполнение всех других программ. Операционная система
выполняет роль связующего звена между аппаратурой компьютера, с одной
стороны, и выполняемыми программами, а также пользователем, с другой
стороны операционная система обычно хранится во внешней памяти компьютера —
на диске. При включении компьютера она считывается с дисковой памяти и
размещается в ОЗУ. Этот процесс называется загрузкой операционной системы.
В функции операционной системы входит:
1. осуществление диалога с пользователем;
2. ввод-вывод и управление данными;
3. планирование и организация процесса обработки программ;
4. распределение ресурсов (оперативной памяти и кэша , процессора,
внешних устройств);
5. запуск программ на выполнение;
6. всевозможные вспомогательные операции обслуживания;
7. передача информации между различными внутренними устройствами;
8. программная поддержка работы периферийных устройств (дисплея,
клавиатуры, дисковых накопителей, принтера и др.).
Операционная система содержит следующие основные компоненты:
1. программы управления вводомвыводом;
2. программы, управляющие файловой системой и планирующие задания для
компьютера;
3. процессор командного языка, который принимает, анализирует и выполняет
команды, адресованные операционной системе.
Для управления внешними устройствами компьютера используются специальные
системные программы — драйверы . Драйверы стандартных устройств образуют в
совокупности базовую систему ввода-вывода (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
routine), которая при загрузке с жесткого диска считывает и загружает в
память первый физический сектор на активном разделе диска, называемый
загрузочным сектором (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. Для хранения списка смонтированных файловых систем
существует файл etcfstab. Команда 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 pts3 00:00:00 binbash
fuser имеет еще несколько интересных ключей:
fuser -v filename — информация об использовании конкретного файла
filename;
fuser -k dir — убить все найденные процессы (используется с правами
root).
Организация файловой системы — не самая сильная сторона Linux. Разные
дистрибутивы организуют ее по-разному, стандартов наименования файлов как
таковых нет, в общем способность находить нужное приходит только с опытом,
к сожалению. Однако не стоит сразу же после установки системы пытаться
перемещатьпереименовывать созданные ингалятором каталоги. Дело в том, что
когда вы будете пытаться устанавливатьудалять какие-либо программы, да и
просто запускать их, они будут искать свои файлы на стандартных местах.
Итак, перечислим основные каталоги системы и их назначение:
boot — здесь хранится файл ядра — обычно имеет имя vmlinuz;
bin — программы минимальной работоспособности системы;
lib — библиотеки C;
opt — вспомогательные программы;
proc — образы выполняющихся процессов;
root — начальный каталог root'а;
mnt — сюда монтируются сменные носители (floppy, cd-rom, flash и др.);
dev — каталог устройств (помните, о чем говорилось в начале статьи?);
etc — каталог конфигурационных файлов (вы ведь знаете, что в LINUX НЕТ
реестра?);
tmp — каталог временных файлов;
usr — каталог большинства стандартных программ и компонентов;
var — каталог хранения логов, буферные каталоги;
varlog — логи;
home — каталог домашних директорий пользователей.
При установке рекомендуется создавать несколько разделов на диске
(естественно, дополнительно, кроме раздела подкачки swap и корневого
раздела). Соответственно для usr, var, home. Так проще контролировать
использование жесткого диска. В Linux есть несколько типов файлов (а
вернее, их семь):
— просто файлы (создается прикладными программами, удаление rm);
— каталоги (создание mkdir, удаление rmdir (rm -f));
— файлы символьных устройств (создание mknod, удаление rm);
— файлы блочных устройств (создание mknod, удаление rm);
— локальные сокеты (создание socket, удаление rm);
— именованные каналы (создание mknod, удаление rm);
— символически ссылки (создание ln (-s — для символической ссылки),
удаление rm).
Ссылки бывают жесткие и мягкие. Жесткую ссылку невозможно отличить от
файла, на который она указывает — для системы они идентичны. При удалении
файла, на который есть несколько жестких ссылок, система не освобождает
блоки до тех пор, пока существует хоть одна ссылка. Жесткие ссылки
создаются ln, удаляются rm. Жесткие ссылки не могут указывать на файлы
в других файловых системах. Символическая (или мягкая) ссылка позволяет
указывать вместо имени файла его псевдоним. Разница между мягкими и
жесткими ссылками в том, что жесткая ссылка указывает прямо на индексный
дескриптор файла, а символическая указывает на файл по имени (ссылка и
объект в данном случае являются разными объектами файловой системы). Для
чего нужны ссылки? Ссылки похожи на ярлыки в Windows, соответственно и
использование должно быть вам ясно. (Например, программа требует наличия
файла в одном каталоге, а он в совершенно другом. Что делать? Создаем
ссылку и наслаждаемся!) Каждый файл имеет свои атрибуты из девяти битов.
Эти биты определяют, кто может читать, изменять и т.д. данный файл. Еще три
бита влияют на выполнение файла. Еще четыре бита устанавливаются при
создании файла и не должны изменяться. Просмотреть атрибуты файла можно с
помощью команды ls -l (для файлов) ls -d (для каталогов). Например:
ls -l homementalzavr1.jpg
-rw-r--r-- 1 zavr mentalzavr 6001 Апр 23 14:50 homementalzavr1.jpg
Всего система хранит около 40 информационных полей. В том числе и
последнее время изменения атрибутов. Хотя это поле и называется временем
последнего изменения (c(change)time), что ошибочно.
Разберем вывод последней команды:
— Тип файла и режим доступа к нему — дефис значит, что это обыкновенный
файл.
— rwxr-xr-x — три набора битов режима. Порядок следующий: владелец,
группа, другие пользователи. Соответственно r — чтение, w — запись, x —
выполнение. Значит, на данный файл владелец имеет полные права, все
остальные — право на чтение и выполнение.
— Следующее поле — счетчик ссылок на файл. Любой каталог имеет минимум две
жесткие ссылки: одну из специального файла “.”, а вторую — из корневого
каталога. Символические ссылки не учитываются.
— Далее идут поля с владельцем и группой. (здесь zavr mentalzavr).
— После этого — размер файла в байтах и дата последней модификации.
Для файлов устройств результаты будут несколько иные — читайте
документацию:-).
Поговорим теперь об изменении прав доступа к файламкаталогам. Это
делается с помощью команд chmod, chown, umask:
Chmod — право изменять права (простите за каламбур:-)) есть лишь только у
владельца файла и суперпользователя. Режим доступа можно указывать как в
виде восьмеричного числа, так и виде мнемообозначения.
Chown — смена владельца и группы.
Umask — служит для задания стандартных прав доступа.
Выше я приводил только консольные команды для работы с файловой системой.
Однако сейчас существует множество файловых менеджеров, которые здорово
помогают в работе. Во всех графических оболочках (будь то KDE или GNOME)
существует стандартный файловый менеджер. Однако рекомендую использовать
белее удобные приложения. Рассмотрим два из них.

Глава 2

Характеристика и структура ОС UNIX

2.1: Архитектура семейства ОС UNIX

Все системные действия выполняет ядро операционной системы Unix. Ядро
- обычный выполняемый файл, расположен в файле Unix или standunix или
vmunix или vmlinuz (в зависимости от конкретной реализации). Можете
посмотреть размер этого файла – не маленький. При начальной загрузке
системы ядро целиком загружается в оперативнную память и в дальнейшем
резидентно находится в ней, выполняя все необходимые работы.
ДРАЙВЕРЫ УСТРОЙСТВ. И тех, которые есть, и тех, которых нет, но могут
быть, а также и такие, которые никогда вам не понадобятся.
УПРАВЛЯЮЩИЕ ПОДПРОГРАММЫ: части кода, ответственные за обеспечение
работы пользовательских программ - разделение времени и прочих
ресурсов системы.
СЛУЖЕБНЫЕ ТАБЛИЦЫ И ДАННЫЕ ЯДРА: таблицы текущих процессов, открытых
файлов, управляющие структуры...
СИСТЕМНЫЕ ВЫЗОВЫ. (То, что MS-DOS называется "21 прерывание", можно
считать некоторой аналогиейпародией на системные вызовы.) С
точки зрения программиста это обычная си-шная функция, только
выполняет она системно-зависимые действия, например: прочитать
данные из файла, установить сетевое соединение, создать каталог, и т.д.
и т.п. Все системные вызовы ( а всего их более 1500 штук ) вкомпилированы в
тело ядра Unix. Пользовательские программы, вызывающие функции,
являющиеся системными вызовами, на самом деле содержат только jump'ы на
соответствующие адреса памяти в ядре. В пользовательскую программу
системные вызовы не влинковываются.
БУФЕРНЫЙ КЭШ. Часть оперативной памяти резервируется под кэширование
чтения и записи на диск. Любая операция чтения с диска приводит к тому,
что прочитанные блоки помещаются в буферный кэш, а из него уже
передаются запросившим данные программам. Если блок попал в кэш, то все
последующие обращения к нему будут получать образ блока из кэша, причем
независимо от того та же самая программа обращается к блоку или какая-либо
другая. Кэшируется также и запись на диск, опять же, разделяемая между
всеми выполняемыми программами.
ПРОЦЕССЫ. Процессом в Unix называется выполняющаяся программа.
РЕЕНТЕРАБЕЛЬНОСТЬ КОДА. Когда одна и та же программа (выполняемый файл)
запущена в нескольких экземплярах, то в оперативную память загружается
только одна копия выполняемого ассемблерного кода на всех. Каждый
выполнямый процесс использует один и тот же текст программы, просто у
каждого процесса имеется свой собственный указатель на текущий оператор.
РАЗДЕЛЯЕМЫЕ БИБЛИОТЕКИ. (В Windows есть похожее понятие DLL динамически
подгружаемая библиотека). Некоторое количество часто выполняемых функций
(например, printf, да и много других) оформляется в виде специальным
образом подготовленной библиотеки (SHARED LIBRARY). При компиляции
программы, использующей разделяемые библиотеки, эти функции не
линкуются внутрь кода программы. Они "выдергиваются" из библиотеки
на стадии выполнения программы. Этим мы экономим место на диске и в
оперативной памяти: в программах отсутствует код разделяемых функций, а
в оперативной памяти эта функция присутствует в одном экземпляре на
всех. SWAPING. Каждый Unix-процесс функционирует в своем собственном 32-х
битном виртуальном адресном пространстве, не пересекающемся с другими.
Адресное пространство процесса может быть большим, чем физическая
оперативная память. Виртуальная память поддерживается с помощью PAGING'а -
разрешения виртуальных адресов в физические "на лету", с подкачкой
отсутствующих страниц памяти со swap-области на жестком диске.
На самом деле SWAPING'а как такового в Unix'е нет, вместо него применяется
гораздо более гибкий PAGING. (swaping - по определению, это ПОЛНАЯ
выгрузка программы на swap-область с целью освобождения места в
оперативной памяти).
Область памяти, занятая программой, разделена на три части: TEXT
(выполняемые коды программы), DATA (статические данные программы), STACK
(динамические данные). Когда операционка освобождает место в памяти за
счет TEXT'а, то она не занимается сбросом его на диск. Она сразу
помечает его как свободный. Действительно, когда потребуется загрузить
TEXT обратно в память, его можно будет взять из самого выполняемого
файла с программой. Такая экономия имеет один побочный эффект. Файл
программы, которая в данный момент выполняется, невозможно уничтожить.
Операционная система сообщит в этом случае: "text file busy", и
откажется выполнять удаление.
БИТ НАВЯЗЧИВОСТИ. (sticky bit). Выполняемая программа может иметь
дополнительный атрибут. Так называемый "бит навязчивости". Когда такая
программа заканчивает выполнение, операционка (по возможности) старается
не занимать память, в которой находился текст программы. Соответственно,
повторный ее запуск произойдет очень быстро - ведь программа все еще
загружена в память, ее не требуется зачитывать с диска. Нужно просто
передать на нее управление.

2.2: Основные команды управления ОС UNIX

awk - Контекстный поиск и преобразование текста.

Формат команды: awk [ -Fc ] [ -f ] [ прог ] [ параметры ]
[ файлы ]

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

Вы можете абсолютно на бесплатной основе полностью просмотреть эту работу через наше приложение.
Похожие работы
Операционные системы: Linux vs Windows - достоинства и недостатки
Пользовательский интерфейс и оболочки
КУРС ЛЕКЦИИ ПО ДИСЦИПЛИНЕ ОПЕРАЦИОННЫЕ СИСТЕМЫ
Архитектура и Функциональные Характеристики Операционных Систем: Теоретические Основы и Практические Реализации
Операционные системы Windows: особенности, преимущества и недостатки различных версий
Архитектура и Структура Операционных Систем: MS DOS и Развитие Микропроцессоров на Базе Intel 386/486 и Pentium
Методы сжатия и архивирования данных, обслуживания жестких дисков
Архитектура микроядерных операционных систем: принципы, преимущества и недостатки
Операционные системы: история и развитие Windows, Unix, Linux, Android и MS DOS
Файловая система HPFS
Дисциплины