너무 길어져 좀 나눴다
사용자 프로세스가 종료될 때마다
아래 형식으로 프로세스의 이름과 종료 코드 출력
printf ("%s: exit(%d)\n", ...);
출력해야 하는 이름은 fork()
에 전달된 전체이름
커널 스레드나 halt
시스템 콜이 호출될 때에는 출력 X
프로그램 로딩 실패시의 메시지는 선택사항
그 외에도 추가 메세지 출력 X
감점 사항이 될 수 있음
프로세스가 실행 중인 코드를 디스크에서 변경하려 하면 결과가 예측 불가능해지기 때문에, 많은 OS가 이를 금지한다
프로젝트 3에서 가상 메모리를 구현하면 특히 중요하다
열린 파일에 대한 쓰기를 막으려면 file_deny_write()
를 사용
이후 file_allow_write()
를 호출하면 쓰기가 다시 허용
(단, 다른 오프너가 해당 파일의 쓰기를 금지하고 있지 않은 경우에 한함)
파일을 닫아도 쓰기는 다시 허용
따라서 프로세스의 실행 파일에 대한 쓰기를 금지하려면,
그 프로세스가 실행 중인 내내 그 실행 파일을 열린 상태로 유지해야 한다
나누고 보니 얼마 안되지만 이미 글을 썼기에 늦었다
꒰ ᐢ ◞‸◟ᐢ꒱