운영체제
-
[운영체제] CPU 스케줄링운영체제 2021. 8. 27. 21:17
CPU 스케줄링 운영체제가 CPU의 자원을 어떤 프로세스에게 할당해 줄 지 그 일정을 짜는 것 일정을 어떻게 짰는지에 따라 CPU의 자원을 얼마나 효율적으로 사용하게 되는지가 결정 CPU 스케줄러는 다음 네 가지 상황에서 동작 한 프로세스가 실행상태에서 대기 상태로 전환될 때 ex) I/O 요청에 의한 대기 프로세스가 실행 상태에서 준비 완료 상태로 전환될 때 ex) 할당된 시간이 다 끝났을 때 (타이머 인터럽트가 발생했을 때) 프로세스가 대기 상태에서 준비완료 상태로 전환될 때 ex) I/O 종료 시 프로세스가 종료될 때 스케줄링 알고리즘 비선점 스케줄링 어떤 프로세스가 CPU를 점유하고 있다면 해당 프로세스의 작업이 완료될 때까지 다른 프로세스는 CPU를 사용할 수 없음. 장점 : 프로세스 일괄 처리..
-
[운영체제] 프로세스와 스레드운영체제 2021. 8. 26. 21:20
프로그램 컴퓨터에서 실행할 수 있는 파일 (.exe 등) 파일이 저장 장치에 저장되어 있지만 메모리에는 올라가 있지 않은 정적인 상태 프로세스 실행 중인 프로그램(program) 즉, 사용자가 작성한 프로그램이 OS에 의해 메모리 공간을 할당받아 실행 중인 것 프로세스는 각각 독립된 메모리 영역(Code, Data, Stack, Heap의 구조)을 할당받는다. Code : 프로세스가 실행할 코드와 매크로 상수가 기계어의 형태로 저장 Data : 전역변수 또는 static 변수 등등이 저장 (프로그램이 구동되는 동안 항상 접근 가능한 변수가 저장) Stack : 함수 안에서 선언된 지역변수, 매개변수, 리턴값, 돌아올 주소 등등이 저장되고 함수 호출시 기록하고 종료되면 제거 Heap : 런타임에 크기가 결..