
- •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) Журналируемые файловые системы
- •55. Открытые системы на базе ос unix
- •57. Система X-Window. Преимущества X-Window. Отличие X-Window от ms-Window
Идентификатор процесса (pid)
Каждый процесс имеет уникальный идентификатор PID, позволяющий ядру системы различать процессы. Когда создается новый процесс, ядро присваивает ему следующий свободный (т.е. не ассоциированный ни с каким процессом) идентификатор. Присвоение идентификатора обычно происходит по возрастающий, т.е. идентификатор нового процесса больше, чем идентификатор процесса, созданного перед ним. Если идентификатор достигает максимального значения (обычно - 65737), следующий процесс получит минимальный свободный PID и цикл повторяется. Когда процесс завершает работу, ядро освобождает использовавшийся им идентификатор.
Идентификатор родительского процесса (ppid)
Идентификатор процесса, породившего данный процесс. Все процессы в системе, кроме системных процессов и процесса init, являющегося прародителем остальных процессов, порождены одним из существующих или существовавших ранее процессов.
Поправка приоритета (ni)
Относительный приоритет процесса, учитываемый планировщиком при определении очередности запуска. Фактическое же распределение процессорных ресурсов определяется приоритетом выполнения (атрибут PRI), зависящим от нескольких факторов, в частности от заданного относительного приоритета. Относительный приоритет не изменяется системой на всем протяжении жизни процесса (хотя может быть изменен пользователем или администратором) в отличие от приоритета выполнения, динамически изменяемого планировщиком.
Терминальная линия (tty)
Терминал или псевдотерминал, связанный с процессом. С этим терминалом по умолчанию связаны стандартные потоки: входной, выходной и поток сообщений об ошибках. Потоки (программные каналы) являются стандартным средством межпроцессного взаимодействия в ОС UNIX.
Процессы-демоны не связаны с терминалом.
Реальный (uid) и эффективный (euid) идентификаторы пользователя
Реальным идентификатором пользователя данного процесса является идентификатор пользователя, запустившего процесс. Эффективный идентификатор служит для определения прав доступа процесса к системным ресурсам (в первую очередь к ресурсам файловой системы). Обычно реальный и эффективный идентификаторы совпадают, т.е. процесс имеет в системе те же права, что и пользователь, запустивший его. Однако существует возможность задать процессу более широкие права, чем права пользователя, путем установки бита SUID, когда эффективному идентификатору присваивается значение идентификатора владельца выполняемого файла (например, пользователя root).
Реальный (gid) и эффективный (egid) идентификаторы группы
Реальный идентификатор группы равен идентификатору основной или текущей группы пользователя, запустившего процесс. Эффективный идентификатор служит для определения прав доступа к системным ресурсам от имени группы. Обычно эффективный идентификатор группы совпадает с реальным. Но если для выполняемого файла установлен бит SGID, такой файл выполняется с эффективным идентификатором группы-владельца.
Образ, дескриптор, контекст процесса
В основе UNIX лежит концепция процесса - единицы управления и единицы потребления ресурсов. Процесс представляет собой программу в состоянии выполнения, причем в UNIX в рамках одного процесса не могут выполняться никакие параллельные действия.
Каждый процесс работает в своем виртуальном адресном пространстве. Совокупность участков физической памяти, отображаемых на виртуальные адреса процесса, называется образом процесса.
При управлении процессами операционная система использует два основных типа информационных структур: дескриптор процесса (структура proc) и контекст процесса (структура user).
Дескриптор процесса содержит такую информацию о процессе, которая необходима ядру в течение всего жизненного цикла процесса, независимо от того, находится ли он в активном или пассивном состоянии, находится ли образ процесса в оперативной памяти или выгружен на диск. Дескрипторы отдельных процессов объединены в список, образующий таблицу процессов. Память для таблицы процессов отводится динамически в области ядра. На основании информации, содержащейся в таблице процессов, операционная система осуществляет планирование и синхронизацию процессов. В дескрипторе прямо или косвенно (через указатели на связанные с ним структуры) содержится информация о состоянии процесса, расположении образа процесса в оперативной памяти и на диске, о значении отдельных составляющих приоритета, а также его итоговое значение - глобальный приоритет, идентификатор пользователя, создавшего процесс, информация о родственных процессах, о событиях, осуществления которых ожидает данный процесс и некоторая другая информация.
Контекст процесса содержит менее оперативную, но более объемную часть информации о процессе, необходимую для возобновления выполнения процесса с прерванного места: содержимое регистров процессора, коды ошибок выполняемых процессором системных вызовов, информацию о всех открытых данным процессом файлов и незавершенных операциях ввода-вывода (указатели на структуры file) и другие данные, характеризующие состояние вычислительной среды в момент прерывания. Контекст, так же как и дескриптор процесса, доступен только программам ядра, то есть находится в виртуальном адресном пространстве операционной системы, однако он хранится не в области ядра, а непосредственно примыкает к образу процесса и перемещается вместе с ним, если это необходимо, из оперативной памяти на диск. В UNIX для процессов предусмотрены два режима выполнения: привилегированный режим - "система" и обычный режим - "пользователь". В режиме "пользователь" запрещено выполнение действий, связанных с управлением ресурсами системы, в частности, корректировка системных таблиц, управление внешними устройствами, маскирование прерываний, обработка прерываний. В режиме "система" выполняются программы ядра, а в режиме "пользователь" - оболочка и прикладные программы. При необходимости выполнить привилегированные действия пользовательский процесс обращается с запросом к ядру в форме так называемого системного вызова. В результате системного вызова управление передается соответствующей программе ядра. С момента начала выполнения системного вызова процесс считается системным. Таким образом, один и тот же процесс может находиться в пользовательской и системной фазах. Эти фазы никогда не выполняются одновременно.