172 похожих чатов

Чет меня тут спросили, работает ли nginx в user или

kernel спейсе и я поплыл :/

Вот что я нагуглил (это вообще релевантный источник?):
http://www.haifux.org/lectures/217/netLec5.pdf

На 5 и 6 странице написано, что все что с 5 уровня OSI, это находится в user space.
Но тут же пишут, что чтобы создать сокет (который на 5 уровне), нужен системный вызов...
Разве системный вызов это уже не уровень ядра? Или системный вызовы могут и не использовать kernel space?
Ну вот я создам без ядра этот сокет, а толку с него, если через него нужно передавать данные (tcp и ip, уровень 4 и 3) через ядро?

Что вообще значит "работает в kernel space"? Когда я запустил приложение, судя по этой картинке:
https://thecustomizewindows.cachefly.net/wp-content/uploads/2012/07/Kernel-of-Operating-System.jpg
оно будет в user space, а если я начну в нем использовать файлы и всякие copy(), это будет значит что приложение перешло на уровень ядра или я какую-то глупость говорю? Как вообще понять, на уровне ядра или нет работает какое-то приложение?

9 ответов

39 просмотров

Юзерспейс конечно. С чего ему в кернелспейсе быть?

Terrifin- Автор вопроса
Elenhil
Юзерспейс конечно. С чего ему в кернелспейсе быть?

Он же сокеты использует для подключения пользователей, разве для сокетов не нужен уровень ядра?

а это не то, у nginx есть главный процесс, который работает от рута, благодаря которому он может открыть привилегированный порт, и порождает чилдренов под пользаком nginx? lkz j,hf,jnrb pfghjcjd? ghbktnf.ob[ yf gjhn&

Я предполагаю, что приложение, которое работает в kernel space — это приложение, которое требует установки модулей ядра для работоспособности.

Terrifin
Он же сокеты использует для подключения пользовате...

вовсе нет, кернелспейс это модули ядра, расширяющие его функциональность (например драйверы, ну или модули, кто как называет), весь прикладной софт работает в userspace

Terrifin
Он же сокеты использует для подключения пользовате...

У него для этого есть способность дёрнуть сисколл как раз. А софту, которое работает в kernel space, нет необходимости дёргать сисколлы — софт, работающий в ядре, скорее именно даёт возможность софту из юзерспейса сисколл дёрнуть. То есть он не является чем-то использующим сисколлы — софт в кёрнел-спейсе это и есть сисколл. В энном приближении, сильно упрощая — примерно так. Говоря практическим языком — софт работающий в кёрнел спейсе нельзя неправильно скорее чаще не надо докеризировать. Если для чего-то есть докер-контейнер на докерхабе — скорее всего, это самое чего-то работает в юзерспейсе

Terrifin
Он же сокеты использует для подключения пользовате...

Говоря ещё одним практическим гуманитарным языком — после запуска софта в kernel space можно сделать ps ax и найти в нём новый процесс, завёрнутый в "[]"

А ты не сдаешься прям. Но вообще-то было такой кernel-space веб-сервер Tux . Умер или уничтожен за кулисами публичного шоу в конце девяностых.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта