hyojeonglee / osfall2019

Undergraduate Operating Systems course (2019 fall)
17 stars 8 forks source link

errno 질문입니다 #26

Open chphch opened 5 years ago

chphch commented 5 years ago

kernel에서 errno에 할당할 수 있는 방법이 있나요?

hyojeonglee commented 5 years ago

일반적으로 커널에서는 유저레벨에서처럼 errno.h를 직접 사용하여 error handling을 하지 않습니다. 커널 내부에서 에러가 발생하면 정상적으로 함수가 종료되었을 때처럼 리턴하는 대신, 지정된 에러를 리턴하고 그 값을 통해 user space에서 처리하게 됩니다. 관련해서 더 알아보실만한 링크1, 링크2 입니다. 커널레벨에서 에러 등으로 비정상 종료시키고 싶다면, BUG_ON()이나 assert()를 사용할 수는 있지만 추천드리진 않습니다. 관련해서 참고하실만한 링크1, 링크2 입니다. 질문하신 맥락이 위 내용이 맞으신지요?

chphch commented 5 years ago

네 맞아요! 감사합니다.