이론공부/운영체제2 블록킹/논블록킹, 동기/비동기 면접에서 자주나오는 질문중 하나이다. 또한 서비스를 만들다보면 해당 개념을 가지고 처리를 하는 경우가 생긴다. 비슷하면서도 비슷하지 않은 두개때문에 헷갈릴때가 많다. Blocking : 자신의 작업을 진행하다가 다른 주체의 작업이 시작되면 다른 작업이 끝날 때까지 기다렸다가 자신의 작업을 시작하는 것 Non-Blocking : 다른 주체의 작업에 관련없이 자신의 작업을 하는 것 Synchronous : 작업을 동시에 수행하거나, 동시에 끝나거나, 끝나는 동시에 시작 Asynchronous : 시작, 종료가 일치하지 않으며, 끝나는 동시에 시작을 하지 않음 각각의 정의만 보면 매우 어렵다. 4가지 경우를 조합하여 각각의 상황을 확인해보자. Blocking / Synchronous 블록킹이기 때문에 제어권이.. 이론공부/운영체제 2021. 8. 23. 프로세스와 스레드, 프로그램의 차이점(운영체제,OS) 프로그램이란? 1. 파일시스템에 등록되어있는 메모리상에 올라가 있지않은 프로그램입니다. 프로세스란? 1. 메모리에 올라가있는 프로그램으로 볼 수 있습니다.(실행중인 프로그램) 프로세스의 특징 1. 스택, 힙, 데이터, 텍스트로 구성된 독립적인 메모리 영역을 가지고 있다. 2. 한개 이상의 스레드를 포함하고 있습니다. ※ 프로그램 그 자체는 프로세스가 아닙니다. 프로세스 구조 각 역할을 이렇습니다. Stack : 함수의 매개변수, 복귀주소, 로컬변수등 같은 임시자료 Data : 전역 변수들을 저장 Heap : 동적으로 할당되는 것들 Text : 코드 멀티 프로세스란? 1. 하나의 응용프로그램을 여러개의 프로세스로 구성하여 작업을 처리하도록 하는것. 장점 : 여러 프로세스중 하나가 문제.. 이론공부/운영체제 2020. 4. 26. 이전 1 다음 💲 광고입니다.