«linux-kernel» 태그된 질문

이 태그는 Linux 커널 자체의 내부에 대한 질문, 특히 커널 컨텍스트 내에서 실행되는 코드 작성 (예 : 커널 모듈 또는 드라이버)에 대한 질문입니다. Linux에서 사용자 공간 코드 작성에 대한 질문은 일반적으로 대신 [linux] 태그가 지정되어야합니다. Linux 커널의 내부는 지속적으로 변경되므로 관심있는 정확한 커널 버전을 포함하는 것이 도움이됩니다.

5
뭐가 ":-!!" 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). */ #define BUILD_BUG_ON_ZERO(e) (sizeof(struct …
1665 c  linux  macros  linux-kernel 

10
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) 나는 그들이 최적화를위한 것임을 알고 있지만 어떻게 작동합니까? 그리고 그것들을 사용함으로써 …



3
최신 Linux 박스가 가질 수있는 이론상 최대 개방 TCP 연결 수는 얼마입니까?
하드웨어에서 무한한 성능을 가정 할 때 Linux 상자가> 65536 이상의 열린 TCP 연결을 지원할 수 있습니까? 임시 포트 수 (<65536)는 하나의 로컬 IP에서 하나의 원격 IP에있는 하나의 포트로의 연결 수가 제한됨을 이해합니다. 튜플 (로컬 IP, 로컬 포트, 원격 IP, 원격 포트)은 TCP 연결을 고유하게 정의하는 것입니다. 이는 이러한 매개 변수 …

4
Linux에서 최대 TCP / IP 연결 수 늘리기
서버를 프로그래밍 중이며 연결 수를 "무제한"으로 설정 한 경우에도 대역폭이 포화되지 않으므로 연결 수가 제한되는 것 같습니다. Ubuntu Linux 상자가 한 번에 열 수있는 최대 연결 수를 어떻게 늘리거나 제거 할 수 있습니까? OS가 이것을 제한합니까, 아니면 라우터 또는 ISP입니까? 아니면 다른 것입니까?

6
리눅스가 왜 모 놀리 식 커널이라고 불리는가?
나는 리눅스가 모 놀리 식 커널이라는 것을 읽었다. 모 놀리 식 커널은 완전한 커널 코드를 컴파일하여 실행 파일로 연결하는 것을 의미합니까? 리눅스가 모듈을 지원할 수 있다면 왜 모든 서브 시스템을 모듈로 나누고 필요할 때로드합니까? 이 경우 커널은 모든 모듈을 처음에로드 할 필요가 없으며 모듈의 함수 색인을 유지하고 필요할 때로드 할 …

4
Linux OOM Killer가 종료 한 프로세스 찾기
리눅스에 메모리가 부족할 때 (OOM) OOM 킬러는 일부 휴리스틱을 기반으로 강제 종료 할 프로세스를 선택합니다 (흥미로운 읽기 : http://lwn.net/Articles/317814/ ). OOM 킬러가 최근에 종료 한 프로세스를 프로그래밍 방식으로 어떻게 확인할 수 있습니까?

2
리눅스에서 시간 측정-시간 대 시계 대 getrusage 대 clock_gettime 대 gettimeofday 대 timespec_get?
타이밍 기능 중, time, clock getrusage, clock_gettime, gettimeofday그리고 timespec_get, 나는 그들이 구현하는 방법을 명확하게 이해하고 싶은 어떤 상황에서 내가 그들을 사용해야 알기 위해 자신의 반환 값 것입니다. 먼저 wall-clock 값 을 반환하는 함수를 프로세스 또는 스레드 값을 반환하는 함수와 비교 하여 분류해야 합니다 . 전달 된 매개 변수 에 따라 …
148 c  linux  time  linux-kernel 


5
Linux에서 쓰기 손실을 유발하는 I / O 오류에 대처하기위한 프로그램 작성
TL; DR : 리눅스 커널이 버퍼 된 I / O 쓰기를 잃어버린 경우 , 응용 프로그램을 찾을 수있는 방법이 있습니까? fsync()내구성 을 위해 파일 (및 상위 디렉토리)에 있어야한다는 것을 알고 있습니다 . 문제는 커널이 I / O 오류로 인해 쓰기 보류중인 더티 버퍼를 잃어 버린 경우 응용 프로그램이 어떻게이를 감지하고 …
138 c  linux  linux-kernel  posix 

2
IOCTL Linux 장치 드라이버 [닫기]
폐쇄되었습니다 . 이 질문은 더 집중되어야 합니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중할 수 있도록 질문을 업데이트하십시오 . 작년에 문을 닫았 습니다 . 이 질문을 개선하십시오 누구든지 나를 설명 할 수 있습니까? 무엇입니까 IOCTL? 무엇을 위해 사용됩니까? 어떻게 사용하나요? 왜 …

7
vmalloc과 kmalloc의 차이점은 무엇입니까?
나는 주변을 훑어 본 결과 kmalloc, 연속적인 물리적 메모리 블록을 확보 할 수 있으므로. 그러나 원하는 kmalloc연속 물리적 블록을 찾을 수없는 경우 에도 실패 할 수있는 것처럼 보입니다 . 연속적인 메모리 블록을 사용하면 어떤 이점이 있습니까? 특히, 시스템 호출 에서 연속적인 물리적 메모리 블록 이 필요한 이유는 무엇입니까? 그냥 사용할 …

3
커널 스택 및 사용자 공간 스택
커널 스택과 사용자 스택의 차이점은 무엇입니까? 커널 스택이 사용되는 이유는 무엇입니까? 지역 변수가 ISR에서 선언되면 어디에 저장됩니까? 각 프로세스에 자체 커널 스택이 있습니까? 그러면이 두 스택 사이에서 프로세스가 어떻게 조정됩니까?

7
뾰족한 파일이 이동되거나 삭제되면 Linux에서 열린 파일 핸들은 어떻게 되나요?
뾰족한 파일이 다음과 같은 경우 Linux에서 열린 파일 핸들은 어떻게됩니까? 멀리 이동-> 파일 핸들이 유효합니까? 삭제됨-> 잘못된 파일 핸들을 나타내는 EBADF로 이어 집니까? 새 파일로 대체-> 파일 핸들이이 새 파일을 가리키는가? 새 파일에 대한 하드 링크로 대체 됨-> 내 파일이이 링크를 "팔로우"처리합니까? 새 파일에 대한 소프트 링크로 대체 됨-> 내 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.