일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- java
- Algorithm
- Graph
- react
- 자바
- Data Structure
- VIM
- 다이나믹 프로그래밍
- Javascript
- Database
- LeetCode
- CS
- 백준
- 알고리즘
- DFS
- vscode
- git
- DP
- 리트코드
- BFS
- Python
- Redux
- 그레이들
- 안드로이드
- network
- TypeScript
- db
- 프로그래머스
- 동적 계획법
- frontend
- Today
- Total
목록Computer Science/Operating System (19)
늘 겸손하게
[ IPC? ] Inter-Process Communication의 약자로 프로세스 간 통신을 의미 [ 왜 필요한가요? ] 프로세스는 독립적으로 실행된다. 즉, 한 프로세스는 다른 프로세스 코드, 데이터, 힙, 스택에 접근이 불가능하다. 하지만 이렇게 독립적인 프로세스들 끼리 통신이 필요한 상황이 있다. 이를 가능하게 해주는 것이 바로 IPC 통신이다. 프로세스는 커널이 제공하는 IPC 설비를 이용해 프로세스간 통신을 할 수 있게 된다. [ IPC 종류 ] 익명 PIPE Named PIPE (FIFO) Message Queue 공유 메모리 메모리 맵 소켓 파일 1. 익명 PIPE 파이프는 두 개의 프로세스를 연결하는데 하나의 프로세스는 데이터를 쓰기만 하고, 다른 하나는 데이터를 읽기만 할 수 있다. 한..
프로세스 관리 - Process Management CPU가 실행해야 할 프로세스가 여러 개일 때, CPU 스케줄링을 통해 어떤 프로그램을 실행할지 관리하는 것을 프로세스 관리(Process Management)라 부릅니다. 이때, CPU는 각 프로세스들이 누군지 알아야 관리가 가능한데 프로세스들의 정보를 갖고 있는 것이 바로 Process Metadata Process Metadata 구성 데이터 Process ID Process State Process Priority CPU Registers Owner CPU Usage Memory Usage 이 메타데이터는 프로세스가 생성되면 PCB(Process Control Block)이라는 곳에 저장됨 PCB (Process Control Block) : 프..
[ System Call ] 응용 프로그램이 운영체제의 기능을 사용하기 위해 운영체제의 API를 호출하는 함수가 System Call 운영 체제는 사용자 모드와 커널 모드로 나뉘어 구동하는데, open(), exec(), fork(), kill()와 같은 기능들을 사용하려면 커널 모드로의 전환이 필요합니다. 시스템 콜은 사용자 모드에서 커널 모드로 전환하게 해주며 커널이 제공하는 API를 이용한 뒤 다시 사용자 모드로 전환시킵니다. 커널이 제공하는 API는 무수히 많습니다. 프로세스 제어, 파일 조작, 장치 제어, 정보 유지, 통신, 보호 등이 있습니다. [ 대표적인 시스템 콜 ] open(), fork(), wait(), exec() [ 출처 ] https://github.com/gyoogle/tech..
[ Interrupt ] 지금 수행 중인 일보다 더 중요한 일(ex. 입출력, 우선순위 연산 등)이 발생하면 그 일을 먼저 처리하고 나서 하던 일을 계속해야 합니다. 이러한 상황에서 CPU에게 보내는 지금 실행 중인 일을 중단하라는 신호가 바로 Interrupt 입니다. 프로그램을 실행하는 도중 예기치 않은 상황이 발생할 경우 현재 실행 중인 작업을 즉시 중단하고, 발생된 상황에 대한 우선 처리가 필요함을 CPU에게 알리는 신호가 Interrupt. 인터럽트는 외부/내부 인터럽트, 소프트웨어 인터럽트 두 가지가 존재합니다. 외부/내부 인터럽트 : CPU의 하드웨어 신호에 의해 발생 소프트웨어 인터럽트 : 명령어의 수행에 의해 발생