За последние 24 часа нас посетили 16713 программистов и 1624 робота. Сейчас ищут 820 программистов ...

3 дня под FreeBDSM

Тема в разделе "Прочее", создана пользователем Padaboo, 13 апр 2010.

  1. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Петр
    Это ответ на мой вопрос? ;)

    Тогда нужно дать определения системным и пользовательским процессам, т.е. системный процесс, это процесс, который поставляется вместе с ядром? Т.е. если завтра apache включат в ядро, то и конфигурация переберётся в /etc?
     
  2. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    topas
    ну я понял так , если завтра апач включат в ядро и он будет запускаться при инициализации ядра то это будет системный процесс )))
     
  3. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    в винде системный процесс это запущенный от имени "юзера" SYSTEM, возможно здесь аналогично.
     
  4. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    ладно,а если мы будем запускать и останавливать процессы системные процессы start\stop демоном то они будут в переследствии отображаться как системный или как запущенный от имени пользователя в таком случае? xD
    UPD сейчас запусти свою программу ./programm.py получил процесс от пользователя padaboo, потом запустил
    от имени рута sudo ./programm.py получил процесс от имени root ))) но он не является системным т.к. запущен после инициализации ядра)
     
  5. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    nogroup/nobody?
     
  6. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Во FreeBSD разделение на /usr/local/etc и /etc условное, и не зависит от "системности". Просто общепринятое ПО, такие как ipfw, bind etc расположены в корне, остальные, по усмотрению администратора принято размещать в /usr/local/etc
     
  7. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    тьфу мы все это время про место положения чтоле беседовали? ;DD
    нутык системные в таком случае если жестко это всякие диспетчеры свопинга , init, диспетчер памяти ядра и т.п. все остальные загружаются при инициализации системы т.е. после того как мы пароль ввели
     
  8. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Padaboo
    Apache, Mysql поднимаются до ввода пароля :)
     
  9. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    topas
    я в тупике) что тогда есть системный процесс?)
     
  10. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Padaboo
    я тоже, но начинать думаю стоит с вопроса "что есть процесс" :)
     
  11. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    topas
    процесс это просто запись в таблице ядра со своими параметрами по сути и кусок байт кода , который вгружается в оперативку по мере надобности
    а системный процесс всегда вгружен в оперативную память
     
  12. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Padaboo
    Ты оперируешь понятиями от которых я, как php-программист, далёк:
    1. Таблица ядра
    2. Байт-код
    3. "Вгружен" в оперативную память

    Любой процесс можно "вгрузить" в оперативку, это ничего не меняет.

    Мне до сих пор непонятно разделение процессов на "системные" и "не системные"
     
  13. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    [vs]
    что?

    Padaboo
    сознавайся, ты это сам придумал или где-то вычитал? :)
     
  14. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    ядро большая программа на языке С, там есть свои функции,
    каждый процесс представлен двумя структурами данных описаных в файлах
    это уж я его таблицей назвал
    там записано все про него айдишники, таймеры,флаги,его состояние(запущен остановлен ждет выполнения и т.п.)
    самая быстрая память в компе это оперативная,она представляет собой байты с адресами, они называются физическими адресами,еше есть виртуальная память процесса, т.е. в виртуальной памяти может быть куча процессов гораздо больше чем у нас хватило бы адресов а оперативной памяти больше она засчет вторичной памяти или области свопинга это обычно место на жестком диске, в виртуальной памяти хранятся временное не используемые участки адресного пространства процесса.допустим если процессу у нас ничего не делает он валяется у нас в виртуальной памяти тут значит процесс у нас начал что то делать,ядро обращается к виртуальной памяти процесса смотрит, а соответствующего ему куска в оперативной памяти нету, происходит прерывание, считывание нужного куска, переводит виртуальные адреса в адреса на оперативке, потом заново выполняет операцию которую хотел процесс выполнить...

    Это так понял я, тут целая глава про это, не факт что я понял правильно, + еше выразил на свой манер

    так вот системный процесс всегда занимает физический адрес, т.е. всегда загружен в оперативку поэтому и выполняется с наибольшей скоростью, по моему это его отличает от других процессов

    antonn
    вот читаю "операционная система unix" пытаемся разобраться что есть системный процесс)
    я так подозреваю topas знает))
     
  15. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    Т.е. чисто теоретически можно собрать такое ядро, которое займет системными процессами всю оперативку и ничего другое работать не будет?
     
  16. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    Volt(220)
    мм почему теоретически, можно просто поставить оперативки меньше чем требуется минимально для работы ОС,не зря же пишут минимальные системные требования, хотя я думаю хоть как то такое должны были предусмотреть
     
  17. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Padaboo
    Глубоко копаете :)

    Рекомендую "Б.В. Керниган, Р.Пайк: UNIX универсальная среда программирования. 1982г."

    Если бы знал, не спрашивал бы :)
     
  18. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    topas
    видел книжку "ядро unix" с комментариями и листингами)но решил что так глубоко мне лезть не надо
    к тому же я С не знаю,среда для программирования она у меня будет не универсальная, выбрал себе php для браузера
    и питон для десктопа))ну и книжка у меня на самый конец оставлена "Python в системном администрировании UNIX и Linux"

    UPD кстати в виндоус7 скорость выполнения программ достигнута как раз с помощью загрузки в оперативную память наиболее часто запускаемых программ,у меня к примеру она жрет 30% изначально, но они высвобождаются при необходимости (читал где то статью)
     
  19. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    они просто не выгружаются в своп так часто, как это делается в winxp. Можешь глянуть про SetProcessWorkingSetSize() :)
    ЗЫ кстати, на основе этой функции делают кучу псевдо-оптимизаторов оперативки. Мол "смотрите как в диспетчере стало много свободной памяти", только смотрят почему то не виртуальную, а "физическую" :)
     
  20. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    antonn
    применяют юту функцию ко всем процессам и типа круто стало ?жесть зачем так делать :\
     
  21. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    В линуксе какого пользователя считать аналогом SYSTEM? =)
    а еще много чего кэшируется в оперативную память
     
  22. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Системный и пользовательский процессы разделяются по назначению, а не по порядку загрузки и пользователю. То, что обеспечивает работу операционной системы - системный, что выполняет пользовательские задачи (в т.ч. прием файлов, ответ на порту 80 и т.д.) - пользовательский.
     
  23. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    Рута, он может ВСЁ! :)
     
  24. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    Padaboo
    по умолчанию в диспечтере процессов скрыт столбец "виртуальная память", и после отработки этой функции будет казаться что высвободилось много оперативки. Осталось красиво украсить формочку картинкой и сделать эффектное about, вот и все - полезная программа-оптимизатор готова! :)
     
  25. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    antonn
    а кто это делает сами то понимают что происходит? т.е. зачем это ваапще ?)