Tanenbaum-Torvalds 토론에서 Tanenbaum이 왜 잘못 되었습니까?


233

나는 최근에 OS 수업에서 Tanenbaum-Torvalds 토론 에서 읽은 책을 받았습니다 . 토론에서 Tanenbaum은 다음과 같이 예측합니다.

  1. 마이크로 커널은 미래입니다
  2. x86은 죽고 RISC 아키텍처는 시장을 지배 할 것입니다
  3. (5 년 후) 모든 사람이 무료 GNU OS를 실행합니다

나는 토론이 일어 났을 때 1 살이 되었기 때문에 역사적 직관이 부족하다. 왜 이러한 예측이 전개되지 않았습니까? Tanenbaum의 관점에서 볼 때, 그들은 미래에 대한 합리적인 예측이라고 생각합니다. 그들이 지나치지 않도록 어떻게 되었습니까?


189
미래를 예측할 때 혁신과 이상에 대해 엔트로피와 운을 선호하십시오.
zzzzBov

18
나는 여기 1 지점에 대한 약간의 마라톤 답변을 썼다 . 사실, 커널 아키텍처의 차이점을 논의 할 때 그 논쟁을 피하는 것은 매우 어렵다. 가장 달콤한 아이러니는 실제로 시그니처이며, Linus "my first, and hopefully last flamefest" Torvalds분명히 실현되지 못했습니다 :)
Tim Post

13
나는 이것을 대답 대신 주석으로 남겨두고 있습니다 (답변이 될 정도로 "정교한"것은 아닙니다 .) : Tanenbaum은 마이크로 커널이 더 낫다고 믿는 데 잘못 이 아니 었습니다. x86은 경기장을 떠나야하고 GNU OS는 (커널이 무엇이든간에) 더 나은 솔루션이었습니다. 그는 아마도 사회적인 관성과 독점으로 인해, 그리고 일부는 범용 시스템에서 효율적인 마이크로 커널을 구현하기가 쉽지 않기 때문에 그것이 일어날 것이라고 강력하게 믿는다면 순진한 것일 수도있다. . (그래서 그래, )
njsg

15
Tanenbaum은 완전히 잘못된 것이 아닙니다. 새로운 PC 시대에 iOS는 Mach와 ARM을 기반으로하고 Android는 L4와 ARM을 기반으로합니다. 오직 GNU만이졌습니다.
mouviciel

15
@mouviciel : GNU는 데스크탑에서만졌습니다. 서버와 모바일 및 임베디드는 사실상 모든 GNU 독점입니다.
gbjbaanb

답변:


171

마이크로 커널은 미래입니다

나는 Linus가 그의 논쟁에서 모 놀리 식 커널에 대해 지적했다. 마이크로 커널 연구에서 배운 몇 가지 교훈은 모 놀리 식 커널에 적용되었습니다. Microsoft는 때때로 Win32 커널이 마이크로 커널 아키텍처 라고 주장했습니다 . 일부 교과서 마이크로 커널을 살펴보면 약간의 확장이 가능하지만 주장에는 기술적 정당성이 있습니다.

x86은 죽고 RISC 아키텍처는 시장을 지배 할 것입니다

데스크톱 및 서버에서 백업하는 경우 RISC는 어느 정도의 프로세서 시장을 지배합니다. ARM (R은 RISC를 나타냄)은 x86보다 많은 프로세서를 판매하고, 사용중인 x86 프로세서보다 많은 ARM 프로세서가 있으며, x86 컴퓨팅 용량보다 총 ARM 컴퓨팅 용량이 더 많습니다. 올해는 단일 ARM 공급 업체 (예, Apple)가 모든 x86 공급 업체를 합병 할 수 있습니다. 데스크탑과 서버 공간에서만 x86이 우세합니다. Windows가 데스크톱 컴퓨터 및 서버용 Linux의 주요 플랫폼 인 한, 이것은 한동안 계속 될 것입니다.

이것 에도 b 부분 이 있습니다. 인텔 엔지니어들은 명령 세트에서 생명을 짜기 위해 놀라운 작업을 수행했으며, 최상위에있는 opcode 변환기를 사용하여 RISC 코어를 만드는 시점까지. 합리적인 기간 내에 Apple 랩톱 용 으로 전력 효율적이고 고성능 G5 를 얻을 수 없었던 주요 RISC 데스크탑 칩 제조업체 인 IBM과 비교하십시오 .

(5 년 후) 모든 사람이 무료 GNU OS를 실행합니다

다양한 OS 공급 업체가 여전히 OS에 대한 강력한 가치 제안을 제공한다고 생각합니다. GNU가 오픈 소스 커뮤니티에서 반드시 가장 중요한 역할을하는 것은 아니기 때문에 오픈 소스 소프트웨어의 광범위한 채택이 반드시 GNU OS로 변환되는 것은 아닙니다. 그러나 GNU에는 많은 것들이 있습니다 ( 예를 들어 모든 Mac은 GNU의 Bash 와 함께 제공 됩니다. 아마도 안드로이드 폰에는 일부 GNU 시스템 도구가 있습니다). 탁상용 컴퓨터로보기를 제한하더라도 컴퓨터 생태계는 Tanenbaum 예견보다 훨씬 다양합니다.


8
포인트 3에서 리눅스는 매우 널리 퍼져 있으며 아마도 가장 많이 사용되는 OS, 윈도우 및 VxWorks입니다. 따라서 포인트 3은 사실로 간주 될 수 있습니다. 3 점 만점에 2 점을 맞 춥니 다. 예측할 수없는 IT의 정도를 고려하면 꽤 좋습니다.
deadalnix

11
@deadalnix-3의 범위를 명시 적으로 언급하고 데스크탑 컴퓨터로 제한하려고했습니다. Google 서버 팜이 Linux를 실행하고 (각각?) 각 상자가 Linux 수에 포함되고 케이블 모뎀이 제거 된 버전의 Linux 수를 실행하고 내 Android 전화 수가 계산되면 Linux가 우세합니다. 그러나 시간이 지남에 따라 팔리고 팔린 x86 프로세서의 멋진 차트를 보았지만 특히 임베디드 장치를 혼합 할 때 OS에 대한 차트는 보지 못했습니다.
ccoakley

6
또한 2 부와 관련하여 다양한 x86 현대화는 실제로 RISC를 넘어 몇 단계를 거치고 내부에서 "마이크로 연산"을 사용하여 매혹적인 작업을 수행하여 즉각적인 명령 순서 변경으로 더 나은 스케줄링 유연성을 제공하여 훨씬 향상된 성능을 제공합니다. RISC 지지자들이 꿈꾸는 것 이상으로 RISC CPU도이를 얻을 수 있지만이 시점에서는 RISC와 CISC를 비교하지 않고 다양한 하드웨어 내 JIT 전략과 상당히 추상적 인 ISA 프런트 엔드를 비교하고 있습니다.
푹신한

5
@KonradRudolph는 Google을 통해 총 판매에 대한 인용을 재생성했습니다 : 2009 년에 30 억 개의 ARM 칩 ( vanshardware.com/2010/08/mirror-the-coming-war-arm-versus-x86 )에 출시 된 반면 2011 년에는 4 억 개의 x86 칩이 팔렸습니다. (분기에 4 번씩보고 됨 : computerworlduk.com/news/it-business/3345299/… ). 임베디드 시장은 거대하고 대부분 비 인텔입니다.
ccoakley

5
나는 Tanenbaum이 의미 한 점에서 포인트 3이 사실이라고 생각하지 않습니다. 당시에는 GNU HURD 에 대해 많은 낙관론 이있었습니다 . 리눅스를 (모든 변형에서) GNU OS 승리 로 주장하는 것은 역사적으로 유효하지 않습니다. 사용자 공간? 확실한. 그러나 어떤 의미에서 리눅스 GNU에도 불구하고 이겼습니다.
regularfry

60

하드웨어의 경제성을 무시한 소프트웨어 전문가

... 또는 "무어가 옳았 고 둘 다 틀렸다"

이 토론에서 간과 한 가장 큰 것은 무어의 법칙에 표현 된 트랜지스터 크기를 줄임으로써 CPU 제조 기술과 경제의 영향이었습니다 (CPU 하드웨어에 대해 많은 것을 알고 있었음에도 불구하고 이들은 소프트웨어를 연구하고 토론하지 않았습니다. CPU 제조 또는 경제). CPU에 비해 ​​상각되는 고정 제조 비용 (예 : ISA 디자인, CPU 디자인 및 CPU 생산 시설)이 빠르게 증가하여 규모의 경제 가치가 증가했습니다. 단위당 CPU 비용 ( "벅을위한 뱅"및 "와트를위한 뱅"의 관점에서)이 급락함에 따라, CPU의 비용은 가치를 제공하기 위해 이러한 광범위한 기능 선택에 의해 상각 될 필요가 없으므로 제품 컴퓨팅 고정 기능을 가진 폭발; CPU 트랜지스터 예산은 기하 급수적으로 증가했습니다.

1. CPU 규모가 CPU 다양성을 능가합니다

규모의 경제의 중요성으로 인해 더 큰 (따라서 더 넓은) 시장을 목표로하는 ISA / CPU의 이점은 ISA / CPU의 시장을 좁히는 디자인 선택의 잠재적 이점을 능가합니다. OS는 지원되는 ISA / CPU 당 시장의 더 큰 부분을 처리 할 수 ​​있으므로 OS 생태계가 번창 할 수 있도록 포팅 연습이 거의 필요하지 않습니다. 문제 영역 ISA와 CPU의 목표는 너무 넓어 대부분 오버랩되는 경향이 있으므로 컴파일러 이외의 소프트웨어의 경우 포팅 연습의 크기도 줄어 들었습니다. 틀림없이, 토발즈 & 타넨 바움 모두커널 설계 및 구현에서 ISA 또는 CPU에 특정한 부분을 과대 평가했습니다. Tanenbaum이 설명했듯이 최신 OS 커널은 CPU와 ISA의 차이점을 추상화합니다. 그러나 최신 OS의 CPU / ISA 특정 코드는 마이크로 커널보다 훨씬 작습니다. 이러한 비 휴대용 비트는 인터럽트 처리 / 스케줄링, 메모리 관리, 통신 및 I / O를 구현하는 대신, 이러한 핵심 OS 기능의 아키텍처의 대다수가 이식 가능하기 때문에 서비스 구현의 일부만 처리합니다.

2. 오픈 소스는 전투에서 승리했지만 전쟁에서졌다

더 많은 비용을 지불한다는 것은 제품을 수정하는 능력이 고객을위한 가치 제안의 일부가 아닌 고정 기능 제품에 의해 더 큰 컴퓨팅 점유율이 수행됨을 의미합니다. 아이러니하게도 오픈 소스는 이러한 고정 기능 장치에서 번성했지만, 종종 최종 사용자가 아닌 제품을 만드는 사람들에 의해 자유의 혜택이 더 많이 실현되고 있습니다. 오픈 소스 소프트웨어를 많이 소비했지만 고객은 그렇지 않았습니다. 마찬가지로 오픈 소스가 다른 곳보다 범용 데스크탑 공간에서 더 많은 어려움을 겪었다 고 주장 할 수 있지만 웹 및 클라우드 컴퓨팅이 성장함에 따라 데스크탑 컴퓨팅은 더 좁은 목적으로 주로 사용되었습니다 (주로 브라우저 실행). 나머지 기능은 클라우드에서 (주로 오픈 소스 플랫폼에서) 실행됩니다. 한마디로 : 오픈 소스는 실제로 범용 컴퓨팅 공간을 소유하지만 시장은 더욱 정교 해지고 있습니다. 컴퓨팅 제품 패키징은 범용 기능에서 자주 멈추지 않지만 오픈 소스 컴퓨팅의 이점 중 많은 부분이 제품 목표와 충돌하는 고정 기능을위한 제품으로 이어집니다.

3. 2 n 성장은 고정 k 절감이 중요하지 않음을 의미

트랜지스터 예산이 기하 급수적으로 증가함에 따라 CISC 아키텍처의 트랜지스터 예산 비용이 거의 완전히 고정되어 있음을 깨달았습니다. RISC의 전략적 이점은 CPU의 명령어 세트에서 컴파일러로 복잡성을 이동 시켰다는 것입니다 (컴파일러 작성자가 어셈블리에서 코딩하는 인간 개발자보다 복잡한 ISA의 이점이 훨씬 적다는 사실에 부분적으로 동기가 부여되었지만 컴파일러는 훨씬 더 쉽게 추론 할 수있었습니다) 더 간단한 ISA에 대해 수학적으로, 따라서 이용한다); 결과적으로 트랜지스터 절감 효과는 CPU 성능 향상에 적용될 수 있습니다. 더 간단한 ISA로 인한 트랜지스터 예산 절감은 대부분 고정되어 있으며 (컴파일러 설계의 오버 헤드도 대부분 고정되어 있음)주의해야합니다. 이 고정 된 영향은 그 당시 예산의 큰 덩어리였습니다. 상상할 수 있듯이 영향이 사소 해지기 위해서는 몇 번의 지수 성장이 필요합니다. 앞서 언급 한 CPU 단일 문화의 중요성과 결합 된 이러한 급속히 감소하는 영향은 새로운 ISA가 스스로 설립 할 수있는 아주 작은 기회 창을 의미했습니다. 새로운 ISA가 성공한 경우에도 현대 "RISC"ISA는 RISC 전략에 의해 설명 된 직교 ISA가 아닙니다. 트랜지스터 예산의 지속적인 성장과 특히 SIMD 처리의 광범위한 적용 성은 특정 기능에 맞게 조정 된 새로운 명령의 채택을 장려했습니다. 앞서 언급 한 CPU 단일 문화의 중요성과 결합 된 이러한 급속히 감소하는 영향은 새로운 ISA가 스스로 설립 할 수있는 아주 작은 기회 창을 의미했습니다. 새로운 ISA가 성공한 경우에도 현대 "RISC"ISA는 RISC 전략에 의해 설명 된 직교 ISA가 아닙니다. 트랜지스터 예산의 지속적인 성장과 특히 SIMD 처리의 광범위한 적용 성은 특정 기능에 맞게 조정 된 새로운 명령의 채택을 장려했습니다. 앞서 언급 한 CPU 단일 문화의 중요성과 결합 된 이러한 급속히 감소하는 영향은 새로운 ISA가 스스로 설립 할 수있는 아주 작은 기회 창을 의미했습니다. 새로운 ISA가 성공한 경우에도 현대 "RISC"ISA는 RISC 전략에 의해 설명 된 직교 ISA가 아닙니다. 트랜지스터 예산의 지속적인 성장과 특히 SIMD 처리의 광범위한 적용 성은 특정 기능에 맞게 조정 된 새로운 명령의 채택을 장려했습니다.

4. 단순 : 우려의 분리. 복잡한 : 주소 공간 분리.

현대 리눅스 커널 (대부분의 다른 커널과 함께)은 마이크로 커널의 좁은 정의가 아니라 매크로 커널의 다소 느슨한 정의에 적합합니다. 그러나 드라이버 공간, 동적으로로드 된 모듈 및 멀티 프로세싱 최적화를 통해 커널 공간 통신이 마이크로 커널의 메시지 전달과 비슷 해짐에 따라 구조는 마이크로 커널 디자인 (Mixx로 구현 됨)보다 매크로 커널 디자인 (Linux 디자인으로 구현 됨)과 더 유사합니다. 토론 당시). 마이크로 커널 설계와 마찬가지로 Linux 커널은 다른 모든 OS 구성 요소에 대해 일반화 된 통신, 스케줄링, 인터럽트 처리 및 메모리 관리 기능을 제공합니다. 구성 요소는 고유 한 코드 및 데이터 구조를 갖는 경향이 있습니다. 모듈이 동적으로로드되는 동안 고정 인터페이스를 통해 통신하는 느슨하게 결합 된 휴대용 코드는 마이크로 커널의 하나의 남은 속성을 사용하지 않습니다. 이들은 사용자 공간 프로세스가 아닙니다. 결국 무어의 법칙은 이식성 (Tanenbaum의 관심사) 및 성능 (Torvalds의 관심사)과 같은 하드웨어 문제로 인해 야기되는 문제가 줄어드는 것을 보장했지만 소프트웨어 개발 문제는 가장 중요하게되었습니다. 주소 공간의 분리가 제공 할 수있는 나머지 실현되지 않은 이점은 설계 한계와 구성 요소 인터페이스의 복잡성 증가로 인해 OS 소프트웨어에 부과되는 추가 수하물로 인해 중요합니다. ■ 법률은 이식성 (Tenenbaum의 문제) 및 성능 (Torvalds의 문제)과 같은 하드웨어 문제로 인해 야기되는 문제가 줄어드는 것을 보장했지만 소프트웨어 개발 문제는 가장 중요하게되었습니다. 주소 공간의 분리가 제공 할 수있는 나머지 실현되지 않은 이점은 설계 한계와 구성 요소 인터페이스의 복잡성 증가로 인해 OS 소프트웨어에 부과되는 추가 수하물로 인해 중요합니다. ■ 법률은 이식성 (Tenenbaum의 문제) 및 성능 (Torvalds의 문제)과 같은 하드웨어 문제로 인해 야기되는 문제가 줄어드는 것을 보장했지만 소프트웨어 개발 문제는 가장 중요하게되었습니다. 주소 공간의 분리가 제공 할 수있는 나머지 실현되지 않은 이점은 설계 한계와 구성 요소 인터페이스의 복잡성 증가로 인해 OS 소프트웨어에 부과되는 추가 수하물로 인해 중요합니다.

흥미롭게도, 어떤 강한 추세 된 것은, 하드웨어를 추상화 마이크로 커널과 같은 많은 하이퍼 바이저의 출현이다. 일부는 하이퍼 바이저가 마이크로 커널이라고 주장합니다. 하이퍼 바이저 아키텍처는 서로 다릅니다. 마이크로 커널이 소유해야하는 책임은 그 위에 하이퍼 바이저가 다중화 된 "게스트"커널에 의해 처리되므로 하이퍼 바이저 추상화는 일반적인 메시징 및 메모리 주소 공간이 아니라 주로 실제 하드웨어 에뮬레이션입니다.

결론 : 미래는 가장 엄격한 의미론을 채택한 사람들에게 유리하다

* .. 또는 "니트 피커는 미래 예측에 짜증"

실제로 논쟁에서 많은 옳고 그름은 의미론의 문제이다 (그리고 그것은 토발즈가 주장하고 IMHO Tanenbaum이 완전히 이해하지 못한 것의 일부였다). 논란의 여지가 많은 요인들이 있기 때문에 미래에 대한 정확한 정의를하기는 어렵습니다. 의미가 느슨하면 예측이 다른 사람보다 다트 판에서 더 큰 목표이므로 더 나은 확률을 얻을 수 있습니다. 시맨틱을 무시하면 Torvalds와 Tanenbaum이 진행 한 주장은 많은 것에 대해 옳았으며 아주 작은 것에 대해서는 틀 렸습니다.

tl; dr

대부분의 ISA는 RISC의 의미 론적 정의에 맞지 않지만 당시 RISC CPU와 차별화 된 대부분의 설계 이점을 활용합니다. CPU에 특정한 OS의 양은 Torvalds는 물론 Tanenbaum보다 작습니다. 오픈 소스는 범용 컴퓨팅을 지배하지만, 그 시장의 소비자는 주로 오픈 소스 소프트웨어의 많은 이점이 실현되지 않는 고정 된 기능의 제품에 컴퓨팅을 패키징하는 사람들입니다. 주소 공간에서 OS 기능을 분리하는 것이 도움이되지는 않았지만 "가상"하드웨어에서 OS 기능을 분리하는 것이 좋습니다. 당신의 예측이 옳았다 고 주장하고 싶다면, 토발즈 씨처럼 가능한 한 의미론적인 조종실을 떠나십시오.

PS 마지막 아이러니 한 관찰 : Linus Torvalds는 사용자 공간과 Linux 커널에서 가능한 한 많은 새로운 기능을 유지하는 가장 강력한 제안자 중 하나입니다.


42
  • 마이크로 커널은 미래입니다

그는 잘못 알고 모든 것이 하이브리드 커널을 사용하는 것으로 수렴하는 것처럼 보입니다. 리눅스는 공식적으로 여전히 모 놀리 식이지만 FUSE 등을 추가하면 하이브리드처럼 보입니다.

  • x86은 죽고 RISC 아키텍처는 시장을 지배 할 것입니다

x86은 죽지 않았습니다. 그러나 RISC가 시장을 지배하지 않습니까? ARM을 사용하는 수십억 대의 스마트 폰, RISC 프로세서를 사용하는 모든 게임 콘솔, MIPS 프로세서를 사용하는 대부분의 네트워크 하드웨어.

또한 2000 년대 초까지 RISC와 CISC는 너무 많이 수렴되어 내부 설계에서 뚜렷한 차이가 없었습니다. 최신 x86 프로세서는 기본적으로 CISC 인터페이스가있는 내부 RISC입니다.

  • (5 년 후) 모든 사람이 무료 GNU OS를 실행합니다

만약 GNU OS가 GNU Hurd를 의미한다면, 실제로 완전히 실패한 예측입니다. 사람들이 대량으로 사용하는 것은 Android입니다. 안드로이드 그러나 그것은이다, 리눅스입니다 되지 는 GNU의 libc를 사용하지 않는 한, GNU. 대신 Google 자체 Bionic을 사용 합니다. 그리고 표준 데스크탑 리눅스의 시장 점유율은 여전히 ​​2 % 미만입니다. 그러나 그는 실제로 소비자 PC를 의미 했습니까? 서버 시장에서 Linux는 세그먼트에 따라 70-90 %의 점유율로 절대적으로 지배합니다.


5
"서버 시장에서 Linux는 세그먼트에 따라 70-90 %의 점유율로 절대적으로 우세합니다." 그 증거는 어디에 있습니까?
quant_dev

4
vartec의 숫자는 아마도 과장되었을 것입니다. 나는 이것을 여기에 남겨 둘 것이다 en.wikipedia.org/wiki/OS_market_share#Servers
Federico klez Culloca

4
@quant_dev : Top500의 92 %, 60-70 % 웹 서버, 전체 Google 인프라, 전체 FB 인프라, 전체 Amazon 인프라 등
vartec

1
진술서를 백업 할 수있는 링크를 제공 할 수 있습니까?
quant_dev

13
Top500 : i.top500.org/stats , Google : lwn.net/Articles/357658 , Amazon : news.cnet.com/2100-1001-275155.html , FB : http : /www.infoq.com/presentations/Facebook -소프트웨어 스택
vartec

