단위 모듈은 소프트웨어 구현에 필요한 여러 동작 중 한 가지 동작을 수행하는 기능을 모듈로 구현한 것이다.
단위 기능 명세서 작성 ➡️ 입∙출력 기능 구현 ➡️ 알고리즘 구현
단위 기능 명세서는 설계 과정에서 작성하는 기능 및 코드 명세서나 설계 ㅣㅈ침과 같이 단위 기능을 명세화한 문서들을 의미한다.
입∙출력 기능 구현 단계에서는 단위 기능 명세서에서 정의한 데이터 형식에 따라 입∙출력 기능을 위한 알고리즘 및 데이터를 구현한다.
IPC는 모듈 간 통신 방식을 구현하기 위해 사용되는 대표적인 프로그래밍 인터페이스 집합으로, 복수의 프로세스를 수행하여 이뤄지는 프로세스 간 통신까지 구현이 가능하다.
Shared Memory
다수의 프로세스가 공유 가능한 메모리를 구성하여 프로세스 간 통신을 수행한다.
Socket
네트워크 소켓을 이용하여 네트워크를 경유하는 프로세스들 간 통신을 수행한다.
Semaphores
공유 자원에 대한 접근 제어를 통해 프로세스 간 통신을 수행한다.
Pipes&named Pipes
- 'Pipe'라고 불리는 선입선출 형태로 구성된 메모리를 여러 프로세스가 공유하여 통신을 수행한다.
- 하나의 프로세스가 Pipe를 이용 중이라면 다른 프로세스는 접근할 수 없다.
Message Queueing
메시지가 발생하면 이를 전달하는 형태로 프로세스 간 통신을 수행한다.
알고리즘 구현 단계에서는 입∙출력 데이터를 바탕으로 단위 기능별 요구 사항들을 구현 가능한 언어를 이용하여 모듈로 구현한다.
디바이스 드라이버 모듈
하드웨어 주변 장치의 동작을 구현한 모듈
네트워크 모듈
네트워크 장비 및 데이터 통신을 위한 기능을 구현한 모듈
파일 모듈
컴퓨터 내부의 데이터 구조 영역에 접근하는 방법을 구현한 모듈
메모리 모듈
파일을 프로세스의 가상 메모리에 매핑/해제하는 방법, 프로세스 사이의 통신 기능을 구현한 모듈
프로세스 모듈
하나의 프로세스 안에서 다른 프로세스를 생성하는 방법을 구현한 모듈