앱 요청
파일 열기, 소켓 송신, 프로세스 생성처럼 추상화된 요청이 들어온다.
기능 목록을 외우기보다 요청이 들어왔을 때 어떤 자원을 배분하고, 어떤 권한 경계를 확인하며, 어떤 지표로 결과를 보는지 추적한다.
파일 열기, 소켓 송신, 프로세스 생성처럼 추상화된 요청이 들어온다.
권한, 자원 상태, 충돌 가능성을 확인하고 정책을 적용한다.
CPU 시간, 메모리, 디스크 큐, 네트워크 버퍼를 나눈다.
응답 시간, CPU 사용률, 메모리 압박, I/O wait로 결과를 본다.
여러 프로그램이 같은 CPU와 메모리를 쓰도록 순서와 한계를 정한다.
섹터 번호와 장치 레지스터 대신 파일, 소켓, 프로세스로 보이게 한다.
사용자 코드가 다른 프로세스나 커널 영역을 직접 망가뜨리지 못하게 한다.
응답성과 사용 편의
입력 지연, 화면 멈춤, 백그라운드 작업 경합
처리량과 장애 복구
CPU idle, I/O wait, 메모리 압박, 연결 큐
정해진 시간 안의 완료
데드라인 초과, 전력, 제한된 메모리
RSS, 가상 메모리, 캐시 증가, 제한 값을 함께 확인한다.
스레드 타이밍과 공유 자원 동기화를 의심한다.
디스크와 네트워크 대기, 큐 길이, 버퍼링을 본다.
namespace, cgroup, 파일 시스템 경계를 확인한다.
실행 단위를 만들고 멈추고 전환하는 정책이다.
한정된 물리 공간을 독립 주소 공간처럼 보이게 한다.
느린 장치와 빠른 CPU 사이의 대기와 순서를 관리한다.