
정말 좋은 책이고, 깊은 내용을 담은 책은 시작하는 것부터 애를 먹는데 이 책이 좀 그러했다.
책 제목도 무척 긴데, 원서 이름은 다소 심플하게 The Linux Programming Interface이다. 책은 무척 두껍다. 하하
아주 차근차근 조금씩.. 발췌하면서 정리할 예정이다.
저자: Michael Kerrisk
이 책의 소스 코드
-- 프로세스 위주로
[Vol.1]
1~5장까지는 가볍게 읽기
6장 프로세스
24장 프로세스 생성
25장 프로세스 종료
26장 자식 프로세스 감지
27장 프로그램 실행
28~31장 읽기
-- 파이프란?
[Vol.2]
7장 파이프와 FIFO 정독
리눅스의 철학: 사용자 컴퓨팅을 위한 자유(freedom in their computing)
Free software means that the software's users have freedom.
(The issue is not about price.)
We developed the GNU operating system so that users can have freedom in their computing.
출처: https://www.gnu.org/philosophy/philosophy.html
꽤 멋있는 말이라고 생각한다.🧐

운영체제를 표현한 그림
그림출처
sh(bourne shell): Steve Boure이 작성. 유닉스 7판의 표준 쉘.
csh(C shell): Bill Joy가 작성한 쉘. 이 쉘의 여러 흐름 제어 구문이 c 프로그래밍 언어와 닮아서 지어젔다고 한다.
ksh(Korn shell): David Korn이 sh후계자로 작성한 쉘.
bash(Bourne again shell): sh를 GNU 프로젝트에서 다시 구현한 것. 리눅스에서 가장 널리 쓰이는 쉘이다.
zsh: zsh는 bash, ksh, tcsh의 일부 기능을 포함하여 수많은 개선 사항이 갖추어진 확장형 본 셸. 커스텀이 비교적 자유롭다(oh-my-zsh).
[복기]
- 커널: 운영체제의 핵심 부분
- 하드웨어와 직접적인 소통
- 프로그램(프로세스)이 하드웨어를 직접 제어하지 못하게 하고, 안정적이고 안전하게 하드웨어를 관리한다
- 쉘: 사용자와 커널 사이에서 명령을 중계하는 프로그램
- 사용자가 입력한 명령어를 해석(파싱)해서 커널에 전달한다
- 명령어를 입력받는 인터페이스