본문 바로가기

운영체제6

CPU Scheduling CPU 스케쥴링이란? 운영체제가 프로세스에 합리적으로 CPU 자원을 할당하는 작업. 선점형 스케줄링 : 어떤 프로세스가 CPU를 할당받아 실행중이더라도 운영체제가 CPU를 빼앗을 수 있는 스케줄링 방식-->장점 : 프로세스들에 골고루 자원을 배분할수 있다. 단점: 문맥 교환과정에서 오버헤드 발생 예 ) round robin, SRT, 선점 우선 순위 등의 알고리즘이 있다. 비선점형 스케줄링 : 어떤 프로세스가 CPU를 점유하면 다른 프로세스가 이를 빼앗을 수 없는 스케줄링 방식 -->장점: 문맥 교환과정이 적어 오버헤드 발생 적다 단점: 모든 프로세스가 골고루 자원을 사용할 수 없다. 예 ) FCFS(first come first service), SJF(shortest job first), 우선 순위,.. 2024. 1. 17.
페이징(Paging)과 세그맨테이션(Segmentation)이란 논리적 주소(logical address) process가 memory에 적재되기 위한 독자적인 주소 공간을 말한다. 이 떄 논리적 주소는 각 process마다 독립적으로 할당되며, 0번부터 시작된다. 물리적 주소(physical address) process가 실제로 메모리에 적재되는 위치를 말한다. 주소 바인딩(address binding) cpu가 기계어 명령을 수행하기 위해 process의 논리적 주소가 실제 물리적 메모리의 어느 위치에 매핑되어있는지 확인 하는 과정을 말한다. 페이징(Paging) process의 메모리 공간을 일정한 크기의 page단위로 나누어 물리적 메모리의 서로 다른 위치에 page를 저장하는 메모리 관리 기법 이 떄 물리적 메모리를 page와 같은 크기의 frame으로 미.. 2023. 12. 27.
시스템 콜이란 무엇인가? 시스템 콜이란? 대다수의 운영체제들은 커널 모드(Kernel Mode)와 사용자 모드(User Mode)가 구분되어 있다.사용자 모드는 일반 프로그램들이 작동되는 영역으로 컴퓨터 리소스에 제한적으로 접근이 가능하고 프로그램들은 프로세스로 작동한다.일반적인 프로그램들은 사용자 모드에서 실행되므로 커널 모드에 대한 직접적인 접근이 불가능하다. 하지만 커널에 접근할 수 없으면 사용자 모드의 프로세스들이 파일을 쓰거나 불러올 수 없고 그래픽 처리와 같은 거의 모든 작업을 할 수 없다. 따라서 커널에 요청하여 커널 모드에서 처리하고 그 결과를 사용자 모드의 프로그램에게 전달하는 것이 바로 시스템 콜이다. 2023. 12. 19.
PCB(Process Control Block)란 무엇인가? 운영체제가 프로세스를 제어하기 위해 정보를 저장해 놓는 곳. 프로세스의 상태 정보를 저장하는 구조체이다. 프로세스의 상태관리와 문맥 교환(Context Switching)에 필요하다. 프로세스가 생성될 때마다 고유의 PCB가 생성되며, 프로세스가 완료되면 PCB는 제거된다. 2023. 12. 19.
컨텍스트 스위칭(Context Switching)이란 무엇인가? 컨텍스트 스위칭이란? 여러개의 프로세스가 실행되고 있을때 이전에 실행되던 프로세스를 중단하고 다른 프로세스를 실행하는것. CPU에 실행할 프로세스를 교체하는 기술 cf) 인터럽트 : CPU의 정상적인 프로그램 실행을 방해하는 것. 내부 인터럽트 , 외부 인터럽트로 나뉜다. 2023. 12. 19.
프로세스와 쓰레드의 차이점 프로세스 1. 운영체제로부터 자원을 할당받은 작업의 단위. 2. 하드디스크에 있는 프로그램을 실행하면, 실행을 위해 메모리 할당이 이루어지고, 할당된 메모리 공간으로 바이너리 코드가 올라가게 된다. 이 순간부터를 프로세스라 부른다. 3. 독립적이기 때문에 메모리영역을 다른 프로세스와 공유하지 않는다. 4. 최소 1개의 쓰레드를 가지고 있다. 쓰레드 1. 프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위 2.stack만 따로 할당 받는다. 나머지 메모리 영역은 공유해서 사용한다. 3. 다른 쓰레드의 실행 결과를 즉시 확인할 수 있다. 4. 프로세스 내에 존재하여 프로세스가 할당받은 자원을 이용하여 실행된다. 2023. 12. 19.
728x90