21
  1. 확실하지 않다.

  2. 반 오른쪽. 오늘날의 "x86"칩 기본적으로 "CISC 인터페이스"를 갖춘 RISC입니다. x86은 인텔이 충분한 시장 점유율과 충분한 수익을 확보하여 다른 RISC 솔루션이 상당한 시장 점유율을 차지하기 직전에 전환하여 전환 할 수 있었기 때문에 죽지 않았습니다.

  3. 두 가지 주요 이유 : 호환성과 유용성.

    다시 말하지만 기존 시스템 (Windows 및 그 이하의 Mac OS)에는 매우 큰 설치 기반이 있습니다. 이는 많은 프로그램을 사용하는 많은 사용자를 의미합니다. 무료 GNU OS는이를 복제 할 수 없습니다. WINE 프로젝트는 그 방향으로 많은 작업을 수행했지만 실제 Windows 시스템을 대신 할 수는 없으며 WINE 개발자는 그 주장을하려고하지 않습니다. 사람들은 이론적으로 아무리 훌륭하더라도 좋아하는 프로그램을 실행하지 않는 OS를 사용하고 싶지 않습니다. (그리고 사용자 기반이 설치되어 있지 않으면 아무도 시스템을 개발하고 싶어하지 않습니다. 그것은 닭과 계란 문제입니다.)

    그리고 우리는 유용성에 도달합니다. 우리 엄마는 Windows 시스템을 가지고 있습니다. 그녀는 그녀의 목적을 위해 그것을 잘 사용할 수 있습니다. 그녀가 컴퓨터로 작업하는 데 필요한 모든 것은 Windows 인터페이스에서 사용할 수 있으며, "명령 줄"이라는 단어를 말하면 내가 무슨 말을하는지조차 알 수 없습니다. 지금까지 내가 아는 한, 그건 아직 어떤 무료 GNU OS에 그렇게 할 수 없습니다. 실제로 Linux는 작업하기가 너무 어려워서 가장 큰 커뮤니티 반역자조차도 간단한 작업으로 인해 심각한 문제가 발생합니다. 그리고 그들은 결코 그것을 얻지 못하고 문제를 해결하기 위해 노력하는 것처럼 보이므로 결코 시장 점유율을 얻지 못합니다. (대량 시장 프로그램을 제작하려는 사람이라면 누구나 링크 된 기사를 읽어야합니다!)


16
8 년 전 블로그 게시물의 경우 -1로, 더 이상 관련이 없습니다.
vartec

16
@Vartec : 더 이상 관련이 없습니까? 당신이 있습니까 심각 사용자는 오늘 리눅스를 선택하고 지금까지 심지어 명령 줄도, Windows 또는 OSX에 그들이 할 수있는 방법을 존재 함을 알 필요없이 일반적인 최종 사용자 작업의 전체 레퍼토리를 일을 시작할 수 있다는 주장을 만들기?
메이슨 휠러

17
@Mason : Ubuntu와 같이 마지막으로 본 시간은 언제입니까? OSX보다 콘솔에 대해 알지 못하는 Ubuntu에서 일반적인 최종 사용자 작업을 수행하는 것이 더 쉽습니다 (여전히 숨겨진 파일을 표시하는 OSX의 경우 Nerdology에서 Ph.D.가 필요함). 우분투에서는 물건이 작동합니다. Windows에서는 드라이버 등을 설치해야합니다. OSX에서는 작동하지 않습니다. BTW. 엄마는 regedit를 - P 사용합니까
vartec

8
@MasonWheeler : 물론입니다. 누구 우분투를 선택하고 그것을 사용할 수 없는 명령 줄 물건 전혀 . 슈퍼 룸 기술이 아닌 내 룸메이트는 Windows에서 우분투로 옮기는 데 아무런 문제가 없었습니다. 경험이 다양하지만 전문가는 아니지만 우분투를 사용하는 다른 사람들도 아무런 문제가 없었습니다. 작년에 내 오래된 룸메이트는 비슷한 수준의 컴퓨터 경험에서 현재 룸메이트가 Ubuntu를 사용하는 것보다 Mac에 더 많은 문제를 가지고있었습니다. (모든 것의 인쇄조차도 Mac보다 Linux에서 훨씬 쉬워졌습니다!) 따라서 전체 Linux 명령 행은 심각한 허위 진술입니다.
Tikhon Jelvis

18
@MasonWheeler : 오늘날 사용자가 Windows를 들고 네트워크 프린터를 구성 할 수 있다는 주장을 진지하게 다루고 있습니까?
Christoffer Hammarström

14

꽤 진지하지만 언급되지 않은 몇 가지 이유가 있다고 생각합니다.

첫 번째는 기술적 우월성이 시장 지배로 이어질 것이라는 Tanenbaum의 맹목적인 가정입니다. 사람들은 수년 동안 마이크로 커널 (nanokernels, picokernels 등)이 기술적으로 우월한 지에 대해 논쟁 해 왔지만, 현재로서는 그게 사실이라고 가정 해 봅시다. 우리는 여전히 기술 우위가 시장 지배력으로 이어질 수 있을지에 대한 의문을 갖고 있습니다. 나는 그렇지 않다고 주장 할 것이다. 대부분의 사람들에게는 Windows, Mac OS 등이 충분합니다. 더구나, 대부분의 사용자에게 중요한 변화를 가져올 개선점은 커널이 아닌 사용자 인터페이스에있을 것입니다.

두 번째는 (합리적으로) 성숙한 시장 의 변화율 을 과도하게 과대 평가하는 것 입니다. 새로운 시장이 생겼을 때 서둘러 변경하는 것은 매우 쉽습니다. 본질적으로 모든 사람이 5 년 만에 변화하도록하려면 마이그레이션이 예상 한대로 최고 속도로 진행되고 있었을 것입니다.

