1. ioctl input output control 의 약자이고, 디바이스를 명시하는 시스템 콜의 한 종류이다. 리눅스에는 시스템 콜이 많이 없기 때문에(300-400개, 많은 것 아닌가?..) 디바이스들이 가지고 있는 모든 유니크한 함수들을 호출할 수 없다. 따라서 드라이버가 유저공간 어플리케이션에게 하여금 명령을 보낼 수 있게 한다. 하지만, ioctl은 유연하지 않고, 어수선한 경향이 있다. 또한, 불안정하기도 하다. 예를 하나들면, 프린터(종이 인쇄하는) 장치가 설정 옵션으로 폰트를 가지고 있다면, ioctl을 이용해서 현재 프린터의 폰트를 다른 폰트로 바꿀 수도 있고, 현재 폰트가 무엇인지 받아올 수 있다. 함수 정의는 아래와 같다 int ioctl(int fd, int request, .....
clone 과 fork는 새로운 프로세스를 생성한다는 관점에서는 비슷하지만, fork 는 사실 clone() 시스템 콜이 레이어드 되어 있는 라이브러리 함수이다. fork와는 다르게 clone()은 자식 프로세스가 실행 컨텍스트를 호출 프로세스와 공유할 수 있게 해준다. 예를들어 메모리 공간, 파일 디스크립터 테이블, 시그널 핸들러 테이블 등을 공유한다. clone 의 주 사용처는 공유되는 메모리 공간에서 동시에 실행되는 쓰레드 구현이다. 자식 프로세스가 clone()으로 생성되면, 가장 처음 fn(arg)라는 함수를 호출한다. 이렇게 fn 을 호출하는 것은 fork와 다른데, 아시다시피 fork를 호출하고나서는 자식 프로세스는 fork 호출 시점부터 실행을 시작하기 때문이다. fn argument는 실..
- Total
- Today
- Yesterday
- aws 프리티어 요금청구
- 14714 복습법
- function pointer overflow
- CMake for문
- 함수포인터 오버라이트
- CMake run proto compiler
- CMake 기초
- CMake probouf
- 14714 앱
- CMake get file name
- CMake for
- 14714 플래너
- get_filename_component
- 14714 어플리케이션
- 복습 계획어플
- 14714 어플
- react-native
- 14714 공부법
- buffer-over-flow
- CMake 강좌
- 토리파 공부법
- 14714 공부법 어플리케이션
- aws 청구문의
- 복습 어플
- review reminder
- CMake get_filename_Component
- CMake run protoc
- CMAke 파일이름 추출
- CMake 반복문
- 14714 review
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |