본문 바로가기

리눅스마스터 1급/2001회

[리눅스마스터 1급] 2001회 1차 A형 기출문제 풀이 (41번 - 45번)

반응형

 

 

 

<리눅스 커널 모듈>

모듈이라 함은 장착/해제가 자유로워 해당 모듈(장치)의 기능이 탑재된 상태에서 여러 플랫폼(시스템)에 이식 가능한 것들을 의미한다.

 

모놀리식 커널(Monolithic Kernel)이라 불리는 리눅스 커널은 새로운 변화에는 감각이 무딘 편이어 처음 보는 장치를 인식해야 하는 경우에는 (장치 관련 드라이버가 없으니까) 새 커널을 만들어야 하는 경우가 있다. 이러한 복잡한 상황을 해결하고자 모듈형 커널을 사용했고, 이는 필요할 때는 사용하고 필요 없을 때는 사용하지 않아 항상 메모리 공간을 차지하지 않는다.

 

커널에 탑재되는 모듈 관련 디렉토리는 ③ /lib/modules/커널버전/kernel 이다.

[커널 버전은 uname -r 명령어로 알 수 있다.]

 

 

 

<리눅스 모듈 명령어>

① lsmod ☞ /proc/modules의 내용을 출력한다. 커널에 사용 중인 모듈의 이름, 크기나 참조 중인 모듈 등의 정보를 출력한다.

② depmod ☞ 최상위 디렉터리의 modules.dep 파일을 업데이트 하 하는 명령어이다. 부팅할 때마다 업데이트가 필요하여 /etc/rc.d/rc.sysinit 파일에 등록되어있다.

③ modinfo ☞ 모듈 오브젝트 파일(. o)의 모듈 정보를 보여준다.

④ modprobe ☞ insmode와 같은 역할을 수행하나 의존성 있는 모듈도 적재할 수 있다. 의존성에 필요한 모듈을 먼저 적재한 후에 해당 모듈을 적재하는 방식으로 명령을 수행한다. modules.dep 파일을 참고하여 모듈 간의 의존성을 해결하기 때문에 depmod로 modules.dep 파일을 업데이트 한 뒤에 사용해야 한다. 추가로 -r 옵션을 이용하면 의존성이 있는 모듈도 제거할 수 있다. 물론 의존성에 필요한 모듈도 함께 삭제된다.

 

insmod ☞ 의존성 있는 모듈을 제외하고 동작중인 커널에 모듈을 적재한다.

rmmod ☞ 커널에서 모듈을 제거하는 명령어이다. modprobe와 달리 의존성이 있는 모듈은 제거할 수 없다.

 

 

 

<모듈의 의존성>

같은 내용의 문제가 3 연속으로 나왔다. 위 문제를 잘 해결했다면 이 문제도 풀 수 있다.

 

modprobe는 insmod 명령어처럼 동작중인 커널에 모듈을 적재하는 역할을 수행하는데 의존성이 있는 모듈도 적재할 수 있다는 차이점을 갖고 있다. 해당 모듈의 의존성에 필요한 것을 modules.dep 파일에서 참고할 수 있고 이 파일을 업데이트하고 관리하는 명령어는 depmod이다.

 

정답 ☞ ④ ㉠ modules.dep  ㉡ depmod

 

 

<프린터 제어 명령어>

CUPS(Common Unix Printing System) ☞ 애플에서 개발한 오픈 소스 형태의 소프트웨어로 유닉스 계열 운영체제를 위한 모듈 방식의 프린팅 시스템이다. 모든 유닉스 계열의 운영체제를 대상을 두고 개발했기 때문에 인쇄 서비스 표준화를 목적으로 만들어진 인터넷 인쇄 프로토콜 기반이다. System V 계열과 BSD 계열 모두를 지원하는 LPRng을 대체하여 사용하고 있는데 이는 LPRng와  동일한 인터페이스를 많이 지원하기 때문에 같은 명령어를 사용할 수 있다는 점 때문이다.

 

[LPRng는 BSD 계열 유닉스에서 사용하기 위해 개발된 프린팅 시스템이다. 버클리 프린팅 시스템으로도 불리며 여러 프린터와 대기열을 관리해야 하는 네트워크 컴퓨팅 환경에서 작동하도록 설계됐다.]

 

① lp ☞ 문서 출력 명령 + System V 계열

② lpr ☞ 문서 출력 명령 + BSD 계열

③ lpstat ☞ 현재의 인쇄 대기열을 출력한다. + System V 계열

④ cancel ☞ 인쇄 대기열에서 작업 제거 + System V 계열

 

 

 

<주변 장치 관련 소프트웨어>

 

 

① SANE(Scanner Access Now Easy) ☞ 스캐너 API

② ALSA(Advanced Linux Sound Architecture) ☞ 사운드 카드 API

③ DSSI(Disposable SoftSynth Interface) ☞ 오디오 API 

④ LADSPA(Linux Audio Developer's Simple Plugin API) ☞ 오디오 API

 

 

 

 

 

 

 

반응형