나는 또한 내가 언급하지 않은 그가 옳은 또 다른 방법에 주목합니다. 사람들은 이미 RISC의 편재성에 주목했다 (예 : 휴대폰). 그들이 언급하지 않은 것은 내가 "microkernel 2.0"이라고 부르는 것의 편재성이다. 이를 "가상 머신"또는 "하이퍼 바이저"라고합니다. 그들은 실제로 거의 마이크로 커널입니다.

가장 큰 차이점은 Tanenbaum이 마이크로 커널과 사용자 모드 OS 에뮬레이션의 관점에서 서로를 위해 특별히 고안되었다는 점입니다. 대신 OS를 본질적으로 변경하지 않고 그대로 유지하도록 마이크로 커널을 조정했습니다. 이것은 기술적으로 좋지는 않지만 시장 관점에서 볼 때 완전히 우수합니다. 완전히 새로운 시스템 대신 맨 처음부터 기존 코드의 대부분을 그대로 사용하고 멋진 코드를 추가 할 수 있습니다 "유틸리티"는 실제로 마이크로 커널 OS입니다.


8

한 가지 큰 이유는 Windows, 특히 Windows 3.1 및 그 이후의 Windows 95 및 NT 3.51이었습니다. 소비자들은 특히 유닉스와 DOS의 구식 텍스트 기반 시스템과 달리 GUI 인터페이스를 좋아했습니다. 이것은 더 많은 사람들이 가정용 컴퓨터를 구입할 것을 의미했습니다. 또한 90 년대 중반 인터넷 폭발로 매출이 증가했습니다.

PC의 가격도 90 년대 내내 현재의 시점에 도달 할 때까지 하락했습니다. 이는 소비자 및 비즈니스 수요가 증가함에 따라 규모의 경제로 인한 것이 었습니다. 예를 들어, 현재 컴퓨터 5 대가 모두 1992 년에 구입 한 486 데스크탑보다 저렴한 가격입니다.

이제는 어떤 방식 으로든 옳지 만 예상치 못한 방향에있을 수 있습니다. 모바일 장치, 스마트 폰 및 태블릿의 등장으로 운영 체제가 일부 단순화되어 x86의 중요성이 줄어들 수 있습니다. 그러나 그들은 1992 년에 예상했던 것보다 훨씬 뛰어납니다.


7

궁극적으로 모든 것은 상황이 실제로 변화하기를 좋아하지 않는다는 사실에 달려 있습니다.

우리는 모 놀리 식 (monolithic) 마이크로 소프트가 더 쉽게 생성되고, 더 빠르게 실행되었으며, 모두가 어떻게 그것들을 구축하는지 알고 있었기 때문에 더 잘 설계된 마이크로 커널로 마이그레이션하지 않았습니다. 또한 리눅스는 모 놀리 식 커널로 개발되어 인기를 얻었으므로 성공하기에 충분한 성공을 거둔 마이크로 커널은 없었습니다. (우리 모두가 Windows를 실행하는 것과 같은 이유와 비슷합니다. 모두가 Windows를 실행하기 때문에 Windows를 실행합니다)

다른 사람들은 x86이 현재의 RISC 아키텍처이며, 이전 버전과의 호환성을 위해 CISC 래퍼가 위에 있음을 지적했습니다.

많은 사람들이 서버에서 무료 GNU OS를 실행하고 있습니다. 웹은 그것에 의해 거의 구동됩니다. 모든 클라이언트가 Windows이기 때문에 아무도 알지 못합니다. 당시에는 선택의 여지가있었습니다. Linux는 여전히 취미 운영 체제였습니다. 유닉스의 맛이지만 살 수는 없었습니다. 또는 싸구려 n 명랑 윈도우. 리눅스는 유닉스를 대체하는 데 너무 오랜 시간이 걸렸지 만 여전히 데스크탑에서 실행하기에 충분한 솔루션이 충분하지 않습니다 (부분적으로 다른 윈도우 시스템, 이진 그래픽 드라이버의 이념적 문제 및 안정적인 ABI 부족으로 인해). 그러나 임베디드 및 모바일과 같은 데스크탑 이외의 다른 시장에서는 오히려 잘하고 있습니다.


6

컴퓨터가 데스크탑에 있다고 생각하지 않으면 모두 해당됩니다.

  1. 사실-마이크로 커널은 마이크로처럼 결코 작동하지 않았습니다. 제거 된 임베디드 리눅스 전체가 MACH 커널의 x86 특정 비트보다 작은 경우 마이크로 커널 관련 문제입니까?

  2. RISC가 시장을 지배하고 있습니다. X86 CPU보다 매년 더 많은 ARM CPU가 판매됩니다. ARM CPU에서 6 피트를 넘지 않아야합니다.

  3. 거의 모든 사람들이 리눅스를 실행하고 있으며 라우터, TV 셋톱 박스, Tivo 및 Android 전화에 있습니다. 이들은 OS가 있다는 것을 모릅니다.


4
"마이크로 커널은 충분히 작아서 작동하지 않았습니다"> 내가 이해하는 것처럼 "마이크로"라는 단어가 반드시 바이트 나 코드 줄을 가리키는 것은 아닙니다. 아이디어는 기능을 사용자 공간으로 푸시하여 커널 자체에서 제공하는 서비스를 최소화하는 것입니다. 예를 들어, 마이크로 커널이있는 시스템에는 파일 시스템 처리 전용 사용자 프로세스가 있습니다. 따라서 축소판 버전의 Linux가 minix보다 크기가 작다는 것은 실제로 관련이 없습니다.
Robz

