Петр Это ответ на мой вопрос? Тогда нужно дать определения системным и пользовательским процессам, т.е. системный процесс, это процесс, который поставляется вместе с ядром? Т.е. если завтра apache включат в ядро, то и конфигурация переберётся в /etc?
topas ну я понял так , если завтра апач включат в ядро и он будет запускаться при инициализации ядра то это будет системный процесс )))
ладно,а если мы будем запускать и останавливать процессы системные процессы start\stop демоном то они будут в переследствии отображаться как системный или как запущенный от имени пользователя в таком случае? xD UPD сейчас запусти свою программу ./programm.py получил процесс от пользователя padaboo, потом запустил от имени рута sudo ./programm.py получил процесс от имени root ))) но он не является системным т.к. запущен после инициализации ядра)
Во FreeBSD разделение на /usr/local/etc и /etc условное, и не зависит от "системности". Просто общепринятое ПО, такие как ipfw, bind etc расположены в корне, остальные, по усмотрению администратора принято размещать в /usr/local/etc
тьфу мы все это время про место положения чтоле беседовали? ;DD нутык системные в таком случае если жестко это всякие диспетчеры свопинга , init, диспетчер памяти ядра и т.п. все остальные загружаются при инициализации системы т.е. после того как мы пароль ввели
topas процесс это просто запись в таблице ядра со своими параметрами по сути и кусок байт кода , который вгружается в оперативку по мере надобности а системный процесс всегда вгружен в оперативную память
Padaboo Ты оперируешь понятиями от которых я, как php-программист, далёк: 1. Таблица ядра 2. Байт-код 3. "Вгружен" в оперативную память Любой процесс можно "вгрузить" в оперативку, это ничего не меняет. Мне до сих пор непонятно разделение процессов на "системные" и "не системные"
ядро большая программа на языке С, там есть свои функции, каждый процесс представлен двумя структурами данных описаных в файлах это уж я его таблицей назвал там записано все про него айдишники, таймеры,флаги,его состояние(запущен остановлен ждет выполнения и т.п.) самая быстрая память в компе это оперативная,она представляет собой байты с адресами, они называются физическими адресами,еше есть виртуальная память процесса, т.е. в виртуальной памяти может быть куча процессов гораздо больше чем у нас хватило бы адресов а оперативной памяти больше она засчет вторичной памяти или области свопинга это обычно место на жестком диске, в виртуальной памяти хранятся временное не используемые участки адресного пространства процесса.допустим если процессу у нас ничего не делает он валяется у нас в виртуальной памяти тут значит процесс у нас начал что то делать,ядро обращается к виртуальной памяти процесса смотрит, а соответствующего ему куска в оперативной памяти нету, происходит прерывание, считывание нужного куска, переводит виртуальные адреса в адреса на оперативке, потом заново выполняет операцию которую хотел процесс выполнить... Это так понял я, тут целая глава про это, не факт что я понял правильно, + еше выразил на свой манер так вот системный процесс всегда занимает физический адрес, т.е. всегда загружен в оперативку поэтому и выполняется с наибольшей скоростью, по моему это его отличает от других процессов antonn вот читаю "операционная система unix" пытаемся разобраться что есть системный процесс) я так подозреваю topas знает))
Т.е. чисто теоретически можно собрать такое ядро, которое займет системными процессами всю оперативку и ничего другое работать не будет?
Volt(220) мм почему теоретически, можно просто поставить оперативки меньше чем требуется минимально для работы ОС,не зря же пишут минимальные системные требования, хотя я думаю хоть как то такое должны были предусмотреть
Padaboo Глубоко копаете Рекомендую "Б.В. Керниган, Р.Пайк: UNIX универсальная среда программирования. 1982г." Если бы знал, не спрашивал бы
topas видел книжку "ядро unix" с комментариями и листингами)но решил что так глубоко мне лезть не надо к тому же я С не знаю,среда для программирования она у меня будет не универсальная, выбрал себе php для браузера и питон для десктопа))ну и книжка у меня на самый конец оставлена "Python в системном администрировании UNIX и Linux" UPD кстати в виндоус7 скорость выполнения программ достигнута как раз с помощью загрузки в оперативную память наиболее часто запускаемых программ,у меня к примеру она жрет 30% изначально, но они высвобождаются при необходимости (читал где то статью)
они просто не выгружаются в своп так часто, как это делается в winxp. Можешь глянуть про SetProcessWorkingSetSize() ЗЫ кстати, на основе этой функции делают кучу псевдо-оптимизаторов оперативки. Мол "смотрите как в диспетчере стало много свободной памяти", только смотрят почему то не виртуальную, а "физическую"
В линуксе какого пользователя считать аналогом SYSTEM? =) а еще много чего кэшируется в оперативную память
Системный и пользовательский процессы разделяются по назначению, а не по порядку загрузки и пользователю. То, что обеспечивает работу операционной системы - системный, что выполняет пользовательские задачи (в т.ч. прием файлов, ответ на порту 80 и т.д.) - пользовательский.
Padaboo по умолчанию в диспечтере процессов скрыт столбец "виртуальная память", и после отработки этой функции будет казаться что высвободилось много оперативки. Осталось красиво украсить формочку картинкой и сделать эффектное about, вот и все - полезная программа-оптимизатор готова!