Operation System15 IPC IPC 개념 Inter-Process Communication 독립된 프로세스 간 통신을 가능하게 해주는 것 커널이 제공하는 IPC 설비를 통해 프로세스 간 통신 종류 익명 PIPE 파이프는 두 개의 프로세스를 반이중 통신으로 연결 하나의 프로세스는 읽기만 가능하고 다른 프로세스는 쓰기만 가능 한 방향으로만 통신이 가능 전이중통신을 하기 위해서 2개의 파이프 구현 간단하게 사용할 수 있다는 장점이 있고, 전이중 통신은 구현이 복잡 Named PIPE 익명 파이프는 통신할 프로세스를 명확히 아는 경우에 사용 named PIPE는 통신을 위해 이름이 있는 파일을 사용하여 모르는 상태의 프로세스와도 통신 가능 그러나 Named PIPE도 익명 파이프와 마찬가지로 읽기/쓰기를 동시에 하는 것이 불가능 Messa.. 2023. 4. 30. Interrupt Interrupt 개념 Interrupt 프로그램 실행 도중 예기치 못한 상황으로 실행 중인 작업을 중단하고 발생된 상황을 우선 처리할 필요성을 CPU에게 알리는 작업 지금 수행 중인 일보다 우선순위가 높은 이벤트가 발생하면 그 작업을 먼저 처리하고 진행하고 있던 작업을 수행 종류 외부 인터럽트 CPU의 하드웨어 신호에 의해 발생 CPU 코어의 외부 요인에서 발생하는 인터럽트 전원 이상 인터럽트 전원 공급이 중단된 경우 작업 중인 프로세스 대피 I/O 인터럽트 I/O 장치에게 일을 맡기거나 I/O 장치가 CPU에게 정보를 전달할 때 호출 타이머 인터럽트 컴퓨터 내부 타이머가 주기적으로 CPU에게 제한 시간이 초과되면 인터럽트 발생 하나의 프로세스가 CPU 자원을 오랫동안 점유하지 못하게 하기 위해 사용 .. 2023. 4. 27. PCB PCB 개념 Process Management CPU가 여러 프로세스를 스케줄링을 통해 관리하는 것 Process Metadata 프로세스가 생성되면 관련 정보들을 PCB에 저장 process ID, process state, process priority, CPU registers, owner, CPU usage, memory usage PCB(Process Control Block) process metadata를 저장하는 공간 하나의 프로세스 정보를 저장 프로그램 실행 과정 프로그램 실행 프로세스 생성 각 프로세스 주소 공간에 코드 부분, 데이터 부분, 스택 부분 생성 프로세스의 메타데이터를 pcb에 저장 사용 목적 CPU가 프로세스 교체 작업을 진행 인터럽트가 발생하면 기존에 실행되던 프로세스 정.. 2023. 4. 26. Process Address Space Process Address Space 개념 Process Addresss Space 프로그램이 실행되면 주소공간이 memory에 할당 할당된 process를 CPU가 실행 구성 Code Segment(코드 부분) 프로그램 코드가 저장 읽기만 가능 Data Segment(데이터 부분) 전역 변수 같은 데이터를 저장 읽고 쓰기 가능 Stack Segment(스택 부분) 함수나 지역 변수 저장 읽고 쓰기 가능 공간 분리 목적 코드 부분 프로그램 코드는 변경되면 안 되기 때문에 따로 관리 데이터 부분과 스택 부분 전역변수는 어떤 함수도 접근 가능하기 때문에 데이터 부분으로 따로 관리 스택 부분은 구조에 따라 LIFO 방식으로 구현 Reference https://whereisusb.tistory.com/10 2023. 4. 25. 이전 1 2 3 4 다음