프로세스 스케쥴링 관련(참고)

2021. 3. 9. 19:04Computer(인강)/시스템 프로그래밍

728x90
반응형

 

시스템콜 종류 살펴보기

 

 

첫번째, nice() 시스템콜

우선순위를 변경하는 시스템콜로 프로세스 중 사실상 root가 소유한 프로세스만, 우선순위를 높일 수 있음

1) 다른 프로세스는 우선순위를 낮출수만 있음

2) 스케쥴링 방식에 따라 우선순위가 적용될수도 있고, 안될수도 있음 

 

우선순위 변경하기 getpriority(), setpriority()

 

getpriority() : 현재 이 시스템콜을 실행하고 있는 프로세스와 관련된 우선순위값을 얻어내는 시스템콜

setpriority() : 현재 프로세스 또는 프로세스와 관련된 리소스에 대해서 priority를(우선순위 값을)매겨주는 시스템콜

 

 

 

int which의 which인자는 어떤 자원의 우선순위를 가져오겠냐, 라는것인데 아래에 따라 우선순위가 나뉜다.

 

PRIO_PROCESS : 현재 프로세스

PRIO_PGRP : 현재 프로세스를 가지고 있는 그룹

 PRIO_USER: 현재 프로세스를 실행하는 사용자

 

프로세스 아이디를 써주는 이 자리에 0을 넣어주게 되면,

현재 프로세스 또는 현재 프로세스 그룹 이렇게 됩니다.

이는 우선순위 값이라 볼 수 있다.

 

 

이 세가지를 실행하는 예제 코드

root로 실행해서 priority가 정상적으로 바뀌는 모습

728x90
반응형