1
@Robz Size는 관련성이 있습니다. 마이크로 커널의 요점은 이식성을 제공하고 특정 에지 사례를 가능하게하는 것입니다 (가상화없이 한 시스템에서 두 개의 OS 환경을 한 번에 실행하는 것과 같이). 마이크로 커널이 배치 될 수있는 플랫폼을 제한하는 하이브리드 / 모 놀리 식보다 크면 실제로 대안보다 작지 않으면 작은 구성 요소를 작성하여 이식성을 달성하는 것이 더 쉽다는 주장을 무시하는 경향이 있습니다.
Marcin

4

1) 그는 마이크로 커널에서 틀렸다. 속도 요구 사항에 대한 필요성을 이해하기 위해서는 최소한 Linux 커널에서 마이크로 커널에 적용되는 문제의 분리가 우선합니다.

2) 태블릿 및 휴대폰의 주요 아키텍처는 RISC 명령어 세트 인 ARM입니다. 심지어 Windows도 포팅되었습니다.

3) 모든 사람이 무료 GNU OS를 실행하지는 않습니다. 이것은 주로 특허 및 이전 버전과의 호환성 때문입니다. Windows를 원하지 않는 사람들은 OS X를 자주 선택합니다.


1) 그때 훨씬 더 속도가 중요했습니다! 오늘 너무 중요할지는 모르겠습니다.
gbjbaanb

병목 현상이있는 위치에 따라 다릅니다.

유일한 요구 사항이 "다른 사람보다 빠르다"고해도 시간이 지나도 더 쉬워지지는 않습니다. 제 생각에는 HURD가 Linux를 능가 할 수 있는 매우 짧은 기간이었고 L4에서 Mach까지의 포트에서 시간을 낭비함으로써 헛된 시간이었습니다.
regularfry

2

1. 마이크로 커널 실패

Linus Torvalds가 말한 이유 때문에 이론적으로는 매력적으로 보이지만 매우 복잡한 시스템 인 현대 시스템에서는 구현이 복잡해 지수 적으로 관리가 불가능 해집니다. 사례 연구는 기본 기능을 달성하지 못한 완전 마이크로 커널 시스템 인 GNU Hurd입니다. Mac OS X은 Hurd 구조와 유사하며 가장 안정적이고 제약이 적은 OS입니다.

2. CPU 아키텍처

이것은 다양한 사용 사례에 따라 다양해졌습니다. 임베디드, 모바일, 데스크탑, 서버 등의 사용 사례가 다르고 다른 접근 방식이 필요하기 때문에 하나의 CPU 아키텍처가 지배적이지 않았습니다. Tannenbaum은 이러한 다양 화를 보지 못했습니다.

3. GNU 대 세계?

GNU는 지배적이지 않았지만 Linux는 서버, 임베디드 및 모바일에서 사용되었습니다. 애플 태블릿과 휴대 전화는 평범한 오래된 유닉스 인 iOS를 실행합니다. 정확한 가치를 제공 할 수있는 실제 핵심 메커니즘 (장치 판매)이 없기 때문에 데스크탑에서 Linux 배포에 대한 정확한 통계를 얻기가 어렵습니다. 데스크탑에있는 대부분의 Linux 배포는 사용자가 Windows 시스템을 구입 한 다음 Linux로 덮어 쓰기 때문에 Windows 배포로 기록되는 경우가 있습니다. 그러나 OS를 분류하면 Linux는 http://www.w3schools.com/browsers/browsers_os.asp 에 따라 데스크탑에서 약 5-6 % 이며 전 세계 Windows Vista 사용자 수와 매우 유사합니다. .

다양한 소스에서 얻은 내 자신의 추정에 따르면 데스크탑의 Linux는 실제로 Windows XP보다 Linux가 더 인기있는 중국과 인도와 같은 비 서구 국가를 계산하면 실제로 Windows XP의 사용자 수와 대략 25 %가 될 수 있습니다. 미국 또는 EU이지만 서양인을 겨냥한 영어권 웹 사이트의 트래픽 만 계산하기 때문에 서양 통계에 포함되지 않을 수 있습니다.

인도에서는 대부분의 대학생들이 Ubuntu 또는 Fedora를 사용합니다. 이것이 인도 교육 시스템의 기본 OS이고 유명한 IIT이기 때문입니다. 대부분의 인도 관공서는 Linux도 사용합니다. 중국에서 Red Flag Linux는 중국 정부 및 학교 시스템의 공식 운영 체제 인 Academies of Arts and Sciences (아카데미 예술 과학 아카데미)이며, 빈곤층 젊은 중국인이 불법 복제 된 Windows 사본을 사용하지 못하도록하기 위해 국가에서 운영하는 매체에 의해 중국에서 권장되는 OS입니다. 인도와 중국에서 Linux 사용을 세었다면 대부분의 서양 기술 전문가들에게 충격을 주었고 비 서구 개발 도상국에서 Linux 데스크톱이 지배적이라는 사실에 대한 인식을 근본적으로 바꿔 놓았습니다.


1
실제로는 데스크톱과 서버의 OS 전면에서 Windows가 실제로 도축되고 있습니다. 대략 45 %의 사용자 만 Windows 7을 사용한다고 생각한다면, 새로운 Windows OS의 각 Windows 업그레이드주기의 채택이 10-15 % 정도 줄어들고 사용자는 이전 버전을 유지하거나 Mac 또는 Linux로 이동합니다. 서버의 경우 각 Windows 서버 업그레이드로 20-30 %의 사용자가 즉시 Linux 서버 클러스터로 전환함에 따라 상황이 더욱 악화됩니다.
AG Restringere


1

x86은 RISC 가격에 너무 가까워서 더 이상 사용할 수 없었습니다. 소규모 공급 업체 잠금도있었습니다.


