본문 바로가기

분류 전체보기321

IPC(Inter Process Communication) IPC (Inter Process Communication) 프로세스는 독립적으로 실행되어 다른 프로세스에 영향을 받지 않는다. 다만 스레드는 프로세스 안에서 자원을 공유하므로 영향을 받는다. 프로세스 간의 통신을 해야하는 상황이 있는데 이때 필요한 것이 IPC통신이다. 프로세스는 커널이 제공하는 IPC 설비를 이용하여 프로세스간 통신을 할 수 있게 된다. 커널 : 운영체제의 핵심, 다른 모든 부분에 여러 기본적인 서비스를 제공 IPC 종류 익명 PIPE 파이프는 2개의 프로세스를 연결하는데 하나의 프로세스는 데이터를 쓰기만 하고 다른 하나는 데이터를 읽기만 할 수 있다. 한쪽 방향으로만 통신이 가능한 반이중 통신 통신할 프로세스를 명확히 알 수 있는 경우 사용 (부모-자식 간 통신) 간단하게 사용할 수.. 2023. 1. 30.
GitHub 프로필 꾸미기 2 status 창과 Top language 꾸미기 https://github.com/anuraghazra/github-readme-stats/blob/master/themes/README.md GitHub - anuraghazra/github-readme-stats: Dynamically generated stats for your github readmes :zap: Dynamically generated stats for your github readmes - GitHub - anuraghazra/github-readme-stats: Dynamically generated stats for your github readmes github.com ![본인ID's github stats](https://g.. 2023. 1. 29.
Process Control Block(PCB)와 Context Switching Process Management : CPU의 프로세스가 여러 개 일 때, CPU 스케줄링을 통해 관리하는 것을 말한다. Process Metadata : 프로세스들의 특징을 가지고 있는 것 Process ID Process State Process Priority CPU Registers Owner CPU Usage Memory Usage 해당 메타데이터는 프로세스가 생성되면 PCB(Process Control Block)에 저장된다. PCB(Process Control Block) 프로세스 메타데이터들을 저장하는 곳 PCB 안에는 한 프로세스의 정보가 담긴다. 프로그램 실행 → 프로세스 생성 → 프로세스 주소 공간에 {코드, 스택, 데이터} 생성 → 이 프로세스의 메타데이터들이 PCB에 저장 PCB이.. 2023. 1. 29.
System Call 시스템 콜 fork(), exec(), wait() 와 같은 것들은 Process 생성과 제어를 위한 시스템 콜이다. fork(), exec() 는 새로운 Process 생성과 관련이 되어 있다. wait()는 Process가 만든 다른 Process가 끝날 때까지 기다리는 명령어이다. fork() 새로운 Process를 생성할 때 사용 int main(int argc, char *argv[]) { printf("pid : %d", (int) getpid()); // pid : 29146 int rc = fork();// 주목 if (rc < 0) { exit(1); }// (1) fork 실패 else if (rc == 0) {// (2) child 인 경우 (fork 값이 0) printf("child (pid.. 2023. 1. 29.