- •1. Состав компьютерной системы
- •2. Функции операционной системы. Операционная система как расширенная машина и менеджер ресурсов
- •3. Этапы развития операционных систем
- •4. Типы ос
- •5. Принципы разработки и основные функции современных ос
- •Особенности методов построения
- •6. Рыночные требования, предъявляемые к ос
- •7. Cisc и risc процессоры, конвейерная обработка (микропроцессор, разрядность микропроцессора)
- •8. Транспьютер. Векторные и матричные процессоры.
- •9. Персональный компьютер, рабочая станция, современные периферийные устройства.
- •10. Машинный язык, компилятор, ооп.
- •12. Основные понятия, концепция ос
- •13. Ядро ос. Основные понятия (монолитные системы, многоуровневые системы, виртуальные машины).
- •14. Ядро ос. Модель клиент-сервер и микроядро.
- •15. Классификация ос
- •16. Мультипрограммирование или многозадачность, критерии организации
- •17. Мультипроцессорность: сложность планирования загрузки процессоров, конфликты доступа к общим ресурсам
- •18. Процессы. Основные понятия, состояния процессов
- •19. Обработка прерываний, вектор прерывания
- •20. Алгоритмы планирования процессов
- •21. Создание процессов
- •Идентификатор процесса (pid)
- •Идентификатор родительского процесса (ppid)
- •Поправка приоритета (ni)
- •Терминальная линия (tty)
- •Реальный (uid) и эффективный (euid) идентификаторы пользователя
- •Реальный (gid) и эффективный (egid) идентификаторы группы
- •Образ, дескриптор, контекст процесса
- •22. Идентификаторы
- •Идентификатор процесса (pid)
- •Идентификатор родительского процесса (ppid)
- •Реальный (uid) и эффективный (euid) идентификаторы пользователя
- •Реальный (gid) и эффективный (egid) идентификаторы группы
- •Привилегированный пользователь
- •23. Системные вызовы для управления процессами
- •24. Форматы исполняемых файлов
- •25. Основные команды Unix для управления процессами
- •26. Память. Типы адресов
- •27. Методы распределения памяти между процессами без использования внешнего накопителя
- •Распределение памяти фиксированными разделами
- •Распределение памяти разделами переменной величины
- •Перемещаемые разделы
- •28. Методы распределения памяти между процессами с использованием внешнего накопителя
- •29. Виртуальная память. Способы организации виртуальной памяти Понятие виртуальной памяти
- •Страничное распределение
- •Сегментное распределение
- •Странично-сегментное распределение
- •30. Организация виртуальной памяти при меньшем размере оперативной памяти. Алгоритмы подкачки
- •31. Иерархия запоминающих устройств. Принцип кэширования данных
- •32. Управление файлами и внешними устройствами
- •33. Физическая структура файловой системы
- •34. Физическая структура файловой системы
- •36. Логическая организация файловой системы (типы файлов, иерархическая структура каталогов)
- •37. Структура файловой системы unix.( каталоги root /etc /dev /usr /var /prog.)
- •38. Логическая организация файловой системы ms windows (program files,documents and settings, windows,win nt)
- •40. Механизм защиты файлов в файловой системе oc unix (код защиты файла, дополнительные разряды кода защиты файла. Команды управления кодом защиты (доступ к файлу))
- •41. Многотомные фс (монтируемые фс, распределенные фс)
- •42. Специальные файлы (файлы устройств)
- •43. Дополнительные возможности файловых систем (дисковые квоты, резервное копирование, журнализируемые файловые системы)
- •1) Дисковая квота.
- •2) Резервное копирование
- •3) Журналируемые файловые системы
- •44. Сетевые интерфейсы и протоколы
- •45 Топология сети
- •46. Семиуровневая модель взаимосвязи открытых систем - iso (osi)
- •47. Компьютерные сети. Локальные сети. Глобальные сети с коммутацией пакетов. Vpn.
- •Принцип коммутации пакетов с использованием техники виртуальных каналов
- •48. Межсетевое взаимодействие (шлюзы, мультиплексирование стеков протоколов, вопросы реализации).
- •49. Сравнение вариантов организации взаимодействия сетей
- •50. Сущность маршрутизации. Протоколы настройки маршрутизации в сетях tcp/ip (протоколы длины вектора, протоколы состояния канала, протоколы политики маршрутизации)
- •Протокол состояния связей ospf
- •51. Сетевые службы и протоколы (dhcp, snmp, dns)
- •52. Межсетевые экраны (FireWall), демилитаризованная зона (dmz), трансляция сетевых адресов (nat, Masquerade)
- •55. Открытые системы на базе ос unix
- •56. Системные журналы. Проверка и восстановление файловой системы
- •57. Система X-Window. Преимущества X-Window. Отличие X-Window от ms-Window
25. Основные команды Unix для управления процессами
Управление процессами
Важнейшей частью операционной системы, непосредственно влияющей на функционирование вычислительной машины, является подсистема управления процессами. Процесс (или по-другому, задача) - абстракция, описывающая выполняющуюся программу. Для операционной системы процесс представляет собой единицу работы, заявку на потребление системных ресурсов. Подсистема управления процессами планирует выполнение процессов, то есть распределяет процессорное время между несколькими одновременно существующими в системе процессами, а также занимается созданием и уничтожением процессов, обеспечивает процессы необходимыми системными ресурсами, поддерживает взаимодействие между процессами.
Состояние процессов
В многозадачной (многопроцессной) системе процесс может находиться в одном из трех основных состояний:
ВЫПОЛНЕНИЕ - активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором;
ОЖИДАНИЕ - пассивное состояние процесса, процесс заблокирован, он не может выполняться по своим внутренним причинам, он ждет осуществления некоторого события, например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения какого-либо необходимого ему ресурса;
ГОТОВНОСТЬ - также пассивное состояние процесса, но в этом случае процесс заблокирован в связи с внешними по отношению к нему обстоятельствами: процесс имеет все требуемые для него ресурсы, он готов выполняться, однако процессор занят выполнением другого процесса.
В ходе жизненного цикла каждый процесс переходит из одного состояния в другое в соответствии с алгоритмом планирования процессов, реализуемым в данной операционной системе. Типичный граф состояний процесса показан на рисунке 2.1.
В состоянии ВЫПОЛНЕНИЕ в однопроцессорной системе может находиться только один процесс, а в каждом из состояний ОЖИДАНИЕ и ГОТОВНОСТЬ - несколько процессов, эти процессы образуют очереди соответственно ожидающих и готовых процессов. Жизненный цикл процесса начинается с состояния ГОТОВНОСТЬ, когда процесс готов к выполнению и ждет своей очереди. При активизации процесс переходит в состояние ВЫПОЛНЕНИЕ и находится в нем до тех пор, пока либо он сам освободит процессор, перейдя в состояние ОЖИДАНИЯ какого-нибудь события, либо будет насильно "вытеснен" из процессора, например, вследствие исчерпания отведенного данному процессу кванта процессорного времени. В последнем случае процесс возвращается в состояние ГОТОВНОСТЬ. В это же состояние процесс переходит из состояния ОЖИДАНИЕ, после того, как ожидаемое событие произойдет.
КОМАНДЫ
ps (="print status(печать статуса)" или "process status(статус процессов)") выводит список процессов, выполняемых в текущий момент с указанием идентификаторов процессов(ID или PID). Используйте ps axu для просмотра списка всех процессов, выполняемых в системе (включая процессы, выполняемые другими пользователями и процессы, не контроллируемые с терминалов) с именами владельцев. Используйте "top" для удержания списка выполняемых процессов.
некая_команда & выполнение команды в фоновом режиме (символ "&" значит "выполнять в фоновом режиме"). Номер_задания выводится на экран, так что вы можете перенести команду на передний план(см. ниже), если захотите. Я использую "&" в основном для запуска программ с графическим интерфейсом из X-терминала.
jobs выводит список моих фоновых и остановленных заданий и показывает их номера.
fg номер_задания Переносит фоновое или остановленное задание на передний план.
bg номер_задания Помещает процесс в фоновый режим, так как если бы он был запущен с &. Это перезапустит установленный процесс. Текущий процесс переднего плана может быть приостановлен клавишами <Ctrl>z. Если у вас есть приостановленные процессы или процессы фонового режима, вам придется набрать exit дважды, чтобы выйти.
batch at>updatedb<Ctrl>d выполнить некоторую команду (обычно требующую больщого количества времени для завершения) когда загрузка системы уменьшится. Я могу покинуть систему, а процесс продолжит работу. Когда программа будет завершена, ее вывод будет послан мне по электронной почте. В приведенном выше примере "at>" представляет приглашение ввода команды, команда для выполнения updatedb, и <Ctrl><d> завершает ввод задания (Я могу ввести много комманд, разделенных <Enter>).
at 17:00 выполнить команду в заданное время. У вас будут спрашивать команды для выполнения, пока вы не нажмете <Ctrl>d. С этой командой связана atq (показывает очередь программ заданных командой at) и atrm (удаляет программы из этой очереди).
kill PID Завершить процесс. Для начала определите идентификатор процесса(PID), который собираетесь завершить, используя ps.
killall имя_программы Завершить программу (программы) с указанным именем. К примеру, killall pppd завершит вашу работу с удаленным соединением.
nohup имя_программы (=no hungup(не откладывать)). Выполняет программу имя_программы так, что она не прекращается, когда вы покидаете систему. Вывод перенаправляется в nohup.out в вашей домашней директории. Естественно, не стоит выполнять интерактивные программы используя nohup.
lpc (как "root") Проверка и управление принтерами. Введите "?" для получения списка используемых команд.
lpq Показывает содержимое очереди принтера. Под KDE (X-Windows), вы можете использовать "Printer Queue(Очередь принтера)" доступную из меню "K"-"Utilities(Утилиты)".
Приоритеты Unix
nice имя_программы выполнить имя_программы, изменив его приоритет. Поскольку в примере приоритет не указан, он будет увеличен на 10 пунктов (процесс будет выполняться медленнее) от значения по умолчанию (обычно 0). Чем меньше число ("приятности" другим пользователям системы), тем выше приоритет. Значение приоритета изменяется в границах от -20 до 19. Только "root" может использовать отрицательные значения. Используйте top для просмотра приоритетов выполняемых процессов.
renice -18 PID (как "root") Уменьшить приоритет процесса на 18. Нормальный пользователь может только увеличивать приоритет, причем относительно текущего значения (только замедлить процесс). Он может, кроме того, renice +10 -u peter передав пользователю peter освободившееся время процессора для его заданий с интенсивными вычислениями в обход других пользователей.
lsof Cписок открытых файлов. Если я "root", будут перчислены все открытые файлы. Я могу ограничиться файлами, открытыми с определенной консоли: lsof /dev/tty1 . Для списка файлов, открытых по сети (полезно для контроля безопасности), можно использовать lsof -i (как "root").
watch -n 60 моя_команда выполнять команду моя_команда раз за разом с 60-секундными интервалами (интервал по умолчанию - 2 секунды).
