프로세스 리눅스를 비롯하여 모든 운영체제들에게 중요한 일이 있습니다. 바로 프로그램을 실행시키는 일입니다. 컴퓨터의 하드웨어 자원은 한정되어 있습니다. 대부분의 프로그램들은 컴퓨터의 자원을 마음껏 사용하고 싶어 할 것입니다. 하지만 그렇게 된다면 엉망진창이 되겠죠. 그래서 운영체제가 존재하고, 운영체제는 프로그램들을 실행하고 관리합니다. 이렇게 실행 중인 프로그램과, 프로그램을 실행시킴으로써 생기는 여러 부산물들을 통틀어 프로세스라고 합니다. 프로그램이 실행 중일 때, 단순히 작성된 코드만 실행되고 있는 것은 아닙니다. 프로세스에 대한 여러 정보들과, 여러 프로세스들이 실행되기 위한 다른 데이터들 역시 관리되고 있습니다. 이것이 프로그램을 실행시킴으로써 생기는 여러 부산물들을 뜻합니다. 예를 들면, 프로세스는 얼마나 실행되고 있었는지 실행시간 정보를 갖고 있습니다. 또한 여러 프로세스들이 멀티태스킹 환경으로 실행될 수 있도록 프로세스 마다 고유의 프로그램 카운터나 프로
최근에 CS공부를 위해, 운영체제를 파보기로 했습니다. 흔히 말하는 공룡책을 사서 봤는데, 너무 읽히지가 않더라구요. 그러다 제 책장에 꽂혀있는 장식품들 중, 예전에 샀던 리눅스 커널 심층 분석이 눈에 띄었습니다. 이 책을 샀을 당시에는 절반 정도 보다가 어려워서 그만 뒀었는데요. 공룡책을 보다 이 책을 보니까 ![](https://images.velog.io/images/undefcat/post/a3823a49-d97e-43d4-b7f8-a56076e7be11