프로그램 : 보조기억장치에 존재하는 실행파일프로세스 : 메모리에 로드되어 실행중인 작업스레드 : 프로세스 안에서 실행되는 작업 흐름 단위 \* 기본적으로 프로세스마다 최소 1개의 스레드를 보유하고 있다.메모리는 Code, Data, Heap, Stack 영역으로 구분
다수의 프로세스(스레드)가 공용 자원에 동시에 접근할 때, 접근 순서에 따라 결과값이 달라질 수 있는 상태예를 들어 커플이 동시에 다른 ATM에서 돈을 뽑는 경우. 남자가 돈을 뽑는 과정을 수행하는 도중 interrupt가 걸려 여자가 돈을 뽑는 과정이 수행되면 여자의
Race Condition(경쟁 상태)
프로그램을 실행하는 중에 예기치 않은 상황이 발생할 경우, 혹은 지금 수행중인 작업보다 더 중요한 일이 생기면 CPU에 신호를 보내 현재 진행중인 프로그램을 즉시 중단하고 발생한 상황을 우선적으로 처리하고 다시 복귀하는 과정외부 인터럽트갑작스러운 전원 이상, 기계 착오
운영체제는 커널모드와 사용자모드로 나뉘어 구동함사용자모드프로그램의 자원에 함부로 침범하지 못하는 모드코드의 작성, 프로세스 실행 등의 간단한 행동을 할 수 있다.커널모드모든 자원(드라이버, 메모리, CPU)에 접근, 명령할 수 있음유저모드와는 다르게 컴퓨터 내부의 모든
프로세스끼리 System Resource를 공유하며 효율성을 극대화 시키기 위한 과정기본적으로 프로세스는 자신에게 할당된 메모리 내의 정보만 접근가능커널이 제공하는 IPC 설비를 통해 프로세스간 통신이 가능하게 해주는 것이 목표!!여러개의 프로세스가 공통으로 사용하는
CPU는 하나의 프로세스만 수행하기 때문에 CPU를 최대한 효율적으로 활용할 수 있도록 하는 프로세스선점 스케줄링프로세스의 수행 중 강제로 종료하고 새로운 프로세스를 수행시킬 수 있는 스케줄링 방식.비선점 스케줄링IO를 제외하고 강제로 프로세스를 끝낼 수 없고 프로세스
프로세스가 자원을 얻지 못해서 다음 처리를 하지 못하는상태. 시스템적으로 한정된 자원을 여러곳에서 사용하려고 할 때 발생발생상황멀티 프로그래밍 환경에서 한정된 자원을 사용하려고 서로 경쟁하는 상황 발생임의의 프로세스가 자원을 요청했을 때 그 시각에 해당 자원을 사용할
외부단편화총 공간은 여유가 있지만 나뉘어져 있으므로 적재하지 못하는 상태Compaction이라는 압축기법을 통해 분산된 메모리를 큰 블록으로 압축시킨다\-> 프로세스 주소공간이 동적으로 재배치 되어야 하므로 오버헤드가 크고 비효율적이다.내부단편화파티션이 고정되어 있기
물리 메모리가 가지는 크기의 한계를 극복하기 위해 각 프로세스에서 현재 실행에 필요한 부분만 메모리에 적재하는 방법장점사용자 프로그램이 물리메모리보다 커져도 됨(메모리 크기의 제약으로부터 자유로워진다)각 프로그램이 더 작은 메모리를 차지하므로 더 많은 프로그램을 동시에
CPU 코어 안에 탑재되어 가상주소를 실제 메모리주소로 변환해주는 장치CPU는 레지스터가 지시하는대로 메모리에 접근하여 다음에 수행할 명령어를 가져오는데 필요 데이터가 없으면 해당데이터를 미리 가져온다.이때 필요한 것이 MMU!메모리 보호나 캐시 관리 등 CPU가 메모