Development/CS (3) 썸네일형 리스트형 Thread, Thread Pool 프로세스 프로그램을 실행하는 주체, 자신만의 고유 공간과 자원을 할당받아 사용한다. 프로세스는 메모리 상에서 실행중인 프로그램을 말하며, 스레드는 이 프로세스 안에서 실행되는 흐름단위를 말한다. 프로세스는 최소 하나의 스레드를 보유하고 있으며, 각각 별도의 주소 공간을 독립적으로 할당 받는다. (code, heap, stack) 스레드 작업을 처리해주는 주체, 다른 쓰레드와 공간 및 자원을 공유하면서 사용한다. 스레드는 자원 중에 stack만 따로 할당받고 나머지 영역은 스레드끼리 서로 공유한다. 프로세스와 스레드 비교 프로세스는 운영체제로부터 별도의 메모리 영역을 할당받는다. 스레드는 stack을 제외한 공유자원(code, data, heap) 부분은 공유해 서로 읽고 쓸 수 있게 된다. 프로세스와 스.. 프로세스 생명주기와 프로세스 메모리 프로세스 생명주기 신규 프로세스가 메인메모리에 올라옴 (실행X) 준비 변수 초기화 등 기초작업 끝낸 후 실행 할 수 있는 상태 수행 CPU가 프로세스 수행 스케줄링에 의해 중단되면 준비 상태로 I/O 또는 이벤트가 필요하면 대기 상태로 수행이 완료되면 종료 상태로 대기 프로세스 도중에 I/O 또는 이벤트 작업이 필요할 경우 종료 최종적으로 프로세스가 종료된 상태 사용하던 메모리 영역 해제 대기 큐 (Waiting Queue) Job queue HDD에 있던 프로그램이 메모리에 올라올 때 메인 메모리가 가득 찼거나 CPU가 다른 작업을 수행 중이라면 메모리에 올라오기 전에 어느 정도 기다려야하는데 HDD의 프로그램들이 잠시 기다리는 곳 Ready Queue 메모리에 올라온 프로세스들이 실행을 위해 대기하는.. CPU와 메모리 CPU의 구성 ALU (산술 논리 연산장치) 비교, 판단, 연산 담당 CU (제어부) 명령어 해석, 실행을 위해 CPU 내부적 제어 Register 처리할 명령어 저장 Cache Memoy (L1) 처리속도를 높여주는 역할 스케줄링 CU의 핵심 기능 CPU를 효율적으로 사용하기 위해 실행중인 프로그램에 리소스 배분 스케줄링 종류 선점 스케줄링 OS가 나서서 CPU 사용권을 선점하고 특정 요건에 따라 각 프로세스의 요청이 있을 때 프로세스에게 분배하는 방식 Priority Scheduling (우선순위 스케줄링) 미리 주어진 프로세스의 우선 순위에 따라서 스케줄링하는 방식 Round Robin 정해진 시간 할당량 만큼 프로세스를 할당한 뒤 작업이 끝난 프로세스는 준비완료 큐의 가장 마지막에 가서 재할당을 .. 이전 1 다음