프로세스 스케쥴링 관련(참고)
2021. 3. 9. 19:04ㆍComputer(인강)/시스템 프로그래밍
728x90
반응형
시스템콜 종류 살펴보기
첫번째, nice() 시스템콜
우선순위를 변경하는 시스템콜로 프로세스 중 사실상 root가 소유한 프로세스만, 우선순위를 높일 수 있음
1) 다른 프로세스는 우선순위를 낮출수만 있음
2) 스케쥴링 방식에 따라 우선순위가 적용될수도 있고, 안될수도 있음
우선순위 변경하기 getpriority(), setpriority()
getpriority() : 현재 이 시스템콜을 실행하고 있는 프로세스와 관련된 우선순위값을 얻어내는 시스템콜
setpriority() : 현재 프로세스 또는 프로세스와 관련된 리소스에 대해서 priority를(우선순위 값을)매겨주는 시스템콜
int which의 which인자는 어떤 자원의 우선순위를 가져오겠냐, 라는것인데 아래에 따라 우선순위가 나뉜다.
PRIO_PROCESS : 현재 프로세스
PRIO_PGRP : 현재 프로세스를 가지고 있는 그룹
PRIO_USER: 현재 프로세스를 실행하는 사용자
프로세스 아이디를 써주는 이 자리에 0을 넣어주게 되면,
현재 프로세스 또는 현재 프로세스 그룹 이렇게 됩니다.
이는 우선순위 값이라 볼 수 있다.
이 세가지를 실행하는 예제 코드
root로 실행해서 priority가 정상적으로 바뀌는 모습
728x90
반응형
'Computer(인강) > 시스템 프로그래밍' 카테고리의 다른 글
IPC기법 - 02 실습2 (0) | 2021.03.10 |
---|---|
IPC기법 실습 - 1 (0) | 2021.03.09 |
프로세스 생성과 종료 총정리 및 wait 시스템콜 상세 (0) | 2021.03.09 |
프로세스 종료 (0) | 2021.03.09 |
프로세스 생성(copy on write) (0) | 2021.03.09 |