교대최소제곱법
[운영체제] 재밌는 이야기 본문
이 글은 이전 글인 "[pintOS] 운영체제와 cpu 아키텍쳐의 관계 그리고 펭귄" 의 후속 글 입니다
재밌는 이야기를 보기 전에 이전 글을 보면 더 재밌습니다!
https://changjohwang.tistory.com/53
여기서는 정말 재밌는 이야기를 할 것이다
windows와 리눅스
원래 운영체제 시장은 x86 아키텍쳐를 사용한 마이크로 소프트의 Windows가 독점하다시피 하고 있었다
운영체제 = windows가 성립하던 시대였다
하지만 unix의 자손들이 하나 둘 떠오르기 시작되었고 리눅스는 그 중 최고라고 볼 수 있다
우리가 잘 아는 안드로이드, 타이젠도 이 리눅스 기반의 모바일 운영체제이다!
여기에 unix기반의 macOS까지 해서 windows, macOS, linux 삼대장의 시대가 열리게 되었다
운영체제의 근본
운영체제의 근본은 DOS와 UNIX라고 보면 될 것 같다
지금의 윈도우는 자체 개발한 커널인 NT를 사용하지만 과거의 윈도우는 DOS 커널 위에서 실행되는 형태였다고 한다
하지만 DOS는 성능과 안정성이 좋지 않았기 때문에 NT를 개발하여 Windows XP부터 NT커널을 사용했다
TMI
파일 시스템를 공부하다 보면 NTFS가 있는데 이 때 NT가 이 NT이다
NT File System의 준말인 것
리눅스 macOS도 결국 UNIX를 개량한 버젼인데 MS-DOS와 NT를 개발한 빌 게이츠 그는 신인가?
DOS는 그 뒤로도 개발되어 FreeDOS가 있다. 이게 DOS의 후손이 된다
UNIX 또한 DOS와 함께 한 시대를 풍미했던 운영체제이다
이 유닉스를 디자인한 사람들 가운데 한 명이 데니스 리치이다 (Goodbye, world!)
windows를 제외하면 현존 OS 중 유닉스의 영향이 없는 OS는 존재하지 않는다 (빌 게이츠는 신인가?)
물론 많은 운영체제들 (BSD 계열, macOS 계열)이 UNIX의 영향을 많이 받은 것은 맞지만
그렇다고 유닉스 clone이라고 하기에는 좀 그렇다
데니스 리치의 말에 의하면 현존하는 사실상의 유닉스는 linux밖에 없다고 한다 (de facto UNIX!)
족보를 보면 옆집에는 Solaris가 살고 있다
macOS, iOS 또한 BSD의 일종이다
왜 mac 터미널에서는 리눅스 명령어를 쓸 수 있는가?
사실 족보를 보면 이해가 된다
정확히는 리눅스 명령어가 아니라 유닉스 명령어인 것이다
결국 macOS, linux도 우리 민족이기 때문에 공통되는 유닉스 명령어는 둘 다 사용할 수 있다
TMI
macOS 이전에 있는 NeXTSTEP은 스티브 잡스가 설립한 NeXT Inc. 에서 개발되었다
인텔 컴퓨터에는 윈도우, 리눅스, 맥을 설치할 수 있지만 m1 mac에는 깔 수 없는 이유
이전 글을 보았다면 왜 m1 mac에는 윈도우나 리눅스를 설치할 수 없는지를 알 수 있다
최근에는 arm 아키텍쳐가 흥하고 있지만 과거에는 x86_64 아키텍쳐가 최고였기 때문에
대부분의 운영체제들이 x86_64를 기준으로 만들어졌다
mac 또한 인텔 칩 시절에는 x86_64 기반으로 한 운영체제였다는 것을 생각한다면 x86_64는 얼마나 goat인가를 알 수 있다
그래서 인텔 칩을 사용한 맥북의 경우 이러한 마개조도 가능하다
TMI
요즘은 ARM 아키텍쳐 기반 윈도우가 나와서 뭔가 되기는 한다고 한다
x86_64 에뮬레이터가 내장되어 있는 구조로 이루어져 있다고 한다
상남자 리누스 토르발스
역시 삑뚜와 싸따나의 나라 핀란드 출신답게 상남자 그 자체이다
나무위키에는 모두까기 인형이라고 나와있다
아무튼 아키텍쳐와 관련된 일화를 얘기하자면 리누스 토르발스는 arm을 싫어한다고 한다
https://www.ciokorea.com/news/31512
ARM 아키텍쳐의 가장 큰 단점 중 하나인 파편화를 지적했고 호환성도 좋지 못하다고 깠다
같은 서울 시민으로서 토르발스 행님 굉장히 존경스럽다
그 외의 리누스 토르발스와 빌 게이츠, 스티브 잡스, 리처드 스톨먼과의 일화를 보면 굉장히 재밌으니 추천한다
참고로 리눅스의 펭귄은 리누스 토르발스가 유닉스 모임에서 리눅스에 대해 말하려고 가던 중 작은 쇠푸른펭귄에게 물린 기념(?)으로 마스코트가 되었다고 한다
'CS 기초 > 운영체제' 카테고리의 다른 글
[운영체제] 운영체제와 cpu 아키텍쳐의 관계 그리고 펭귄 (2) | 2023.12.04 |
---|---|
[메모리 할당] 디스크 조각모음과 단편화 (1) | 2023.11.15 |
[운영체제 part 4] 파일과 디렉토리 (0) | 2023.09.08 |
[운영체제 part 3] 메모리 할당 (0) | 2023.09.08 |
[운영체제 part 2] CPU 스케쥴링 (0) | 2023.09.08 |