운영 체제를 어떻게 비교할 수 있나요?

운영 체제를 어떻게 비교할 수 있나요?

배경

몇 년 전 사람들이 OSX와 Linux가 Windows보다 낫다고 말하는 것을 들었습니다. 또한 Solaris 운영 체제는 파일을 조각화하지 않으며 Linux 파일 시스템도 거의 같은 단계에 있다는 내용을 읽은 기억이 납니다. 그러나 이러한 주장 중 어느 것도 근거나 언급이 있는 것 같지 않았습니다.

질문

운영 체제를 서로 비교하는 데 사용할 수 있는 객관적인 기준은 무엇입니까?

답변1

OS를 비교하는 방법을 사용하여 두 그룹으로 나눌 수 있다고 생각합니다.

  1. 특징
  2. 구조적 차이

첫째, 구조적 차이점: 오늘날의 OS는 내부적으로는 매우 유사합니다. 기본적으로 모두 C 프로그래밍 언어와 UNIX 작업에 참여한 Brian Kernighan과 Dennis Ritchie의 영향을 받았습니다. 실제로 Linux, Solaris, OS X 등 오늘날의 많은 OS는 어떤 방식으로든 UNIX의 자손이기 때문에 "UNIX 계열"로 분류됩니다. UNIX의 철학은 기본적으로 모든 것을 단순하게, 더 정확하게는 "기본"으로 만들고 각 프로그램이 하나의 기능을 가져야 한다는 것이었습니다. 이러한 개념은 오늘날에도 여전히 사용됩니다.

특이한 점은 Windows의 경우에도 K&R의 작업에 영향을 받았다는 것입니다. Windows는 "UNIX와 같은" 시스템은 아니지만 K&R이 개발한 언어인 C로 작성되었으며 특정 유사점을 나타냅니다. 예를 들어, "죽음의 블루 스크린"은 Windows 버전의커널 패닉, UNIX와 함께 발명된 아이디어입니다.

오늘날의 모든 주류 OS는 "모놀리식" 커널이라고 불리는 커널 설계 체계를 기반으로 합니다. 이는 커널이 하나의 프로그램으로 실행된다는 의미입니다. 이에 대한 한 가지 의미는 이 하나의 프로그램에 있는 모든 코드가 컴퓨터의 모든 리소스를 완전히 제어하므로 버그로 인해 심각한 피해를 입을 수 있다는 것입니다. 이 있었다유명한 논쟁안정성과 보안을 향상시키기 위해 OS 커널을 별도의 프로그램으로 "분할"할 수 있는 가능성에 대해 설명합니다. 이 디자인을 "마이크로 커널"이라고 합니다. 앞서 언급했듯이 오늘날의 모든 OS는 모놀리식 커널 디자인을 기반으로 합니다. 아마도 더 나은 성능 때문일 수도 있고, 아니면 정말 오랫동안 그런 식으로 사용되어 왔기 때문일 수도 있습니다.

기능에 관해서는 위에서 언급한 것처럼 오늘날의 모든 주류 OS가 구조적으로 매우 유사하기 때문에 이것이 아마도 큰 비교일 것입니다. 사실 제 생각에는 기능이 약간만 다를 뿐입니다. 이것은 실제로 당신이 누구에게 질문하는지에 달려 있습니다. 예를 들어, Mac OS X에는 XGrid 및 OpenCL과 같은 매우 멋진 기능이 있습니다(이제 다른 플랫폼에서도 작동하지만). 또한 매우 사용자 친화적입니다. 그러나 아마도 상대적으로 오래된 파일 시스템을 언급하면서 "수하물을 운반하는 것"이라는 비판을 받기도 했습니다. 또한 Apple 하드웨어에서만 작동합니다.

Linux는 개방성과 다중 처리 능력의 우월성으로 인해 서버와 슈퍼컴퓨터에 적합합니다. 또한 가장 안전한 선택 중 하나이기도 합니다. 그러나 데스크톱 설정에 비해 사용자 친화적이지 않다는 비판도 받았으며, 대기업에서는 공식적으로 지원하지 않습니다. 그러나 Linux는 자주 변경되기 때문에 아마도 가장 최첨단 소프트웨어를 선택하는 방법일 것입니다. 실제로 Linux는새로운 파일 시스템그리고새 창 관리자가까운 미래에.

그 다음에는 Windows가 있습니다. OS X와 ​​마찬가지로 Windows는 주요 회사에서 지원하며 이 플랫폼을 위한 많은 소프트웨어를 찾을 수 있습니다. 위의 기능과 OS 구조에 대한 이야기에서 크게 다르지 않다는 것을 알 수 있으므로 사용 가능한 소프트웨어의 풍부함이 아마도 이 OS의 시장 점유율을 유지하는 요인일 것입니다. 분명한 이점 외에도 OS X와는 달리 다양한 하드웨어에서 작동한다는 사실도 있습니다.

따라서 오늘날의 OS는 서로 크게 다르지 않다는 것을 알 수 있습니다. 그리고 오늘날 만들어진 많은 기능은 오픈 소스 소프트웨어의 형태를 취하고 있으며, 이는 이러한 OS 중 어느 곳에서나 사용할 수 있습니다. 그러나 합법적으로 실행될 수 있는 하드웨어, 코드의 개방성 등과 같은 몇 가지 분명한 차이점이 있습니다. 원하는 경우 더 많은 질문을 하시기 바랍니다.

답변2

모든 OS 비교는 "사용 적합성"이라는 맥락에서 이루어져야 합니다. OS가 원하는 것을 정의해야 합니다.하다특정 사용 사례에 가장 적합한 것이 무엇인지 결정하기 전에.

그러나 확실히 객관적인 비교 포인트가 있습니다. 완전하지 않은 목록에는 다음이 포함됩니다.

  • 하드웨어 지원
  • 애플리케이션 생태계
  • 개발 생태계
  • 파일 시스템 지원
  • 자원 관리
    • 메모리 관리
    • 프로세스 스케줄링
    • I/O 제어
    • TCP 스택 구현
    • 자원 수준 회계
  • 보안
    • OS 수준 보안 메커니즘
    • 파일 시스템 수준 보안 메커니즘
    • 감사 기능
    • 프로세스 회계
    • 사용자/역할 관리
  • 기본 시스템 서비스
  • 애플리케이션별 성능 벤치마크

이러한 각 주제에 대해 많은 드릴다운이 있으므로 질문에 대한 정식 답변을 찾을 가능성이 낮습니다.

관련 정보