념글 올라간 글 작성자임
내가 C++로는 불가능하다고 선을 그은 것처럼 보는데
그렇지 않음
자바로도 가능하고(JikesNode)
하스켈로도 가능하고(House)
물론 C++로도 가능함
왜 당시 많은 운영체제가 C로 만들어졌나 설명하는 거였고
단지 성능때문이 아니라는걸 설명하기 위해 C++의 예시를 든 것 뿐임
거기에는 또한 시대적 맥락이 포함돼있지 ㅇㅇ
만약 C가 아닌 언어로 OS를 만들고 싶다면 절대로 불가능 한 일이 아니니,
House 구현 노트와 JikesNODE 구현 노트를 찾아보길 바람
학부생 때 봤던 기억으론
내가 념글에서 얘기한 걸 비롯해 다양한 제한적 상황을 어떻게 해결했는지
아이디어를 많이 얻을 수 있음
불가능이 아니라 비효율적이다 그거아님?
abi문제 아니었나?
ㄴㄴ 저수준 언어들은 대부분 c호환 abi를 가지고 있어서 상관없음. 구현은 마음대로 하고 외부에 드러나는 abi만 c로 내보내면 됨
PopOS는 러스트 기반 데스크탑 환경인 코스믹으로 옮긴다더라
운영체제 구현이라 하면 여기서는 커널 얘기하는거니까 데스크탑 환경이랑은 거리가 좀 있을듯 - dc App
근데 대부분의 벤더사가 C 컴파일러 제공하는 것도 크지 않나?
운영체제에 C만큼 적합한 언어가 딱히 없다고 생각함. 어차피 스탠다드 라이브러리가 없기 때문에 언어 자체 스탠다드 라이브러리 기능은 직접 구현해야 하거나 해당 언어의 장점 대부분을 포기하고 로우레벨로 들어가려면 온갖 똥꼬쇼를 해야 하는데 C는 로우레벨 다루기에 간편하고 직관적이잖아