Linus Torvalds가 Linux를 다르게 설계할 수 있었다면 무엇을 다르게 했어야 했습니까?
나는 Linux를 사용하고 좋아합니다. Linux가 매우 성숙하고 잘 실행되고 있어서 기쁘네요. Linus Torvalds가 가능한 모든 일을 올바르게 수행하고 있다고 생각하는 것은 여전히 약간의 무리입니다.
우리가 "Linux를 재설계할 수 있다면 무엇을 다르게 하시겠습니까?"라고 질문하거나 대답하려고 하면 Torvalds가 뭐라고 말했거나 말했을 것이라고 생각하십니까?
지금이 아닌 당시의 기준과 기술 노하우, 경제성을 말하는 것입니다. 예를 들어 설계에 문제가 있었던 걸까요, 아니면 리눅스를 실패하게 만든 쉬운 성과가 있었던 걸까요? 처음에는 Linux용 하드웨어 드라이버가 많지 않지만 팀 규모가 작고 프로젝트가 아직 초기 단계이기 때문에 이해할 수 있습니다.
처음부터 일어나지 말았어야 할 큰 실수나 당황스러운 버그가 있었던 걸까요? Andrew Tanenbaum과 Torvalds 사이에 디자인 선택에 대한 초기 논쟁이 있었는데, 나는 그것이 여전히 중요하다고 생각합니다. 둘 다 좋은 주장을 가지고 있으며 "나쁠수록 좋다" 고려하다.
실제 이력을 고려할 때 발생해서는 안되는 "당황스러운 실수"나 오류를 설명할 수 있습니까?
답변1
질문에 대답하기보다는 의견을 구하는 것 같아서 아마도 이것은 메타나 다른 곳에 속할 수도 있지만 나에게 Linux가 저지르는 가장 큰 실수는 malloc에 대한 메모리 과잉 할당으로 인해 OOM 킬러와 그 밖의 모든 것이 발생한다는 것입니다. 방법.
두 번째로 큰 "역사적 실수"인 IMHO는 vi를 vim의 바로가기(실제 vi 대신 또는 nvi처럼 작동함)로 만드는 것과 같이 오랜 Unix 도구를 유사하게 작동하지만 정확히 동일하지는 않은 버전으로 대체하려는 상당히 일반적인 결정입니다. ), sh는 bash와 같은 것을 가리킵니다. 이러한 결정은 여전히 Linux와 BSD를 포함한 다른 UNIX 사이의 쉘 스크립트 호환성 문제로 이어집니다.
편집: 셋째, 어떻게 잊을 수 있겠습니까? 전체 /var/ 네임스페이스가 sysctl보다 선호되지만 이것이 수행되는 이유를 이해하고 의미 있는 파일 시스템 의미가 마음에 듭니다.