프로세스(2)
-
프로세스(Process)와 스레드(Thread)::운영체제
1. 프로세스(Process) 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 의미합니다. 메모리에 올라와 실행되고 있는 프로그램의 인스턴스로 독립적인 개체입니다. 운영체제로부터 시스템 자원을 할당받는 작업의 단위입니다. 할당받는 시스템 자원 1) CPU 시간 2) 운영되기 위해 필요한 주소 공간 3) Code, Data, Stack, Heap 구조로 되어 있는 독립된 메모리 영역 특징 - 각각 독립된 메모리 영역을 할당받습니다. - 기본적으로 프로세스 당 최소 1개의 스레드(메인 스레드)를 가지고 있습니다. - 각 프로세스는 별도의 주소 공간에서 실행되며 한 프로세스는 다른 프로세스의 메모리 영역(변수, 자료구조 등)에 접근할 수 없습니다. - 한 프로세스가 다른 프로세스의 자원에 접근하려면 프로..
2020.06.30 -
CPU 프로세스 스케줄링::운영체제
1. 선점 스케줄링 CPU가 어떤 프로세스에 의해 점유 중일 때, 우선순위가 높은 프로세스가 CPU를 차지할 수 있습니다. 우선 순위가 높은 프로세스를 빠르게 처리해야 할 경우에 유용하지만, 오버헤드가 발생하여 처리시간을 예측하기 힘듭니다. SRT(Shortest Remaining Time) 스케줄링 짧은 시간 순서대로 프로세스를 수행합니다. 남은 처리 시간이 더 짧은 프로세스가 Ready 큐에 들어오면 그 프로세스가 바로 선점됩니다. 라운드 로빈(Round Robin) 스케줄링 각 프로세스는 같은 크기의 CPU 시간을 할당받고 선입선출(FIFO)에 의해 선점됩니다. 할당시간이 너무 크면 선입선출과 다를 바 없어지고, 너무 작으면 오버헤드가 너무 커집니다. 다단계 큐(Multi-level Queue) 스..
2020.06.25