СОДЕРЖАНИЕ
ВВЕДЕНИЕ. 3
1. РАЗЛИЧНЫЕ СОСТАВЛЯЮЩИЕ ОПЕРАЦИОННОЙ СИСТЕМЫ.. 5
2. ОСНОВНЫЕ ФУНКЦИИ UNIX СИСТЕМЫ.. 8
2.1. init 8
2.2. Подключение к системе с терминалов. 8
2.3. Syslog. 9
2.4. Периодическое выполнение команд: cron и at 9
2.5. Графический интерфейс пользователя. 10
2.7. Подключение к системе через сеть. 10
2.8.Сетевые файловые системы.. 11
2.9. Почта. 11
2.10. Печать. 12
3. ФАЙЛОВАЯ СИСТЕМА.. 13
4. ЗАПУСК СИСТЕМЫ И ПЕРЕЗАГРУЗКА.. 17
4.1. Обзор. 17
4.2 Процесс запуска при близком рассмотрении. 18
4.3. Завершение работы и выключение системы.. 21
4.4. Перезагрузка системы.. 23
4.5. Однопользовательский режим работы.. 24
4.6. Дискеты для экстренной загрузки. 24
ЗАКЛЮЧЕНИЕ. 26
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ.. 27
ПРИЛОЖЕНИЕ. 28
ВВЕДЕНИЕ
В данной курсовой работе дается обзор операционной системы Linux. Прежде всего, рассматриваются основные функции системы. Затем следует описание программ, реализующих эти функции. Linux является Unix-подобной операционной системой, которая используется на различных компьютерах PC-386. Впервые она была представлена как pасшиpение к операционной системе Minix и ее первые версии включали поддержку только файловой системы Minix.Непрерывное снижение цен, рост производительности в наше время и ожидаемое появление новых микро- и супер-микрокомпьютеров делают мощь системы UNIX доступной для все большего круга пользователей. Системы UNIX или типа UNIX работают на любых машинах, от уровня PC-XT до AT и выше. Доступность больших объемов оперативной памяти и мощных микропроцессоров привела к возрастанию интереса к многозадачности, системам мультипроцессирования - сфере, в которой UNIX имеет солидную репутацию.Однако применение UNIX с максимальной отдачей - дело нелегкое. Люди годами высказывали неудовлетворение тем, что она не является "дружественной" по отношению к пользователю - и это разумная критика, хотя на самом деле UNIX содержит средства для построения интерфейсов любого требуемого уровня сложности. Наиболее важная причина трудоемкости эффективного использования UNIX состоит в том, что в системе используются очень интересные и эффективные идеи, не знакомые многим людям, работавшим с более простыми операционными системами. UNIX предоставляет также гораздо больше инструментальных средств, более гибких и с существенно большими возможностями, чем, например, популярная MS-DOS (в чем можно убедиться беглым сравнением соответствующих руководств). Цель курсовой работы – дать понимание системы в целом, то есть рассмотреть, выделить главное и описать операционную систему Linux. Для достижения поставленной цели необходимо решить следующие задачи:- рассмотреть составляющие операционной системы; - рассмотреть основные функции системы;- рассмотреть файловую систему;- рассмотреть и описать запуск системы и перезагрузку;- сделать соответствующие выводы, изложить материал. Актуальность работы объясняется тем, что сегодня навыки пользователя – это одно из важнейших требований к современным сотрудникам практически любого предприятия, изучить и разобраться в операционных системах - это одна из важнейших задач в приобретении данных навыков.
1. РАЗЛИЧНЫЕ СОСТАВЛЯЮЩИЕ ОПЕРАЦИОННОЙ СИСТЕМЫ
Любая UNIX-подобная операционная система состоит из ядра и некоторых системных программ. Также существуют некоторые прикладные программы для выполнения какой-либо задачи. Ядро является сердцем операционной системы. Оно размещает файлы на диске, запускает программы и переключает процессор и другое оборудование между ними для обеспечения мультизадачности, распределяет память и другие ресурсы между процессами, обеспечивает обмен пакетами в сети и т.п. Ядро само по себе выполняет только маленькую часть общей работы, но оно предоставляет средства, обеспечивающие выполнение основных функций. Оно также предотвращает использование прямого доступа к аппаратным средствам предоставляя специальные средства для обращения к периферии. Таким образом ядро позволяет контролировать использование аппаратных средств различными процессами и обеспечивать некоторую защиту пользователей друг от друга.Средства, предоставляемые ядром, используются через системные вызовы. Системные программы используют средства, предоставляемые ядром для обеспечения выполнения различных функций операционной системы. Системные и все остальные программы выполняются «на поверхности ядра», в так называемом пользовательском режиме.Существует некоторая разница между системными и прикладными программами. Прикладные программы предназначены для выполнения какой-либо определенной задачи, в то время как системные программы используются для поддержания работы системы. Текстовый процессор является прикладной программой, а программа telnet - системной, хотя зачастую граница между ними довольно смутная. Довольно часто операционная система содержит компиляторы и соответствующие им библиотеки (GCC и C библиотеки для Linux), хотя не обязательно все языки программирования должны быть частью операционной системы. Документация, а иногда даже игры, могут являться ее частью. Обычно состав операционной системы определяется содержимым установочного диска или ленты, хотя дело обстоит несколько сложнее, так как различные части операционной системы разбросаны по разным FTP серверам во всем мире.Важные составляющие ядра.Ядро системы Linux состоит из нескольких основных частей: - блок управления процессами, - блок управления памятью, - драйверы- устройств, - драйверы файловых систем, - блок управления сетью а также другие небольшие процедуры.Наиболее важные составляющие ядра (обеспечивающие жизнеспособность системы) - это блок управления памятью и процессами. Блок управления памятью обеспечивает распределение областей памяти и swap-областей между процессами, составляющими ядра и для кэш-буфера. Блок управления процессами создает новые процессы и обеспечивает многозадачность путем переключения задач.На самом нижнем уровне ядро содержит драйверы устройств для каждого типа поддерживаемого оборудования. Существует довольно большой набор различных драйверов, так как постоянно разрабатываются новые типы устройств. Существует довольно много одинаковых устройств, которые различаются только тем, как происходит взаимодействие между самим устройством и драйвером. Такое сходство позволяет использовать классы драйверов, поддерживающих одинаковые операции. В каждом члене такого класса используется однотипный интерфейс для ядра, но различные схемы взаимодействия с устройством. Например, все драйверы жесткого диска представляются для ядра абсолютно одинаково, то есть у них у всех имеются такие операции как «инициализация жесткого диска» чтение сектора N, «запись сектора N».Некоторые функции, предоставляемые ядром, имеют одинаковые свойства. Например, различные сетевые протоколы объединены в один программный интерфейс - BSD socket библиотеку. Вот другой пример - различные файловые системы, поддерживаемые системой Linux. Ядро содержит виртуальную файловую систему (Virtual File System - VFS) которая включает в себя все функции, используемые для работы системы, а также драйвер для каждой поддерживаемой файловой системы. При попытке доступа к какой-либо файловой системе запрос проходит через VFS, откуда перенаправляется к соответствующему драйверу файловой системы.
2. ОСНОВНЫЕ ФУНКЦИИ UNIX СИСТЕМЫ
В этом разделе достаточно поверхностно рассматриваются некоторые наиболее важные функции UNIX системы. Более подробно они рассмотрены в следующих главах.
Единственную и самую важную функцию в UNIX системе предоставляет процесс init. Он запускается в любой UNIX системе как самый первый процесс, а также завершает процедуру загрузки системы. При запуске init, продолжается процесс загрузки (проверяются и устанавливаются файловые системы, запускаются различные программы-демоны и т.д.).Точный список того, что выполняется при запуске init, зависит от версии программы. Обычно init предоставляет однопользовательский режим, при котором никто не может подключиться к системе. Обычный режим - это многопользовательский. Некоторые версии используют понятие «уровень запуска». Например, однопользовательский и многопользовательский режимы - это разные уровни запуска. Также существуют дополнительные уровни, например для запуска X-windows. При работающей системе, две самые важные задачи программы init - это удостоверится, что все программы-демоны getty работают (т.е. имеется возможность подключения к системе) и адаптирование orphan-процессов (т.е. процессов, чей родительский процесс был уничтожен; в системе UNIX все процессы должны принадлежать одному дереву процессов, поэтому orphan-процессы должны быть адаптированы).При завершении работы системы и перезапуске, init уничтожает все оставшиеся процессы, демонтирует файловые системы и останавливает процессор.
Подключение к системе с терминалов (через последовательные линии) и с главной консоли (если не запущены X) обеспечивается программой getty. init запускает отдельный процесс getty для каждого терминала. getty считывает имя пользователя и запускает программу login, которая считывает пароль. Если имя и пароль соответствуют одному пользователю, то login запускает оболочку.При выходе из оболочки, то есть при выходе из системы, или при завершении программы login в случае если имя пользователя и пароль не подходят, init запускает новый процесс getty. Ядро не контролирует подключения к системе, а только выполняет системные программы.
Иногда при работе ядра или различных системных программ возникают ошибки, предупреждения и другие сообщения. Программа syslog записывает все сообщения в файл так, что он может быть впоследствии просмотрен. Syslog можно сконфигурировать так, что сообщения будут сортироваться и записываться в разные файлы по приоритету. Например, сообщения ядра часто направляются в отдельный файл, так как эти сообщения наиболее важные и должны регулярно просматриваться во избежание серьезных проблем.
Как отдельным пользователям, так и системному администратору иногда требуется периодически запускать определенные команды. Например, системному администратору может потребоваться периодически запускать команду для очистки каталогов от временных файлов (/tmp и /var/tmp), для предотвращения переполнения диска.Для этого используется функция cron. У каждого пользователя имеется файл crontab, в котором содержится список команд, представленных к выполнению и количество раз, которое они должны быть выполнены. Программа-демон crond обеспечивает своевременное выполнение указанных команд.Функция at идентична функции cron, только команда запускается один раз в указанное время и запуск больше не повторяется.
Как в системе UNIX так и в Linux, пользовательский интерфейс не встраивается в ядро системы. Вместо этого он представляется программами пользовательского уровня. Это применяется как к текстовым, так и к графическим оболочкам. Такой стандарт делает систему более гибкой, хотя и имеет свои недостатки. Например, это легко позволяет создавать новые интерфейсы для программ, что затрудняет изучение системы. Первоначально используемой с системой Linux графической оболочкой была система X Window System (сокращенно X). X не реализует пользовательский интерфейс, а только оконную систему, т.е. средства, с помощью которых может быть реализован графический интерфейс. Три наиболее популярных версии графических интерфейсов на основе X - это Athena, Motif и Open Look. 2. 6. Работа с сетьюСеть - это средство, позволяющее соединяться двум или более компьютерам между собой. UNIX-подобные операционные системы имеют широкий спектр сетевых возможностей. Большинство базовых функций (файловые системы, печать, создание резервных копий и т.д.) могут быть реализованы посредством сети. Это может значительно облегчить работу системного администратора, так как позволяет использовать централизованное администрирование.
Подключение к системе через сеть работает несколько иначе, чем обычное подключение. Существуют отдельные физические последовательные линии для каждого терминала, через которые и происходит подключение. Для каждого пользователя, подключающегося к системе, существует отдельное виртуальное сетевое соединение и их может быть любое количество. Однако не представляется возможным запустить отдельный процесс getty для каждого возможного виртуального соединения. Существуют также и другие способы подключения к системе посредством сети. Например, telnet и rlogin - основные службы в TCP/IP сетях.При использовании сети для подключения к системе, кроме большого количества процессов getty используется отдельная программа-демон (при использовании как telnet так и login используются различные программы-демоны), которая отслеживает все попытки соединения с компьютером. Если определяется попытка соединения, то программа создает новый процесс - создает сама себя для обработки этого соединения - а затем продолжает отслеживание новых соединений. Создаваемый процесс идентичен программе getty.
Одна из наиболее полезных функций, которая может быть реализована с помощью сети, это разделение файлов через сетевую файловую систему. Обычно используется система, называемая Network File System или NFS, которая разработана корпорацией Sun.При работе с сетевой файловой системой любые операции над файлами, производимыми на локальном комьютере, передаются через сеть на удаленную машину. При работе сетевой файловой системы программа считает, что все файлы на удаленном компьютере находятся на компьютере, где она запущена. Таким образом разделение информации посредством такой системы не требует внесения каких-либо изменений в программу.
Электронная почта является самым важным средством связи между компьютерами. Электронные письма хранятся в одном файле в специальном формате. Для чтения и отправления писем применяются специальные программы. У каждого пользователя имеется отдельный "почтовый ящик" (т.е. файл, где информация хранится в специальном формате), в котором хранится приходящая почта. Если на компьютер приходит письмо, то программа обработки почты находит файл почтового ящика соответствующего пользователя и добавляет туда полученное письмо.Если же почтовый ящик пользователя находится на другом компьютере, то письмо перенаправляется на этот компьютер, где проходит его последующая обработка. Почтовая система состоит из множества различных программ. Доставка писем к локальным или удаленным почтовым ящикам производится одной программой (например, sendmail или smail), в то время как для обычной отправки или просмотра писем применяется большое количество различных программ (например, Pine или elm). Файлы почтовых ящиков обычно хранятся в каталоге /var/spool/mail.
В один момент времени принтером может пользоваться только один пользователь. Поэтому для того, чтобы принтером могли пользоваться сразу несколько пользователей, используется специальная программа, которая обеспечивает обслуживание очереди к принтеру. Все задания для принтера помещаются в буфеp. Когда принтер заканчивает обработку одного задания, следующее передается к нему автоматически. Это значительно упрощает работу с принтером. Программа обслуживания очереди к принтеру помещает информацию, которая должна быть распечатана, на диск, то есть текст располагается на диске, в то время как задание находится в очереди. Это позволяет прикладным программам достаточно быстро распечатывать тексты, помещая их в очередь, так как для продолжения работы приложению не требуется дожидаться окончания распечатки.
3. ФАЙЛОВАЯ СИСТЕМА