본문 바로가기

서버운영 (TA, ADMIN)/리눅스

(17)
[리눅스] trap을 이용한 signal 처리 signal은 unix 운영체제에서 비동기적인 사건을 전송하기 위해서 사용하는 설비다. 비동기적인 사건이란 언제 발생할지 예측할 수 없는 사건으로 터미널 종료, 메모리 침범, 알람, 장치로부터의 입력 등의 사건이 이에 해당한다. 유닉스 시스템은 이러한 시그널 처리가 가능하도록 signal(:12) 제어용 C 함수들을 제공한다. 그러나 이들 C 인터페이스 함수는 간단한 일을 처리하기에는 좀 부담스러운게 사실이다. 여기에 trap(:12)을 이용해서 shell 스크립트로 이벤트를 처리하는 방법을 소개하고자 한다. 시그널은 프로세스에 종속적으로, 해당 프로세스별로 받아들이거나 무시하는 시그널이 정의된다. 그러므로 shell 상에서 이벤트를 처리하는 스크립트를 작성하려면, shell에서 받아들이는 시그널의 종류..
[리눅스] 시스템 구성 정보 확인하기 보호되어 있는 글입니다.
[리눅스] 데몬(Disk And Execution MONitor) 데몬이란 서버 프로세스로 시스템이 살아잇는 동안 결코 종료되지 않고 백그라운드 프로세스 상태로 존재합니다. 예를 들면 웹서버 데몬은 백그라운드 상태에서 클라이언트의 요청을 대기하고 있다가 요청이 도착하면 각 요청에 대해 새로운 프로세스를 생성해서 요청에 대한 서비스를 수행하고 새로 생성된 프로세스는 종료합니다. 그러나 원래의 웹서버 데몬은 종료하지 않고 백그라운드 상태에서 클라이언트의 요청을 대기합니다. FTP, TELNET 등의 인터넷 서비스를 이용할 때에도 서버측에서 인터넷 데몬이 백그라운드로 실행되고 있고, 클라이언트의 FTP, TELNET 요청이 있을 경우 각 요청을 서비스하기 위해 자식 프로세스를 생성하고, 서비스가 완료되면 요청에 따라 생성된 프로세스는 종료 됩니다.
[리눅스] 리눅스 커널 소스코드 구성도 arch/ - CPU 종속적인 부분, 각 처리기 마다 하위 디렉터리로 구성(arch/i386, arch/alpha, arch/arm...) - arch/arm/kernel/ 하드웨어 종속적인 커널 관리 루틴 트랩, 인터럽트 처리 루틴 문맥교환 루틴 장치 구성, 초기화 루틴 - arch/arm/mm 하드웨어 종속적인 메모리 관리 루틴 init/ - 하드웨어 독립적인 커널 초기화 루틴(start_kernel) - 태스크 0 (init_task or task[0]) 생성 - 태스크 1, 2, 3 등 데몬 프로세스 생성 kernel/ - 리눅스 커널의 가장 중심적인 디렉터리 (central section of the kernal) - 하드웨어 독립적인 커널관리 루틴(하드웨어 종속적인 커널관리 루틴은 arch/a..
[리눅스] 커널이란? 컴퓨터의 커널은 운영체제의 핵심입니다. 운영체제의 다른 모든 부분에 여러 기본적인 서비스를 제공합니다. 시스템 자원은 제한되어있지만 프로그램은 많기 때문에 커널은 프로그램의 수행상태인 프로세스 간의 보안 접근을 책임지는 소프트웨어입니다. 커널이 이러한 프로세스마다 얼마만큼의 자원을 사용해야 하는지 결정해야하는데 이것을 스케줄링이라고 합니다. 같은 종류의 컴포넌트에 대해 하드웨어는 다양하게 디자인 되어질 수 있습니다. 따라서 하드웨어에 직접 접근하는 것은 매우 복잡할 수 있습니다. 일반적으로 커널은 운영체제의 복잡한 내부를 감추고 깔끔하고 일관성 있는 인터페이스를 하드웨어에 제공하기 위해 추상화를 지원합니다. 이러한 하드웨어 추상화는 프로그래머가 하드웨어의 복잡한 접근을 고민할 필요없이 쉽게 개발하는 것을..