커널에서 전역변수라는 errno 이거 하나땜에 진짜 징하게 고민중임.



일단, 심볼이라는걸 .out 이랑 .so 이런애들만 가지고 정리해놨는데


갑자기 새로운 구성원인 커널 이 등장해버리니까...


일단,


errno 보고



뭐야 이거 프로세스별로 시스템콜의 결과물을 저장하는게 다 다르니까,


int errno 이거보면 커널영역의 데이터(심볼/변수)라고 모두가 공유하는건 아니겠다.


했는데,


errno 의 구현이 매크로로 *geterrno() 이런식으로 function call 인걸 알고나니까


다시금, 모든 커널데이터는 공유된다는 추측에 힘이 쏠리고 있음.



그리고,


printf 같은애들도 그렇고 errno 도 그렇고,

어떻게 매크로가 symbol로 정의된건지는 신기함.

아마 어셈블리 레벨에서 OS만드신분들이 직접 때려넣으신거 아닌가 싶음