Block과 non-block의 차이는 호출된 함수가 호출한 함수에게 제어권을 건네주는 유무의 차이함수 A, 함수 B → 함수 A안에서 함수 B가 호출 된다함수A: 호출한 함수함수B: 호출된 함수 함수 B는 내 할 일을 다 마칠 때까지 제어권을 가지고 있는다. A는 B
프로세스는 실행 중인 프로그램으로 디스크로 부터 메모리에 적재되어 시스템 자원을 할당 받을 수 있는 것을 의미한다. 할당 받는 시스템 자원으로는 CPU 시간, 운영되기 위해 필요한 주소 공간, Code, Data, Stack, Heap의 구조로 되어 있는 독립된 메모리
프로세스 내에서 실행되는 여러 흐름의 단위 (프로세스의 실행 단위)스레드는 프로세스 내에서 각각 stack은 독립적으로 할당스택 독립적 → 독립적인 함수 호출 가능 → 독립적인 실행 흐름 추가 가능스레드는 code, data, heap 영역을 공유한다.일반 스레드와 거
특정한 작업을 처리하기 위해 프로세스를 여러개 만드는 것(여러개의 프로그램 실행)독립 적인 주소 공간으로 인해 안정성이 높다 but 프로세스간 전환 비용이 많이 들어 효율이 떨어진다.프로세스간 context switching은 비용이 비싸다. → CPU 레지스터 교체
멀티 스레드 환경에서 여러 스레드가 동시에 하나의 객체 및 변수에 접근할 때, 의도한데로 동작하는 것을 의미한다 .thread safe 구현을 위해서는 임계 영역을 동기화 기법으로 제어해야 한다.임계 영역이란 동일한 자원을 동시에 접근하는 작업을 실행하는 코드 영역을
공유 자원을 접근하는 코드 영역임계 영역은 동기화를 통해 공유 자원의 일관성을 보장해야하는데 이를 하지 못하는 경우 발생하는 문제를 의미한다.여러개의 프로세스/쓰레드가 동시에 접근할 때 가장 나중에 실행되는 프로세스/스레드에 의해 최종값이 결정되어 data incons
프로세스(스레드)가 자원을 얻지 못해서 다음 처리를 하지 못하는 상태프로세스1(스레드1), 프로세스2(스레드2)프로세스1(스레드1)은 프로세스2(스레드2)가 사용하고 있는 자원을 대기하고 있고 프로세스2(스레드2)는 프로세스1(스레드1)이 사용하고 있는 자원을 기다리는
프로그램 전체를 하나의 커다란 공간에 연속적으로 할당하는 기법주기억장치가 고정된 파티션으로 미리 분할됨(균등 분할, 비균등 분할)case) 프로세스 크기 > 파티션 고정 크기프로세스를 모듈 단위로 나누어 디스크와 주기억 장치 사이에서 할당을 제어하는 오버레이 기법이 사