Управление процессами в ОС Knoppix
Основные понятия, функции, и назначение операционных систем. Использование Linux в качестве серверной операционной системы и на персональных компьютерах. Применение Knoppix при необходимости восстановления нарушенной функциональности других систем.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 09.07.2015 |
Размер файла | 788,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
«Ростовский государственный строительный университет» Институт информационных систем и технологий
Кафедра прикладной математики и вычислительной техники
КУРСОВАЯ РАБОТА
по дисциплине «Операционные системы»
на тему: «Управление процессами в ОС Knoppix»
Выполнила студентка группы ПИ-223
В.С. Самарина
Руководитель проекта
к.ф.-м.н Г.А. Власков
Ростов-на Дону 2015
Содержание
Введение
1. Теоретическая часть
1.1 Основные понятия и функции операционных систем
1.2 Операционная система Linux
1.3 Операционная система Knoppix
1.4 Управление процессами в ОС
1.5 Типы процессов
2. Практическая часть
2.1 Получение информации о процессе
2.21 Управление процессами в ОС Knoppix
Заключение
Список использованных источников
Введение
Операционная система - комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой стороны - предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений.
В настоящее время трудно представить себе компьютер без операционной системы, отвечающей определению, приведенному выше. Без операционной системы, для запуска программы вам придется каждый раз загружать компьютер заново, а для хранения данных придется работать напрямую с носителем. Все стандартные алгоритмы для работы с памятью и устройствами пришлось бы хранить в теле программы. Если учесть разнообразие оборудования, нетрудно представить, что размер программы вырастет в разы. Самым разумным решением всех этих проблем будет объединение основных алгоритмов работы с памятью, устройствами ввода и вывода и прочего в одной программе, которая будет способна запускать другие программы и предоставлять им доступ к стандартным алгоритмам через удобный интерфейс. Именно этим и занимается операционная система.
Основной целью курсовой работы является изучение управления процессами в системе knoppix.
Задачи курсовой работы:
1. Рассмотреть основные понятия, функции и назначение операционных систем.
2. Охарактеризовать операционную систему knoppix.
3. Изучить управление процессами в системе knoppix.
1. Теоретическая часть
1.1 Основные понятия и функции операционных систем
Операционная система, сокр. ОС (англ. operating system) -- комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой -- предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений.
Это определение применимо к большинству современных ОС общего назначения. Существуют две группы определений ОС: «набор программ, управляющих оборудованием» и «набор программ, управляющих другими программами». Обе они имеют свой точный технический смысл, который, однако, становится ясен только при более детальном рассмотрении вопроса о том, зачем вообще нужны ОС.
Существуют приложения вычислительной техники, для которых ОС излишни. Например, встроенные микрокомпьютеры содержатся сегодня во многих бытовых приборах, автомобилях (иногда по десятку в каждом), сотовых телефонах и т. п. Зачастую такой компьютер постоянно исполняет лишь одну программу, которая запускается при включении. И простые игровые приставки -- также представляющие собой специализированные микрокомпьютеры -- могут обходиться без ОС, запуская при включении программу, записанную на вставленном в устройство «картридже» или компакт-диске. Тем не менее, некоторые микрокомпьютеры и игровые приставки всё же работают под управлением особых собственных ОС. В большинстве случаев это UNIX-подобные системы (последнее особенно верно отношении программируемого коммутационного оборудования: межсетевых экранов, маршрутизаторов).
Операционные системы нужны, если вычислительная система используется для различных задач, причём программы, исполняющие эти задачи, нуждаются в сохранении данных и обмене ими. Из этого следует необходимость универсального механизма сохранения данных; в подавляющем большинстве случаев ОС отвечает на неё реализацией файловой системы. Современные ОС, кроме того, предоставляют возможность непосредственно «связать» вывод одной программы со вводом другой, минуя относительно медленные дисковые операции.
Так же, наличие ОС необходимо, если различные программы нуждаются в выполнении одних и тех же рутинных действий. Например, простой ввод символа с клавиатуры и отображение его на экране может потребовать исполнения сотен машинных команд, а дисковая операция -- тысяч. Чтобы не программировать их каждый раз заново, ОС предоставляют системные библиотеки часто используемых подпрограмм (функций).
Операционная система нужна если, между программами и пользователями системы необходимо распределять полномочия, чтобы пользователи могли защищать свои данные от несанкционированного доступа, а возможная ошибка в программе не вызывала тотальных неприятностей.
ОС должна быть, если необходима возможность имитации «одновременного» исполнения нескольких программ на одном компьютере (даже содержащем лишь один процессор), осуществляемой с помощью приёма, известного как «разделение времени». При этом специальный компонент, называемый планировщиком, делит процессорное время на короткие отрезки и предоставляет их поочерёдно различным исполняющимся программам (процессам).
ОС необходима при случае, если оператор должен иметь возможность так или иначе управлять процессами выполнения отдельных программ. Для этого служат операционные среды, одна из которых -- оболочка и набор стандартных утилит -- является частью ОС (прочие, такие, как графическая операционная среда, образуют независимые от ОС прикладные платформы).
Таким образом, современные универсальные ОС можно охарактеризовать, прежде всего, как:
? использующие файловые системы (с универсальным механизмом доступа к данным),
? многопользовательские (с разделением полномочий),
? многозадачные (с разделением времени).
Основные функции операционных систем:
1. Выполнение по запросу программ (ввод и вывод данных, запуск и остановка других программ, выделение и освобождение дополнительной памяти и др.).
2. Загрузка программ в оперативную память и их выполнение.
3. Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).
4. Управление оперативной памятью (распределение между процессами, организация виртуальной памяти).
5. Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, оптические диски и др.), организованным в той или иной файловой системе.
1. Обеспечение пользовательского интерфейса.
2. Сохранение информации об ошибках системы.
Дополнительные функции:
1. Параллельное или псевдопараллельное выполнение задач (многозадачность).
2. Эффективное распределение ресурсов вычислительной системы между процессами.
3. Разграничение доступа различных процессов к ресурсам.
4. Организация надёжных вычислений (невозможности одного вычислительного процесса намеренно или по ошибке повлиять на вычисления в другом процессе), основана на разграничении доступа к ресурсам.
5. Взаимодействие между процессами: обмен данными, взаимная синхронизация.
6. Защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений.
7. Многопользовательский режим работы и разграничение прав доступа.
Большинство программ, как системных (входящих в ОС), так и прикладных, исполняются в непривилегированном («пользовательском») режиме работы процессора и получают доступ к оборудованию (и, при необходимости, к другим ресурсам ядра, а также ресурсам иных программ) только посредством системных вызовов. Ядро исполняется в привилегированном режиме: именно в этом смысле говорят, что ОС (точнее, её ядро) управляет оборудованием.
В определении состава ОС значение имеет критерий операциональной целостности (замкнутости): система должна позволять полноценно использовать (включая модификацию) свои компоненты. Поэтому в полный состав ОС включают и набор инструментальных средств (от текстовых редакторов до компиляторов, отладчиков и компоновщиков).
Компонентами операционной системы являются:
? загрузчик,
? ядро,
? командный процессор (интерпретатор),
? БИОС,
? драйверы устройств,
? интерфейс.
1.2 Операционная система Linux
Linux -- это операционная система, являющаяся одним из вариантов (клонов) операционной системы типа Unix. В своем первоначальном виде она была создана Линусом Торвальдсом (Linus Torvalds) как версия операционной системы UNIX для IBM-совместимых персональных ЭВМ. При этом Торвальдс опубликовал исходные коды своей системы в Интернет (файлы первого варианта операционной системы Linux, опубликованные Торвальдсом в Интернет, датированы 17 сентября 1991 года), и к развитию системы подключилось большое число независимых разработчиков.
Благодаря этому на сегодняшний момент Linux - самая современная, устойчивая и быстро развивающаяся система, почти мгновенно вбирающая в себя самые последние технологические новшества.
Может использоваться как в качестве серверной операционной системы, так и на сетевых рабочих станциях или персональных компьютерах. Под Linux существует множество приложений, предназначенных как для домашнего использования, так и для полностью функциональных рабочих станций UNIX и серверов Internet.
На начальном этапе Linux бесплатно разрабатывался только энтузиастами- добровольцами, но с успехом Linux и его массовым коммерческим использованием дорабатывать операционные системы и вносить свой вклад стали и компании, со временем став значительной силой.
Подавляющее большинство программного обеспечения в современных дистрибутивах по-прежнему доступно по свободным лицензиям.
Операционная система Linux, альтернатива Windows. Внешний вид схож с Windows, такие же меню, значки, курсоры и другие элементы интерфейса. Это полноценная операционная система, подходящая как для работы на домашнем компьютере, так и в офисах и даже используется в качестве серверов (Рисунок 2).
Рисунок 2 Рабочий стол Linux
Операционная система Linux поддерживает русский язык, считается достаточно устойчивой. Большое преимущество - низкая стоимость, а Debian-системы вообще являются бесплатными, но, не смотря на это, не уступают в работоспособности Windows.
В Linux - системах пользователи работают через интерфейс командной строки (CLI), графический интерфейс пользователя (GUI), или, в случае встраиваемых систем, через элементы управления соответствующих аппаратных средств.
Настольные системы, как правило, имеют графический пользовательский интерфейс, в котором командная строка доступна через окно эмулятора терминала или в отдельной виртуальной консоли.
Большинство низкоуровневых компонентов Linux, включая пользовательские компоненты GNU, используют исключительно командную строку. Командная строка особенно хорошо подходит для автоматизации повторяющихся или отложенных задач, а также предоставляет очень простой механизм межпроцессорного действия.
Программа графического эмулятора терминала часто используется для доступа к командной строке с рабочего стола Linux.
Linux -системы обычно реализуют интерфейс командной строки при помощи оболочки операционной системы, которая также является традиционным способом взаимодействия с системой Unix.
Дистрибутивы, специально разработанные для серверов, могут использовать командную строку в качестве единственного интерфейса.
Linux имеет в своем составе множество пакетов программ: мультимедиа, графические редакторы, средства веб-разработки и интегрированные среды программирования, программы для работы в Интернет, офисные пакеты (редакторы текста, таблиц), множество полезных утилит.
В Linux есть все что нужно для работы дома и офисе и проблема поиска нужного приложения снимается. На диски с дистрибутивом включены справочные руководства и исходные коды.
Дистрибутив - это набор установочных утилит и набор пакетов программ (которые можно произвольно устанавливать), поставляемых на компакт-дисках либо выложенных в Сети. Каждый дистрибутив имеет свое название и версию.
Современные дистрибутивы Linux включают:
? пакет офисных приложений,
? почтовый клиент,
? программы для работы в интернете,
? программы для работы с графикой,
? современные средства коммуникаций,
? мультимедиа-центр,
? игры и др.
Операционная система Linux используют свои таблицы размещения файлов (ext, ext3, nfs и другие), предусмотрена возможность работы с дисковыми разделами Windows - FAT16, FAT32, NTFS (работа с NTFS в режиме записи может привести к порче разделов и потере данных). А чтобы поработать из-под Windows с разделами Linux необходимо обзавестись специальной программой.
1.3 Операционная система Knoppix
операционный системы linux knoppix
Knoppix -- дистрибутив Linux -- один из первых LiveCD дистрибутивов, основанных на Debian. Knoppix разрабатывается Клаусом Кноппером и сообществом Knoppix.
На компакт диске Knoppix хранится более 2 ГБ сжатого программного обеспечения, которое распаковывается автоматически по мере необходимости. Хотя Knoppix предназначен для загрузки с CD/DVD, есть возможность установить его на жёсткий диск. Есть также возможность загрузки Knoppix с флэш-карты.
Knoppix используется при необходимости восстановления нарушенной функциональности других операционных систем; в качестве операционной системы для презентаций программного обеспечения; в образовательных или ознакомительных целях.
Knoppix- это полнофункциональная операционная система с полным набором пользовательских приложений. Он предоставляет возможности по работе с командной строкой, с графическим интерфейсом, содержит приложения для ввода-вывода, графики, звука, видео.
В состав Knoppix входит следующие компоненты:
? графическая среда LXDE, ранее KDE.
? пакет офисных приложений Libreoffice, ранее openoffice.org.
? программы для работы в интернете.
? программы воспроизведения и записи мультимедиа.
? игры.
? утилиты для администратора.
? программное обеспечение для сервера.
? среда разработки программ.
? функциональные возможности операционной системы knoppix.
? определение оборудования.
Работая над дистрибутивом, команда ЛинуксЦентра стремилась создать систему, в которой русскоязычные пользователи Linux могли ознакомиться с возможностями этой системы и производить большую часть повседневной работы с компьютером, пользуясь программным обеспечением с русскоязычным интерфейсом. Помимо этого, можно выделить главные преимущества ОС Knoppix:
? обеспечивает полнофункциональную работу Linux и всех приложений без их установки на жесткий диск;
? неуязвимость для компьютерных вирусов;
? при загрузке автоматически распознается конфигурация компьютера и настраиваются все сервисы, в том числе сеть и Интернет.
1.4 Управление процессами в ОС
Основным ресурсом компьютера является его процессор (или процессоры). В каждый момент времени один процессор может выполнять только один процесс. Организация планирования процессов так, чтобы за счет их переключения создавалась иллюзия одновременной работы нескольких процессов - одна из основных задач любой многопользовательской и многозадачной операционной системы.
В ОС основным средством организации и единицей многозадачности является процесс - уникальным образом идентифицируемая программа, которая нуждается в получении доступа к ресурсам компьютера.
Операционная система манипулирует образом процесса, который представляет собой программный код, а также разделами данных процесса, определяющими среду выполнения. Сегмент кода содержит реальные инструкции процессора, включающие как строки, скомпилированные и написанные пользователем, так и стандартный код, сгенерированный компилятором для системы. Этот системный код обеспечивает взаимодействие между программой и операционной системой.
Основой операционной системы является ядро. Ядро представляет собой специальную программу (или несколько программных модулей, в случае модульного ядра), которая постоянно находится в оперативной памяти и работает, пока работает операционная система. Ядро управляет всеми таблицами, используемыми для отслеживания процессов и других ресурсов.
Ядро загружается в память во время начальной загрузки и немедленно запускает необходимые процессы, в частности процесс инициализации операционной системы - init.
Данные, связанные с процессом, также являются частью образа процесса. Некоторые из них хранятся в регистрах, обычно представленных регистрами процессора. Кроме того, существуют динамические области хранения данных (куча), выделяемые процессом по ходу работы при необходимости.
Также у процесса имеется стек, содержащийся в памяти и используемый для хранения локальных переменных программы и передачи параметров. Когда процесс выполняет обращение к функции или подпрограмме, в стек отправляется новый фрейм. Одной из частей каждого фрейма является указатель на базу предыдущего фрейма, который позволяет легко вернуться из вызова функции. При этом важно знать местоположение текущего фрейма и вершину стека.
Регистры играют важную роль в работе процессов. Обычно выделяется четыре регистра, имеющих специальное значение (Таблица 1).
Таблица 1
Назначение регистров
Регистр |
Назначение |
||
PC |
Программный счетчик - указывает на текущую строку кода. |
||
PS |
Указывает состояние процессора. |
||
SP |
Указывает на вершину стека. |
||
FP |
Указывает на текущий фрейм стека. |
Во время исполнения или в ожидании "своего часа" процессы содержатся в виртуальной памяти со страничной организацией. Часть этой виртуальной памяти сопоставляется с физической. Часть физической памяти резервируется для ядра операционной системы. Пользователи могут получить доступ только к оставшейся для процессов памяти. При необходимости, страницы памяти процессов откачиваются из физической памяти на диск, в область подкачки. При обращении к странице в виртуальной памяти, если она не находится в физической памяти, происходит ее подкачка с диска.
Виртуальная память реализуется и автоматически поддерживается ядром операционной системы.
1.5 Типы процессов
В ОС Linux выделяется три типа процессов: системные, процессы-демоны и прикладные процессы.
Системные процессы являются частью ядра и всегда расположены в оперативной памяти. Системные процессы не имеют соответствующих им программ в виде исполняемых файлов и запускаются особым образом при инициализации ядра системы. Выполняемые инструкции и данные этих процессов находятся в ядре системы, таким образом, они могут вызывать функции и обращаться к данным, недоступным для остальных процессов.
К системным процессам можно отнести и процесс начальной инициализации, init, являющийся прародителем всех остальных процессов.
Хотя init не является частью ядра, и его запуск происходит из выполняемого файла, его работа жизненно важна для функционирования всей системы в целом.
Демоны - это не интерактивные процессы, которые запускаются обычным образом - путем загрузки в память соответствующих им программ, и выполняются в фоновом режиме. Обычно демоны запускаются при инициализации системы, но после инициализации ядра и обеспечивают работу различных подсистем UNIX: системы терминального доступа, системы печати, сетевых служб и т.д. Демоны не связаны ни с одним пользователем.
Большую часть времени демоны ожидают, пока тот или иной процесс запросит определенную услугу.
К прикладным процессам относятся все остальные процессы, выполняющиеся в системе. Как правило, это процессы, порожденные в рамках пользовательского сеанса работы. Важнейшим пользовательским процессом является начальный командный интерпретатор, который обеспечивает выполнение команд пользователя в системе UNIX.
Пользовательские процессы могут выполняться как в интерактивном (приоритетном), так и в фоновом режимах. Интерактивные процессы монопольно владеют терминалом, и пока такой процесс не завершит свое.
2. Практическая часть
2.1 Получение информации о процессе
Перед тем как управлять процессами, нужно научиться получать о процессах необходимую информацию. В Linux существует псевдо файловая procfs, которая в большинстве дистрибутивов монтируется в общую файловую систему в каталог /proc. У данной файловой системы нет физического места размещения, нет блочного устройства, такое как жесткий диск. Вся информация, хранимая в данном каталоге находится в оперативной памяти компьютера, контролируется ядром ОС и она не предназначена для хранения файлов пользователя.
Однако пользоваться данным каталогом не очень удобно, чтобы получить информацию о каком-либо процессе, необходимо просмотреть большой объем файлов и каталогов. Чтобы избавиться от ненужного труда, можно использовать существующие утилиты ps и top для просмотра информации о процессах.
Чтобы получить список всех процессов, достаточно ввести команду: # ps aux (Рисунок 4)
Рисунок 4 Ввод команды
Можно заметить (Рисунок 5), что некоторые процессы указаны в квадратных скобках […] - это процессы, которые входят непосредственно в состав ядра и выполняют важные системные задачи, например, такие как управление буферным кэшем [pdflush] и организацией свопинга [kswapd]. С ними лучше не экспериментировать. Остальная часть процессов относится к пользовательским.
По каждому процессу можно получить некую информацию (комментарии к некоторым полям): ? PID, PPID - идентификатор процесса и его родителя.
? %CPU - доля процессорного времени, выделенная процессу.
? %MEM - процент используемой оперативной памяти.
? VSZ - виртуальный размер процесса.
? TTY - управляющий терминал.
? STAT- статус процесса:
? R - выполняется;
? S - спит;
? Z - зомби;
? <- Повышенный приоритет;
? + - Находится в интерактивном режиме.
? START - время запуска.
? TIME - время исполнения на процессоре.
Все команды имеют ключи, начинающиеся со знака тире "-". Ключи модифицируют работу команд. Многие команды употребляются почти всегда с ключами. В таблице 2 приведены некоторые ключи команды ps:
Таблица 2
Некоторые ключи
Ключ |
Описание |
|
а |
Показать процессы всех пользователей |
|
с |
Имя команды из переменной среды |
|
е |
Показать окружение |
|
f |
Показать процессы и подпроцессы |
|
h |
Вывод без заголовка |
|
j |
Формат заданий |
|
l |
"Длинный" формат вывода |
|
m |
Вывод информации о памяти |
|
n |
Числовой вывод информации |
|
r |
Только работающие процессы |
|
s |
Формат сигналов |
S |
Добавить |
время |
использования |
процессора |
|
порожденными процессами |
|||||
txx |
Только процессы, связанные с терминалом хх |
||||
u |
Формат вывода с указанием пользователя |
||||
v |
Формат виртуальной памяти |
||||
w |
Вывод без обрезки информации для размещения в одной |
||||
строке |
|||||
x |
Показать процессы без контролирующего терминала |
Команда ps делает моментальный снимок процессов в текущий момент. В отличии от нее, команда top - динамически выводит состояние процессов и их активность в реальном режиме времени (Рисунок 6).
Рисунок 5 Результат работы команды
В верхней части вывода отображается астрономическое время, время, прошедшее с момента запуска системы, число пользователей в системе, число запущенных процессов и число процессов, находящихся в разных состояниях, данные об использовании ЦПУ, памяти и свопа. А далее идет таблица, характеризующая отдельные процессы. Число строк, отображаемых в этой таблице, определяется размером окна: сколько строк помещается, столько и выводится.
Утилита top полностью управляется с клавиатуры. Вы можете получить справку, нажав клавишу h.
Рисунок 6 Команда top
Содержимое окна обновляется каждые 5 секунд. Список процессов может быть отсортирован по используемому времени ЦПУ (по умолчанию), по использованию памяти, по PID, по времени исполнения. Переключать режимы отображения можно с помощью следующих клавиатурных команд:
<Shift>+<N> -- сортировка по PID;
<Shift>+<A> -- сортировать процессы по возрасту;
<Shift>+<P> -- сортировать процессы по использованию ЦПУ;
<Shift>+<M> -- сортировать процессы по использованию памяти;
<Shift>+<T> -- сортировка по времени выполнения.
С помощью команды <K> можно завершить некоторый процесс (его PID будет запрошен), а с помощью команды <R> можно переопределить значение nice для некоторого процесса.
Полезную информацию, так же, позволяет получить программа lsof, которая выдает список всех файлов, используемых сейчас процессами, включая каталоги, занятые потому, что какой-либо процесс использует их в качестве текущего или корневого; разделяемые библиотеки, загруженные в память; и т. д.
2.1 Управление процессами в ОС Knoppix
Каждому процессу при запуске устанавливается определенный приоритет, который имеет значение от -20 до +20, где +20 - самый низкий. Приоритет нового процесса равен приоритету процесса-родителя. Для изменения приоритета запускаемой программы существует утилита nice. Пример ее использования:
[root@proxy 1]# nice [- adnice] command [args]
где adnice -- значение (от -20 до +19), добавляемое к значению nice процесса-родителя. Отрицательные значения может устанавливать только пользователь, наделенный правами. Если опция adnice не задана, то по умолчанию для процесса-потомка устанавливается значение nice, увеличенное на 10 по сравнению со значением nice родительского процесса.
Команда renice служит для изменения значения nice для уже выполняющихся процессов. Пользователь, обладающий правами может изменить приоритет любого процесса в системе. Другие пользователи могут изменять значение приоритета только для тех процессов, для которых данный пользователь является владельцем. При этом обычный пользователь может только уменьшить значение приоритета. Поэтому процессы с низким приоритетом не могут породить "высокоприоритетных детей".
Одним из средств управления процессами являются сигналы.
Некоторые сигналы можно сгенерировать с помощью определенных комбинаций клавиш, но такие комбинации существуют не для всех сигналов.
Однако существует команда kill, которая позволяет послать заданному процессу (указав его PID) любой сигнал:
[root@proxy 1]# kill [-SIG] PID [PID..],
где SIG -- это номер сигнала или наименование сигнала, причем если указание сигнала опущено, то посылается сигнал 15 (SIGTERM -- программное завершение процесса). Часто используется сигнал 9 (KILL), с помощью которого суперпользователь может завершить любой процесс. Но сигнал этот очень "грубый", потому что он просто «убивает» процесс, не давая ему времени на корректное сохранение всех обработанных данных. Поэтому в большинстве случаев рекомендуется использовать сигналы TERM или QUIT, которые завершают процесс более "мягко". Если процессу необходимо как-то по-особенному реагировать на сигнал, он может зарегистрировать обработчик, а если обработчика нет, за него отреагирует система.
Два сигнала - 9 (KILL ) и 19 ( STOP ) - всегда обрабатывает система.
Первый из них нужен для того, чтобы убить процесс наверняка (отсюда и название). Сигнал STOP приостанавливает процесс: в таком состоянии процесс не удаляется из таблицы процессов, но и не выполняется до тех пор, пока не получит сигнал 18 (CONT) - после чего продолжит работу. В Linux сигнал STOP можно передать активному процессу с помощью управляющего символа " ^Z ".
Обычные пользователи могут посылать сигналы только тем процессам, для которых они являются владельцами. Если в команде kill воспользоваться идентификатором процесса (PID), равным -1, то указанный в команде сигнал будет послан всем принадлежащим данному пользователю процессам.
Суперпользователь root может посылать сигналы любым процессам. Когда суперпользователь посылает сигнал идентификатору -1, он рассылается всем процессам, за исключением системных. Если этим сигналом будет SIGKILL, то у простых пользователей будут потеряны все открытые ими, но не сохраненные файлы данных.
Процессы могут выполняться на переднем плане (foreground) -- режим по умолчанию и в фоновом режиме (background).
На переднем плане в каждый момент для текущего терминала может выполняться только один процесс. Однако пользователь может перейти в другой виртуальный терминал и запустить на выполнение еще один процесс, а на другом терминале еще один и т. д. Процесс переднего плана - это процесс, с которым вы взаимодействуете, он получает информацию с клавиатуры (стандартный ввод) и посылает результаты на ваш экран (стандартный вывод).
Фоновый процесс после своего запуска благодаря использованию специальной команды командной оболочки отключается от клавиатуры и экрана, т. е. не ожидает ввода данных со стандартного ввода и не выводит информацию на стандартный вывод, а командная оболочка не ожидает окончания запущенного процесса, что позволяет пользователю немедленно запустить еще один процесс.
Обычно фоновые процессы требуют очень большого времени для своего завершения и не требуют вмешательства пользователя во время существования процесса. К примеру, компиляция программ или архивирование большого объема информации -- кандидаты номер один для перевода процесса в фоновый режим.
Процессы так же могут быть отложенными. Отложенный процесс -- это процесс, который в данный момент не выполняется и временно остановлен.
После того как вы остановили процесс, в дальнейшем вы можете его продолжить как на переднем плане, так и в фоновом режиме.
Возобновление приостановленного процесса не изменит его состояния
-- при возобновлении он начнется с того места, на котором был приостановлен.
Для выполнения программы в режиме переднего плана достаточно просто набрать имя программы в командной строке и запустить ее на выполнение.
Для запуска программы в качестве фонового процесса достаточно набрать в командной строке имя программы и в конце добавить знак амперсанта (&), отделенный пробелом от имени программы и ее параметров командной строки, если таковые имеются.
Например, команда для запуска программы bash в фоновом режиме с подавлением вывода имеет вид (Рисунок 7):
Рисунок 7 Преобразование в фоновый процесс
Первое число в скобках означает номер запущенного фонового процесса для пользователя в текущем сеансе, с его помощью можно производить манипуляции с этим фоновым процессом.
Второе число показывает идентификационный номер (PID) процесса.
Отличия этих двух чисел достаточно существенные.
Номер фонового процесса уникален только для пользователя, запускающего данный фоновый процесс. То есть, если в системе три пользователя решили запустить фоновый процесс (первый для текущего сеанса), то в результате у каждого пользователя появится фоновый процесс с номером 1.
Напротив, идентификационный номер процесса (PID) уникален для всей операционной системы и однозначно идентифицирует в ней каждый процесс.
Номер фонового процесса хранится в переменных командной оболочки пользователя и позволяет не забивать голову цифрами типа 2693 или 1294, а использовать переменные типа 1 и т. д.
Существует большое количество утилит, используемых для управления тем или иным способом процессами, исполняемыми в операционной системе.
Подводя итог, рассмотрим только основные, наиболее часто используемые утилиты.
В Таблице 2 приведен список основных программ, тем или иным образом предназначенных для управления процессами.
Таблица 3
Программы, используемые для управления процессами
Программа |
Описание |
|
at |
Выполняет команды в определенное время |
|
batch |
Выполняет команды тогда, когда это |
|
позволяет загрузка системы |
||
сrоn |
Выполняет команды по заранее заданному |
|
расписанию |
||
crontab |
Позволяет работать с файлами crontab |
|
отдельных пользователей |
||
kill |
Прекращает выполнение процесса nice |
|
Изменяет приоритет процесса перед его |
||
запуском |
||
nohup |
Позволяет работать процессу после выхода |
|
пользователя из системы |
||
ps |
Выводит информацию о процессах |
|
renice |
Изменяет приоритет работающего процесса |
|
w |
Показывает, кто в настоящий момент работает |
|
в системе и с какими программами |
Заключение
Данная курсовая работа посвящена изучению управления процессами в операционной системе Knoppix. Тема актуальна в современным мире, так как Linux является одной из развивающих систем и находится в открытом доступе.
В теоретической части были рассмотрены виды операционных систем, а именно Linux и Knoppix, являющийся дистрибутивом Linux; рассмотренно управление процессами в операционной системе.
В ходе практической работы были исследованы возможности управления процессами, подробно рассмотрены некоторые команды.
Ключевыми аспектами этой части курсовой работы стало рассмотрение таких командных строк, как ps, kill,top и других.
Список использованных источников
1. Аврин С. Страну готовят к Интернету. М. 2001.
2. Батурин Ю.М.Право и политика в компьютерном мире. М. 1997.
3. Белл Д. Грядущее индустриальное общество. М. 1999.
4. Володин А. Интерфейс системы защиты информации. М. 1998.
5. Король Л., Судов Е. Информационная безопасность: системный подход. СПб. 2002.
6. Ларс Виржениус. ОС Linux. Руководство системного администратора. М. 1998.
7. Милославская Н.Г., Толстой А.И. Интрасети: доступ в Интернет. Защита. М. 2000.
8. Рассел Сейдж. Приемы профессиональной работы в UNIX. М. 1999.
9. Таили Эд. Безопасность компьютера. Минск. 1997.
10. Фигурнов В.Э. «IBM PC для пользователя». 7-е изд., пераб.и доп. М.: ИНФРА-М, 2002. 640 с.: ил.
11. Фоменков Г. Уязвимость сетевых операционных систем. // БАНКОВСКИЕ ТЕХНОЛОГИИ 5'98.
12. Юфа В. Unix и Internet: приведение к общему знаменателю. М. 2000.
Размещено на Allbest.ru
...Подобные документы
Основные понятия операционных систем. Современное оборудование компьютера. Преимущества и недостатки операционной системы Linux. Функциональные возможности операционной системы Knoppix. Сравнительная характеристика операционных систем Linux и Knoppix.
реферат [1,5 M], добавлен 17.12.2014Основные моменты истории операционных систем, связывающих аппаратное обеспечение и прикладные программы. Характеристика операционной системы Microsoft Windows Seven, анализ операционной системы Linux. Преимущества и недостатки каждой операционной системы.
курсовая работа [63,0 K], добавлен 07.05.2011Концепция операционных систем: главное назначение, основные функции и типы. Характеристика и оценка возможностей Microsoft Windows и Linux. Подбор операционной системы для рабочих персональных компьютеров и для сервера на предприятии ООО "Газ-сервес".
дипломная работа [272,3 K], добавлен 16.06.2012Назначение, классификация, состав и назначение компонентов операционных систем. Разработка сложных информационных систем, комплексов программ и отдельных приложений. Характеристика операционных систем Windows, Linux, Android, Solaris, Symbian OS и Mac OS.
курсовая работа [2,1 M], добавлен 19.11.2014Изучение операционной системы Linux: элементов файлов, структуры каталогов и прав доступа к ним. Получение практических навыков по работе с некоторыми командами данной ОС. Теоретические сведения и практические навыки по работе с процессами Linux.
лабораторная работа [847,5 K], добавлен 16.06.2011Основные понятия операционных систем. Синхронизация и критические области. Сигналы и взаимодействие между процессами. Управление памятью. Драйверы устройств. Особенности современных операционных систем. Центральный процессор, микросхемы часов и таймеров.
учебное пособие [1,2 M], добавлен 24.01.2014Основные понятия об операционных системах. Виды современных операционных систем. История развития операционных систем семейства Windows. Характеристики операционных систем семейства Windows. Новые функциональные возможности операционной системы Windows 7.
курсовая работа [60,1 K], добавлен 18.02.2012Анализ серверных операционных систем на базе ядра Linux. Подходы к построению маршрутизации и оценка полученных результатов. Установка операционной системы CentOS 6.6 и закономерности ее настройки. Принципы и основные этапы тестирования созданного шлюза.
курсовая работа [2,9 M], добавлен 19.11.2015История создания и общая характеристика операционных систем Windows Server 2003 и Red Hat Linux Enterprise 4. Особенности установки, файловых систем и сетевых инфраструктур данных операционных систем. Использование протокола Kerberos в Windows и Linux.
дипломная работа [142,7 K], добавлен 23.06.2012Назначение и функции операционных систем компьютера. Аппаратные и программные ресурсы ЭВМ. Пакетные ОС. Системы с разделением времени: Multics, Unix. Многозадачные ОС для ПК с графическим интерфейсом: Windows, Linux, Macintosh. ОС для мобильных устройств.
курсовая работа [53,4 K], добавлен 05.12.2014Назначение серверных операционных систем. Сравнительный анализ серверных операционных систем Windows и Linux и сравнение их по важным показателям таким как: пользовательский графический интерфейс, безопасность, стабильность работы, возможность и цена.
курсовая работа [50,1 K], добавлен 03.07.2012Понятие и сущность операционных систем, особенности их возникновения. История создания операционной системы Linux, ее основные характеристики, сетевые возможности. Анализ бизнес-модели производства и распространения "свободного" программного обеспечения.
реферат [35,8 K], добавлен 05.04.2010Linux – одна из наиболее популярных распространяемых бесплатно операционных систем. Работа с базовым ограниченным набором программ по умолчанию. Характеристика основных программ, которые расширяют возможности операционной системы Linux для пользователя.
презентация [486,5 K], добавлен 09.10.2013Основные сходства и отличия операционных систем Microsoft Windows и GNU/Linux: конфигурации, цена и широта технической поддержки; оценка стоимости владения и статистика использования на настольных компьютерах; простота инсталляции и наличие драйверов.
курсовая работа [294,9 K], добавлен 12.05.2011Управление памятью в операционной системе Linux. Физическая и виртуальная память. Исполнение и загрузка пользовательских программ, файловая система. Передача данных между процессами. Структура сети в операционной системе. Развитие и использование Linux.
презентация [1,4 M], добавлен 24.01.2014Важность операционной системы для мобильных устройств. Популярность операционных систем. Доля LINUX на рынке операционных систем. История OS Symbian, BlackBerry OS, Palm OS. Отличия смартфона от обычного мобильного телефона. Учет ограничений по памяти.
презентация [477,3 K], добавлен 01.12.2015Порядок, определяющий организацию, хранения и именования данных на носителях информации в компьютерах. Классификация файловых систем. Основные функции файловой системы Linux. Нарушения целостности файловой системы при некорректном завершении работы.
презентация [405,2 K], добавлен 10.10.2011Использование операционных систем Microsoft Windows. Разработка операционной системы Windows 1.0. Возможности и характеристика последующих версий. Выпуск пользовательских операционных систем компании, доработки и нововведения, версии Windows XP и Vista.
реферат [23,3 K], добавлен 10.01.2012Основные классификации операционных систем. Операционные системы семейства OS/2, UNIX, Linux и Windows. Разграничение прав доступа и многопользовательский режим работы. Пользовательский интерфейс и сетевые операции. Управление оперативной памятью.
реферат [22,8 K], добавлен 11.05.2011Понятие и внутренняя структура операционных систем, их классификация и разновидности, предъявляемые требования, этапы становления и развития, функциональные особенности. Описание и назначение базовых компьютерных систем: DOS, Windows, Linux, Mac.
курсовая работа [44,9 K], добавлен 14.12.2013