이전포스트 에서는 프로세스간 통신에 대한 방법 3가지(파이프, Unix Domain Socket, 공유 메모리)에 대해서 알아보았다.
위키에서
IPC는 마이크로커널과 나노커널의 디자인 프로세스에 매우 중요하다
이렇게 이야기 했는데, 그렇다면 마이크로 커널, 나노커널, 디자인 프로세스는 무엇일까?
마이크로커널은 컴퓨터 과학에서 운영 체제에 추가되어야 하는 메커니즘을 최소한으로 제공하는 초소형 커널이다. 이러한 미니멀리티 메커니즘에는 낮은 수준의 주소 공간 관리, 스레드 관리, 프로세스 간 통신을 포함한다.
그림에서 나오는 모놀리식 커널은 Application을 제외한 모든 system 관련 기능들(VFS, IPC, Filesystem 등등)을 커널이 관리하며 각 영역들은 단계적으로 나뉘어 있다.
커널의 system call을 이용해서 리눅스 프로세스 하나를 만들 때 VFS에서 제공하는 fopen 라이브러리를 이용해 다른 파일 시스템에 쉽게 접근이 가능하고, IPC를 이용해 다른 프로세스에게 메시지를 전달 하는 것도 해낼 수 있다.
대표적인 예로는 Unix, Linux가 있다.
대표적으로 MacOS X, Windows NT가 있다.
나노커널은 하드웨어 추상화를 제공하지만 시스템 서비스는 제공하지 않는 작은 커널이다. 더 큰 커널은 더 많은 기능을 제공하고 더 많은 하드웨어 추상화를 관리하도록 설계된다. 현대의 마이크로커널은 시스템 서비스도 부족하다. 따라서 마이크로커널과 나노커널이라는 용어는 유사해졌다.
사실상 마이크로 커널과 동일한 용어인듯 하다. 자세한 자료가 없고 기반지식이 없어서 더 파고들기가 어렵다.
프로세스 설계에 관한 이야기인 것 같다.
https://devowen.com/217
여기에 자세한 이야기를 볼 수 있다.