RISC의 드라이버가 가격이라고 생각하지는 않지만 x86보다 RISC 아키텍처가 더 잘 설계되었습니다. 불행히도 MIPS와 SPARC는 크게 확장되지 않았으며 알파가 중요한 시장 점유율을 확보하기 전에 DEC에 돈이 부족했습니다. 인텔은 x86에서 상당한 성능을 발휘할 수 있었기 때문에 (대부분의 사람들에게) 변경해야 할 강력한 이유는 없었습니다. 이제 성능은 MHz보다 와트 단위로 측정되었으므로 x86은 관련성이없는 느린 슬라이드를 시작하고 있습니다.
TMN

그러나 나는 처음에 왜 RISC가 RISC보다 훨씬 빠르게 상승했는지를 언급하고있었습니다. 물론 요즘 이것은 많이 바뀌었다.
Lucas Kauffman

1
  1. 마이크로 커널은 메소드 호출을 프로세스 간 메시징으로 대체하여 가상의 이점을 위해 개발 복잡성을 추가합니다. 대부분의 경우 모든 것이 하나의 큰 프로세스에 있더라도 좋은 구성 요소 화로 거의 동일한 이점을 얻을 수 있습니다.
  2. 질문은 더 이상 관련이 없습니다. CISC 아키텍처는 더 이상 존재하지 않으며 모든 최신 프로세서는 마음에 RISC이지만 x86 명령어 세트를 죽이지 않았습니다. Pentium-Pro 시대 (17 년 전) 이후 x86 프로세서는 op 코드 변환을 사용하여 본질적으로 RISC 코어가 외부에서 x86 CPU처럼 보이도록합니다.
  3. 클래식 최악이 더 좋습니다. 반복, 실용주의, 네트워크 및 생태계 효과는 매번 순도를 능가합니다.

1

마이크로 커널은 x86이 죽을 미래이며 RISC 아키텍처는 시장을 지배 할 것입니다 (5 년 후) 모든 사람이 무료 GNU OS를 실행하게됩니다

전통적 관점에서 미래를보고 정의하는 방법에 따라 그의 예측은 실패했습니다.

그러나 그 시간은 아직 끝나지 않았습니다 (또 다른 심층 토론은 제외) .

따라서 여전히 상황이 바뀔 수 있습니다.

  1. 마이크로 커널 또는 일부 변형은 복귀를 만들 수 있습니다

  2. RISC / ARM이 우세 할 수 있습니다-> 태블릿 / 휴대 전화

  3. 지금부터 10 년에서 15 년 누가 오픈 소스가 세상을 천천히 변화시키고 있는지 알고 있습니다.


1
물론 미래에는 상황이 바뀔 수 있습니다. 제 질문은 세상이 어떻게 현재 이고 왜 그의 예측을 반영하지 않았는 지에 관한 것입니다.
Robz

그 이유는 모두 다른 사람들에 의해 나열되었으므로, 건강한 토론의 일환으로 모든 관점을 적어도 고려해야하는 대안적인 견해를 제시합니다. 오래 살면서 내 친구를 번영시킵니다.
Darknight

약 3의 차이점은 GNU 운영 체제가 더 이상 관련이 없다는 것입니다. 아무도 GNU Hurd 커널을 사용하지 않으며 Linux 또는 OS X 데스크탑에서 모든 GNU 사용자 공간 도구를 제거하면 대부분의 사람들은 눈치 채지 못할 것입니다. 오픈 소스 OS (예 : Linux 기반 라우터 및 Android)의 성공적인 배포를 살펴보면 대부분 GNU 구성 요소에 의존하지 않습니다. 매우 인기 있고 유용한 GNU 도구가 많이 있지만, 사람들이 사용하는 "운영 체제"의 일부는 아닙니다.
ehabkost

0

2 : CISIC 명령어 세트는 큰 장점이 있습니다. 압축 된 기계 코드처럼 더 작습니다. 요즘 CISC 명령을 마이크로 ops로 해독하는 것은 매우 저렴하며 RAM에 액세스하는 것은 매우 비쌉니다. 따라서 CISC는 L1 / L2 / L3 캐시에서 더 많은 코드를 푸시한다는 이점이 있습니다.


0

나는 시간과 그 이전의 시간을 기억합니다. 마이크로 커널에 대해서는 몰라

2) RISC의 아이디어에는 소프트웨어 최적화가 하드웨어보다 소프트웨어에서 더 잘 수행 될 수 있고, CISC 칩보다 더 경제적으로 RISC 칩이 경제적으로 이루어질 수 있다는 두 가지 측면이있었습니다.

두 가지 아이디어 모두 단기적으로 틀린 것으로 판명되었습니다. 인텔은 경쟁 RISC 칩보다 명령을 더 빠르게 수행하는 CISC 칩을 경쟁력있는 가격으로 만들 수있었습니다. 인텔은 컴파일러 나 소프트웨어 런타임 관리자보다 하드웨어에서 프로그램 최적화를 더 잘 수행하는 CISC 칩을 만들 수 있었고, 그와 마찬가지로 소프트웨어 최적화도 그 위에 추가 할 수있었습니다. RISC 칩.

3) 컴퓨터 과학, 프로그래밍 및 운영은 제 경력에서 완전히 4 번 재창조되었습니다. 메인 프레임에서 PC로. 명령 행에서 GUI로. GUI에서 인터넷으로. 인터넷에서 iPad로. 혁명은 이제 정상으로 보이지만 우리는 예측하지 못했습니다. 당시의 모든 나이 든 프로그래머와 마찬가지로 그는 '역사의 끝'을 예측하고있었습니다.

카운트가 다시 시작 되었기 때문에 5 년 안에 GNU OS를 실행 한 사람은 거의 없었습니다.

아마도 여전히 일어나고 있습니다. 5 년 전에는 Windows 서버가 * nix 서버로 대체 될 것으로 예상했을 것입니다. 필자는 SAMBA가 AD 도메인 서버를 출시했습니다. 내가 일하는 곳에서는 일어나지 않을 것입니다 : 우리는 로컬 서버가 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.