Just do IT
article thumbnail
Chapter 03 프로세스 & 스케쥴러 (8)
공부 Note/운영체제 2021. 12. 30. 22:50

프로세스간 커뮤니케이션 IPC 기법이지만 이외에도 많이 사용되는 두 가지 기술 많이 사용하는 두 가지 방법 : 시그널(signal), 소켓(socket) 시그널 (signal) 유직스에서 30년 이상 사용된 전통적인 기법 커널 또는 프로세스에서 다른 프로세스에 어떤 이벤트가 발생되었는지를 알려주는 기법 프로세스 관련 코드에 관련 시 시그널 핸들러를 등록해서, 해당 시그널 처리 실행 i. 시그널 무시 ii. 시그널 블록(블록을 푸는 순간, 프로세스에 해당 시그널 전달) iii. 등록된 시그널 핸들러로 특정 동작 수행 iv. 등록된 시그널 핸들러가 없다면 커널에서 기본 동작 수행 주요 시그널: 기본 동작 SIGKILL : 프로세스를 죽여라 (슈퍼관리자가 사용하는 시그널로, 프로세스는 어떤 경우든 죽도록 되어..

article thumbnail
Chapter 03 프로세스 & 스케쥴러 (7)
공부 Note/운영체제 2021. 12. 30. 22:46

파이프(pipe) 기본 파이프는 단방향 통신 fork()로 자식 프로세스를 만들었을 때, 부모와 자식간의 통신 메시지 큐(message queue) 큐니까, 기본은 FIFO 정책으로 데이터 전송 파이프와 메시지 큐 message queue는 부모/자식이 아니라 어느 프로세스간에라도 데이터 송수신이 가능하다 먼저 넣은 데이터가 먼저 읽혀진다 * pipe VS message queue 부모 / 자식 프로세스간 only or not 단방향만 가능 or 양방향만 가능 * pipe, message quere는 모두 커널 공간의 메모리를 사용합니다. 공유 메모리 (shared memory) 노골적으로 kernel space에 메모리 공간을 만들고, 해당 공간을 변수처럼 쓰는 방식 message queue처럼 FIF..

article thumbnail
Chapter 03 프로세스 & 스케쥴러 (6)
공부 Note/운영체제 2021. 12. 30. 22:44

프로세스간 커뮤니케이션 (InterProcess Communication - IPC) 프로세스는 다른 프로세스의 공간을 접근할 수 없다 프로세스들이 서로의 공간을 쉽게 접근할 수 있다면? - 프로세스 데이터/코드가 바뀔 수 있다 -> 해킹 -> 매우 위험 IPC (InterProcess Communication) 프로세스간에 커뮤니케이션을 할 수 있게 프로세스간 통신 방법을 제공한다 IPC : InterProcess Communication * 프로세스간 통신이 필요한가요? - 성능을 높이기 위해 여러 프로세스를 만들어서 동시 실행 - 이 때 프로세스간 상태 확인 및 데이터 송수신이 필요하다 프로세스간 커뮤니케이션의 방법 1. file 사용 - file을 사용하면 실시간으로 직접 원하는 프로세스에 데이터..

보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력해주세요.
보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력해주세요.
article thumbnail
Chapter 03 프로세스 & 스케쥴러 (5)
공부 Note/운영체제 2021. 12. 27. 09:36

프로세스와 컴퓨터 구조 프로세스 (process)는 일반적으로 어떻게 구성되어 있을까? text(CODE) : 코드 data : 변수 / 초기화된 데이터 stack : 임시 데이터 (함수 호출, 로컬 변수 등) heap : 코드에서 동적으로 만들어지는 데이터 PC(Program Counter) + SP (Stack Pointer) PC : 코드를 한줄 한줄 카리키는 주소 SP : 함수가 실행이 될 때 최상단 주소 프로세스 구조 : Stack, HEAP, DATA(BSS, DATA), TEXT(CODE) DATA를 BSS와 DATA로 분리 스택오버플로우 주로 해커들의 공격에 활용되었음 프로세스와 컨텍스트 스위칭 PC(Program Counter) + SP(Stack Pointer) Stack, HEAP, ..