한 프로세스가 다른 프로세스의 resource를 제한하는게 가능할까요??

idrukawa의 이미지

A라는 프로세스가 B라는 프로세스의 cpu, memory 사용율을 각각 30%로 제한하려고 하는 것이 가능한지 궁금합니다.

가능하다면 개념적인 이론을 알려주세요.

--------------------------------------------

간략히 B라는 프로세스를 무한루프를 사용해서 print하게 작성하면 cpu사용율이 높아지는데요 이것을 자신이 원하는 수치(% 도 좋고 Hz 도 좋습니다)로 제한하는 것이 가능한지요?

codebank의 이미지

CPU점유율을 제한하는건 가능하다고 알고 있습니다만 같은 레벨의 프로세서라면 중간에 무언가가 있어야
한다고 생각합니다.
386 프로세스에 대해서 보다가 나왔던 부분인데 일반 3레벨의 프로세스들은 독립적으로 동작하기 때문에
자신이 다른 레벨의 프로세스를 제한하는 것은 가능하지 않습니다.
다만 시스템 레벨을 가지고 있는 프로세스라면 이러한 형태가 가능할 겁니다.
물론 이경우에는 CPU 사용을 제한하고 이것은 스케쥴러에 영향을 줄 수 있도록 처리가 가능해야겠죠.

메모리의 경우는 조금 특이하지만 사실 처음 프로세스를 메모리에 옮길당시에 최초 사용할 메모리 사이즈를
재배치해서 올리기 때문에 이후에 조치가 가능할지는 모르겠네요. 다만 메모리 재배치이후에 프로세스의
메모리 할당량 조절이 가능하도록 OS를 수정한다면 가능하지 않을까 생각합니다.

제가 생각하는 결론은 OS차원에서 지원을 해준다면 가능하지 않을까 생각합니다.
------------------------------
좋은 하루 되세요.

------------------------------
좋은 하루 되세요.

hurtak의 이미지

Android Platform에서 보시면, 이와 비슷하게 사용하고 있습니다.
JAVA Virtual Machine이 돌면서 Priority를 제한하거나, 자신이 특정 동작을 할 때, 스케줄링 레벨을 높여주는 식으로 동작하고 있습니다.
이야기하시는 것을 봤을 때는, Group Scheduling + 가변화된 Scheduling을 원하시는 것 같으시네요~ ^^

-_- _-_ -_-