<?xml version="1.0" encoding="UTF-8" ?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title>커널 API</title>
	<subtitle>FALiNUX 포럼-커널 API</subtitle>	<link rel="alternate" type="text/html" hreflang="ko" href="https://forum.falinux.com/zbxe/Kernel_API"/>
	<link rel="self" type="application/atom+xml" href="https://forum.falinux.com/zbxe/Kernel_API/atom"/>
	<updated>2026-10-23T21:59:01+00:00</updated>
	<id>https://forum.falinux.com/zbxe/Kernel_API/atom</id>
	<generator>Rhymix</generator>
	<rights>모든 저작권은 각 글을 작성하신 분께 있습니다.</rights>	<entry>
		<title>Kernel API - Barrier</title>
		<link rel="alternate" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/534002"/>
	<link rel="replies" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/534002#comment"/>		<id>https://forum.falinux.com/zbxe/Kernel_API/534002</id>
		<published>2010-12-03T10:56:53+00:00</published>
		<updated>2010-12-03T10:56:53+00:00</updated>
		<author>
			<name>박문식</name>
		</author>
		<summary type="text">Barrier 에 대한 문제의 시작은 프로그래머가 논리적으로 구성해 놓은 프로시져와 컴파일러의 최적화의 의해 수정된 프로시져의 불일치및 물리적 특성에서부터 비롯된다. 특정한 플랫폼의 상황에서 발생한 문제에 대하여 다른 버전의 컴파일러로 컴파일하거나 이기종의 플랫폼에서의 실행에서는 발생하지 않을수도 있다. 이제부터 왜 그런 형상이 발생하는지 살펴보자. 먼저 프로그래머는 일련의 순서와 같은 코딩을 하고자 한다. ...</summary>
		<category term="405675" label="기타" />		</entry><entry>
		<title>커널 API - IOCTL 함수 작성시 자료형의 검사</title>
		<link rel="alternate" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/533526"/>
	<link rel="replies" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/533526#comment"/>		<id>https://forum.falinux.com/zbxe/Kernel_API/533526</id>
		<published>2010-11-23T01:55:37+00:00</published>
		<updated>2010-11-23T02:00:57+00:00</updated>
		<author>
			<name>박문식</name>
		</author>
		<summary type="text">드라이버 작성시 file operation 에 사용되는 자료형의 형태 디바이스 드라이버를 작성하다 보면 주면 read, write, ioctl 을 통해 유저 어플리케이션과 데이타를 주고 받게 된다. 이 때 데이타에 대한 유효성과 커널공간으로 사용자 영역으로부터의 데이타를 가져오는 작업을 수행하게 되는데 이때 주의 해야할 점과 회피하는 방법이다. 물론 내가 드라이버를 짜고 어플리케이션을 짜면 어떤 자료형을 넘기는지 알기 때문에 여러가...</summary>
				</entry><entry>
		<title>커널 API - Bit 처리 매크로</title>
		<link rel="alternate" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/533512"/>
	<link rel="replies" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/533512#comment"/>		<id>https://forum.falinux.com/zbxe/Kernel_API/533512</id>
		<published>2010-11-23T00:37:57+00:00</published>
		<updated>2010-11-23T00:37:57+00:00</updated>
		<author>
			<name>박문식</name>
		</author>
		<summary type="text">이번에는 커널에서 비트를 처리하기 위한 매크로들을 보겠습니다. 커널에는 여러가지 편리한 매크로 들이 있습니다. 네... 솔직히 폼도 납니다.^^ 무엇보다 일관적인 함수를 씀으로 인해 실수를 줄일수 있습니다. 또 한가지는 아키텍쳐 별로 최적화된 함수를 제공한다는 것입니다. 그리고 마지막으로 endian에 대한 처리 역시 해준다는 것입니다(이건 아키텍쳐 별로 다를수 있습니다.) set_bit(nr, p) : 메모리 p 의 nr 번째 비트 s...</summary>
				</entry><entry>
		<title>커널 API - schedule_timeout 과 wait_event</title>
		<link rel="alternate" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/533502"/>
	<link rel="replies" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/533502#comment"/>		<id>https://forum.falinux.com/zbxe/Kernel_API/533502</id>
		<published>2010-11-22T23:49:13+00:00</published>
		<updated>2010-11-22T23:49:13+00:00</updated>
		<author>
			<name>박문식</name>
		</author>
		<summary type="text">드라이버를 짜다 보면 시간지연이나 쓰레드에서 이벤트에 의한 처리를 지속적으로 해야 할 필요성이 생깁니다. 그럴때 자주 사용하는 함수가 schedule_timeout 과 wait_event 함수인데 이 함수의 사용에 대해서 설명합니다. msleep : schedule_timeout_uninterruptible msleep_interruptible : schedule_timeout_interruptible schedule_timeout : 현재 task의 상태에 따라 다름. schedule_timeout_interruptible : task는 sleep을 ...</summary>
				</entry><entry>
		<title>커널 API - linked list</title>
		<link rel="alternate" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/533286"/>
	<link rel="replies" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/533286#comment"/>		<id>https://forum.falinux.com/zbxe/Kernel_API/533286</id>
		<published>2010-11-22T00:02:25+00:00</published>
		<updated>2010-11-22T00:10:27+00:00</updated>
		<author>
			<name>박문식</name>
		</author>
		<summary type="text">커널 API 에는 편리한 함수들이 많이 있다. 오늘은 그중에 linked list 를 소개하고자 한다. 기본적으로 모두 double linked list 라는 것을 기억하자. 커널디렉토리를 보면 include/linux/list.h 파일이 있다. 거의 대부분 매크로의 조합이다. 하지만 역시 자주쓰는 것들은 정해져 있다. LIST_HEAD(name) list_add(new, head) list_add_tail(new, head) list_del(entry) list_empty(head) 위의 다섯가지가 기본적인 다섯가지이다. ...</summary>
				</entry><entry>
		<title>gpio 관련된 커널 2.6 용 함수들</title>
		<link rel="alternate" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/503472"/>
	<link rel="replies" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/503472#comment"/>		<id>https://forum.falinux.com/zbxe/Kernel_API/503472</id>
		<published>2008-11-28T16:18:56+00:00</published>
		<updated>2008-11-28T16:18:56+00:00</updated>
		<author>
			<name>오재경</name>
		</author>
		<summary type="text">커널 2.6 에서 gpio 인터페이스가 표준화 되었습니다. arm 커널은 모두 이 표준을 따릅니다. mips 커널은 아직 미흡합니다. 필요한 헤더파일 #include &lt;asm/gpio.h&gt;GPIO 입력설정 gpio_direction_input( gp_nr );GPIO 출력설정 gpio_direction_ouput( gp_nr, init_val ); // init_val 는 초기값이다. GPIO 출력 gpio_set_value( gp_nr, val ); // val 는 0, 1 값이다.GPIO 입력 gpio_get_value( gp_nr );GPIO 인터럽트 활성화 set_i...</summary>
		<category term="405672" label="디바이스" />		</entry><entry>
		<title>MKDEV() - 디바이스</title>
		<link rel="alternate" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/405698"/>
	<link rel="replies" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/405698#comment"/>		<id>https://forum.falinux.com/zbxe/Kernel_API/405698</id>
		<published>2007-08-31T21:44:53+00:00</published>
		<updated>2008-05-26T10:00:50+00:00</updated>
		<author>
			<name>유영창</name>
		</author>
		<summary type="text">설명 주번호인 major 와 부번호인 minor 값을 이용하여 dev_t 값을 얻는다. 이름 MKDEV() 분류 디바이스 타입 매크로 함수 커널 linux-2.6.21 GPL - 헤더 linux/kdev_t.h 형태 MKDEV(int major, int minor); 인수 major 주 번호 minor 부 번호 반환 dev_t 에러 - 연관 dev_t, MAJOR, MINOR 주의 - 버그 - 작성 유영창</summary>
		<category term="405672" label="디바이스" />		</entry><entry>
		<title>MKDEV() - 저수준 파일 함수</title>
		<link rel="alternate" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/405696"/>
	<link rel="replies" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/405696#comment"/>		<id>https://forum.falinux.com/zbxe/Kernel_API/405696</id>
		<published>2007-08-31T21:43:53+00:00</published>
		<updated>2008-05-26T09:58:04+00:00</updated>
		<author>
			<name>유영창</name>
		</author>
		<summary type="text">설명 주번호인 major 와 부번호인 minor 값을 이용하여 dev_t 값을 얻는다. 이름 MKDEV() 분류 저 수준 파일 함수 타입 매크로 함수 커널 linux-2.6.21 GPL - 헤더 linux/kdev_t.h 형태 MKDEV(int major, int minor); 인수 major 주 번호 minor 부 번호 반환 dev_t 에러 - 연관 mknod(), dev_t, MAJOR, MINOR 주의 - 버그 - 작성 유영창</summary>
		<category term="405671" label="저수준 파일 함수" />		</entry><entry>
		<title>MINOR() - 디바이스</title>
		<link rel="alternate" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/405694"/>
	<link rel="replies" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/405694#comment"/>		<id>https://forum.falinux.com/zbxe/Kernel_API/405694</id>
		<published>2007-08-31T21:41:29+00:00</published>
		<updated>2008-05-26T09:54:52+00:00</updated>
		<author>
			<name>유영창</name>
		</author>
		<summary type="text">설명 dev에서 부번호 값을 얻는다. 이름 MINOR() 분류 디바이스 타입 매크로 함수 커널 linux-2.6.21 GPL - 헤더 linux/kdev_t.h 형태 MINOR(dev_t dev); 인수 dev 디바이스 타입 변수 반환 부 번호값을 반환한다. 에러 - 연관 dev_t, MAJOR, MKDEV 주의 - 버그 - 작성 유영창</summary>
		<category term="405672" label="디바이스" />		</entry><entry>
		<title>MINOR() - 저 수준 파일 함수</title>
		<link rel="alternate" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/405692"/>
	<link rel="replies" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/405692#comment"/>		<id>https://forum.falinux.com/zbxe/Kernel_API/405692</id>
		<published>2007-08-31T21:39:37+00:00</published>
		<updated>2008-05-26T09:52:12+00:00</updated>
		<author>
			<name>유영창</name>
		</author>
		<summary type="text">설명 dev에서 부번호 값을 얻는다. 이름 MINOR() 분류 저수준 파일 함수 타입 매크로 함수 커널 linux-2.6.21 GPL - 헤더 linux/kdev_t.h 형태 MINOR(dev_t dev); 인수 dev 디바이스 타입 변수 반환 부 번호값을 반환한다. 에러 - 연관 mknod(), dev_t, MAJOR, MKDEV 주의 - 버그 - 작성 유영창</summary>
		<category term="405671" label="저수준 파일 함수" />		</entry><entry>
		<title>MAJOR() - 디바이스</title>
		<link rel="alternate" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/405690"/>
	<link rel="replies" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/405690#comment"/>		<id>https://forum.falinux.com/zbxe/Kernel_API/405690</id>
		<published>2007-08-30T11:50:09+00:00</published>
		<updated>2008-05-26T09:49:25+00:00</updated>
		<author>
			<name>유영창</name>
		</author>
		<summary type="text">설명 dev 에서 주번호 값을 얻는다. 이름 MAJOR() 분류 디바이스 타입 매크로 함수 커널 linux-2.6.21 GPL - 헤더 linux/kdev_t.h 형태 MAJOR(dev_t dev); 인수 dev 디바이스 타입 변수 반환 주 번호값 반환 에러 - 연관 dev_t, MINOR, MKDEV 주의 - 버그 - 작성 유영창</summary>
		<category term="405672" label="디바이스" />		</entry><entry>
		<title>MAJOR() - 저수준 파일 함수</title>
		<link rel="alternate" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/405688"/>
	<link rel="replies" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/405688#comment"/>		<id>https://forum.falinux.com/zbxe/Kernel_API/405688</id>
		<published>2007-08-30T11:47:48+00:00</published>
		<updated>2008-05-26T09:40:03+00:00</updated>
		<author>
			<name>유영창</name>
		</author>
		<summary type="text">설명 dev 에서 주번호 값을 얻는다. 이름 MAJOR() 분류 저수준 파일 함수 타입 매크로 함수 커널 linux-2.6.21 GPL - 헤더 linux/kdev_t.h 형태 MAJOR(dev_t dev); 인수 dev 디바이스 타입 변수 반환 주 번호값 반환 에러 - 연관 mknod(), dev_t, MINOR, MKDEV 주의 - 버그 - 작성 유영창</summary>
		<category term="405671" label="저수준 파일 함수" />		</entry><entry>
		<title>dev_t - 디바이스</title>
		<link rel="alternate" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/405686"/>
	<link rel="replies" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/405686#comment"/>		<id>https://forum.falinux.com/zbxe/Kernel_API/405686</id>
		<published>2007-08-30T11:47:17+00:00</published>
		<updated>2008-05-26T09:44:25+00:00</updated>
		<author>
			<name>유영창</name>
		</author>
		<summary type="text">설명 디바이스 파일의 주번호와 부번호를 지정하기 위한 변수 타입으로 32 비트의 크기를 갖는다. 주번호로 12 비트가, 부번호로 20 비트가 할당되어 있다. 이름 dev_t 분류 디바이스 타입 Type 커널 linux-2.6.21 GPL - 헤더 #include &lt;linux/types.h&gt; 인수 - 반환 - 에러 - 연관 MAJOR, MINOR, MKDEV 주의 이 타입의 변수가 32 비트라는 가정으로 커널 함수를 작성하면 안된다. 버그 - 작성 유영창</summary>
		<category term="405672" label="디바이스" />		</entry><entry>
		<title>dev_t - 저수준 파일 함수</title>
		<link rel="alternate" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/405684"/>
	<link rel="replies" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/405684#comment"/>		<id>https://forum.falinux.com/zbxe/Kernel_API/405684</id>
		<published>2007-08-30T11:38:47+00:00</published>
		<updated>2008-05-26T09:36:07+00:00</updated>
		<author>
			<name>유영창</name>
		</author>
		<summary type="text">설명 디바이스 파일의 주번호와 부번호를 지정하기 위한 변수 타입으로 32 비트의 크기를 갖는다. 주번호로 12 비트가, 부번호로 20 비트가 할당되어 있다. 이름 dev_t 분류 디바이스 타입 Type 커널 linux-2.6.21 GPL - 헤더 #include &lt;linux/types.h&gt; 인수 - 반환 - 에러 - 연관 MAJOR, MINOR, MKDEV 주의 이 타입의 변수가 32 비트라는 가정으로 커널 함수를 작성하면 안된다. 버그 - 작성 유영창</summary>
		<category term="405671" label="저수준 파일 함수" />		</entry><entry>
		<title>mknod - 저수준 함수</title>
		<link rel="alternate" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/405682"/>
	<link rel="replies" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/405682#comment"/>		<id>https://forum.falinux.com/zbxe/Kernel_API/405682</id>
		<published>2007-08-30T11:32:03+00:00</published>
		<updated>2008-05-26T09:31:55+00:00</updated>
		<author>
			<name>유영창</name>
		</author>
		<summary type="text">설명 dev 로 지정하는 주번호와 부번호를 이용하여 mode 에 지정하는 디바이스 파일 종류와 접근 허가 속성을 가진 pathname 의 디바이스 파일을 만든다. 접근 허가 속성은 프로세스의 umask 와 AND 연산 ( mode &amp; ~umask ) 의 결과값이 최종 생성되는 디바이스 파일의 접근 허가 속성이 된다. 이름 mknod - 저수준 함수 분류 저수준 파일 함수 타입 함수 커널 - GPL - 헤더 #include &lt;sys/types.h&gt; #include &lt;sys/stat.h&gt; #include...</summary>
		<category term="405671" label="저수준 파일 함수" />		</entry><entry>
		<title>mknod</title>
		<link rel="alternate" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/405680"/>
	<link rel="replies" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/405680#comment"/>		<id>https://forum.falinux.com/zbxe/Kernel_API/405680</id>
		<published>2007-08-30T11:21:27+00:00</published>
		<updated>2008-05-26T09:17:16+00:00</updated>
		<author>
			<name>유영창</name>
		</author>
		<summary type="text">설명 디바이스 파일을 만든다. mknod 명령은 문자 디바이스 파일, 블록 디바이스 파일 등을 만드는 데 사용된다. 초기값으로 만들어지는 파일 모드는 0666 이다. 디바이스 파일명 인자를 쓴 후 그 파일의 특수 형태를 알리는 값을 지정해야 한다. ]# mknod /dev/ttyS0 c 4 64 특수 형태를 지정하는 값은 다음과 같다. b : 블록 디바이스 파일 c : 문자 디바이스 파일 디바이스 파일의 이미 예정되어 있는 주번호와 부번호에 대한 내...</summary>
		<category term="405670" label="유틸리티" />		</entry><entry>
		<title>Makefile</title>
		<link rel="alternate" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/405678"/>
	<link rel="replies" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/405678#comment"/>		<id>https://forum.falinux.com/zbxe/Kernel_API/405678</id>
		<published>2007-08-23T15:03:44+00:00</published>
		<updated>2008-05-24T18:48:21+00:00</updated>
		<author>
			<name>유영창</name>
		</author>
		<summary type="text">설명 커널 소스 디렉토리 밖에서 모듈 소스를 작성하고 컴파일 할 경우에 사용되는 파일 이 파일을 컴파일 하기 위해서는 다음과 같은 명령을 사용한다. 여기서는 가장 일반적인 사용법에 대한 것을 설명한다. 그외 사용에 대한 자세한 설명은 커널 소스의 다음 문서를 참조하면 된다. Documentation/kbuild/modules.txt 모듈 디바이스 드라이버 컴파일 1) make 2) make -C &lt;커널 디렉토리 패쓰&gt; M=`pwd` make -C &lt;커널 디렉토리 패...</summary>
		<category term="405669" label="module" />		</entry><entry>
		<title>커널 API 게시판입니다.</title>
		<link rel="alternate" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/405676"/>
	<link rel="replies" type="text/html" href="https://forum.falinux.com/zbxe/Kernel_API/405676#comment"/>		<id>https://forum.falinux.com/zbxe/Kernel_API/405676</id>
		<published>2007-08-23T14:31:27+00:00</published>
		<updated>2008-05-26T09:42:09+00:00</updated>
		<author>
			<name>장길석</name>
		</author>
		<summary type="text">안녕하세요. 디바이스 드라이버를 만들다 보면 가상 아쉬운 것이 커널 API 레퍼런스입니다. C 라이브러리 같은 경우에는 이미 좋은 책들이 많이 나와 있습니다만, 커널 API에 대해서는 있는지 없는지 모르겠습니다만 구하기 어렵고 고작 웹에서 구한 영문 자료뿐이어서 참고하기가 쉽지 않았습니다. 이에 C 라이브러리에 이어서 커널 API를 위한 레퍼런스 게시판을 준비했습니다. 그러나 역시 방대한 내용이므로 저 혼자 자료를 올...</summary>
		<category term="405675" label="기타" />		</entry></feed>
