Вопросы с тегом «kernel»

В вычислениях ядро ​​- это компьютерная программа, которая управляет запросами ввода / вывода от программного обеспечения и преобразует их в инструкции обработки данных для центрального процессора и других электронных компонентов компьютера. Ядро - это фундаментальная часть операционной системы современного компьютера. Этот тег предназначен для общих вопросов, касающихся кода, который выполняется в контексте ядра операционной системы.

1665
Что такое ":-!!" в коде C?

Я наткнулся на этот странный код макроса в /usr/include/linux/kernel.h : /* Force a compilation error if condition is true, but also produce a result (of value 0 and type size_t), so the expression can be used e.g. in a structure initializer (or where-ever else comma expressions aren't permitted)....

589
Какие есть ресурсы для начала разработки операционной системы? [закрыто]

Закрыто. Этот вопрос не соответствует рекомендациям по переполнению стека . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме переполнения стека. Закрыто 5 лет назад . Одна вещь, которую я всегда хотел сделать, - это разработать...

349
Как работают вероятные / маловероятные макросы в ядре Linux и в чем их выгода?

Я копался в некоторых частях ядра Linux и нашел такие вызовы: if (unlikely(fd < 0)) { /* Do something */ } или if (likely(!err)) { /* Do something */ } Я нашел их определение: #define likely(x) __builtin_expect((x),1) #define unlikely(x) __builtin_expect((x),0) Я знаю, что они для оптимизации,...

258
Как тестируется ядро ​​Linux?

Как разработчики ядра Linux тестируют свой код локально и после того, как они его зафиксировали? Они используют какое-то модульное тестирование, автоматизацию сборки? планы...

236
Каково теоретическое максимальное количество открытых TCP-соединений, которое может иметь современная коробка Linux

Предполагая бесконечную производительность от оборудования, может ли коробка Linux поддерживать> 65536 открытых TCP-соединений? Я понимаю, что количество эфемерных портов (<65536) ограничивает количество соединений от одного локального IP до одного порта на одном удаленном IP. Кортеж...

214
Увеличение максимального количества соединений TCP / IP в Linux

Я программирую сервер, и кажется, что мое количество подключений ограничено, поскольку пропускная способность не насыщается, даже если я установил количество подключений как «неограниченное». Как я могу увеличить или исключить максимальное количество соединений, которые может одновременно открывать...

209
Почему Linux называют монолитным ядром?

Я читал, что Linux - это монолитное ядро. Означает ли монолитное ядро ​​компиляцию и компоновку всего кода ядра в исполняемый файл? Если Linux может поддерживать модули, почему бы не разбить все подсистемы на модули и загрузить их при необходимости? В этом случае ядро ​​не должно загружать все...

173
Поиск, какой процесс был убит Linux OOM Killer

Когда в Linux не хватает памяти (OOM), убийца OOM выбирает процесс для уничтожения на основе некоторой эвристики (это интересное чтение: http://lwn.net/Articles/317814/ ). Как можно программно определить, какие процессы были недавно убиты убийцей...

149
В чем разница между пространством ядра и пространством пользователя?

В чем разница между пространством ядра и пространством пользователя? Означают ли пространство ядра, потоки ядра, процессы ядра и стек ядра одно и то же? Кроме того, зачем нам эта дифференциация?...

148
Измерить время в Linux - время против часов против getrusage против clock_gettime против gettimeofday против timespec_get?

Среди временных функций, time, clock getrusage, clock_gettime, gettimeofdayи timespec_getя хочу , чтобы четко понять , как они реализуются , и каковы их возвращаемые значения для того , чтобы знать , в какой ситуации я должен использовать их. Сначала нам нужно классифицировать функции, возвращающие...

147
Что такое ядро ​​ОС? Чем он отличается от операционной системы? [закрыто]

Закрыто. Этот вопрос не по теме . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме переполнения стека. Закрыто 7 лет назад . Улучшить этот вопрос Я не могу понять разницу между ядром и операционной системой. Я не вижу никакой...

139
Написание программ для устранения ошибок ввода-вывода, вызывающих потерю записи в Linux

TL; DR: Если ядро ​​Linux теряет буферизованную запись ввода-вывода , есть ли способ для приложения узнать? Я знаю, что вам нужен fsync()файл (и его родительский каталог) для долговечности . Вопрос в том, теряет ли ядро ​​грязные буферы, ожидающие записи, из-за ошибки ввода-вывода, как приложение...

131
Почему cscope или ctags выбирают одно вместо другого? [закрыто]

Закрыто. Этот вопрос не соответствует рекомендациям по переполнению стека . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме Stack Overflow. Закрыт 11 месяцев назад . Уточните этот вопрос Я в основном использую vim / gvim в...

126
Драйвер устройства IOCTL Linux [закрыто]

Закрыто . Этот вопрос должен быть более конкретным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он фокусировался только на одной проблеме, отредактировав этот пост . Закрыт в прошлом году . Уточните этот вопрос Кто-нибудь может мне объяснить, Что...

114
В чем разница между vmalloc и kmalloc?

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

113
Преобразование метки времени dmesg в пользовательский формат даты

Я пытаюсь понять временную метку dmesg, и мне трудно преобразовать ее, чтобы изменить ее на дату Java / пользовательский формат даты. Любая помощь очень ценится. Пример журнала dmesg: [14614.647880] airo(eth1): link lost (missed beacons)...

111
стек ядра и стек пользовательского пространства

В чем разница между стеком ядра и пользовательским стеком? Почему используется стек ядра? Если локальная переменная объявлена ​​в ISR, где она будет храниться? Есть ли у каждого процесса свой стек ядра? Тогда как процесс координируется между этими двумя...