현실도피로 써보는 아무도 관심없을 Mac OS TMI history.
1. 현생 mac os 의 뿌리는 NeXTSTEP 부터 시작
2. NeXTSTEP 의 시작은 apple 에서 쫒겨난 잡스가 만든 회사
3. 초기버전은 모토롤라의 cpu 를 사용한 전용 하드웨어용 OS 로 시작
4. 이게 얼마나 웃긴 일이냐면.. 초기 버전이 나온 1988 년의 전용 하드웨어는 M68030 은 1987 년에 등장한 cpu 를 사용했음. 물론 NeXTSTEP 은 32bit OS 로 시작. 이 1988 년이라는게.. x86 PC 에서는 한참 AT 가 보급되기 시작했었던 시기(물론 OS 는 16bit 기반의 MS-DOS)
5. 초기의 NeXTSTEP 은 Carnegie Mellon(카네기 멜론) 대학에서 만든 microkernel 타입으로 만들어진 mach kernel 을 사용(이후 mach kernel 은 mac os X 로 가기전까지 꾸준히 obj-c 기반으로 유지)
6. 이유는 잘 모르겠지만, 개발 언어를 obj-c 로 특정함으로서 전용의 compiler 가 없던 상황에 gcc 를 확장해서 사용하는것으로 결정
7. 위의 사유 덕분에 독점으로 가려다가 GPL 덕분에 FSF 에게 발목을 잡혀서 obj-c 관련 코드를 공개하게된다. 이런 기반은 추후 apple 에서 LLVM 을 도입하기 전까지 지속됨.
8. 참고로 NeXT 회사의 초기 투자자중 하나가 바로 Canon. 덕분에 NeXT 의 잉크젯과 레이저프린터는 전부 Canon 에서 공급
9. 이후 Canon 은 레이저프린터 사업부를 HP 에게 매각. 덕분에 NeXT Laser printer 의 토너는 HP 에 규격이 정확히 호환되는 제품이 존재한다.(적어도 2002년 정도까지는 해당 토너의 신품도 존재...)
10. NeXTSTEP 3.0 이 1992 년에 출시되었는데, 이때 다들 신경쓰지 않는 재미있는 사실이 하나 있다. 바로 영화 타이타닉에서 유명해진 renderman 이 OS 에 기본 탑재가 되었다는거. 이때 이미 잡스는 pixar 의 소유자 였으며 pixar 는 1995 년에 toystory 를 renderman 을 이용해서 만들고 있던 중이라는거. pixar 는 처음에 pixar computer 라는 하드웨어 까지 만들었으나 하드웨어는 포기하고 renderman 및 media 제작에 집중. 이러한 renderman 이 OS 에 공짜로 들어가 있다는건 당연히 경쟁력을 가지게 된다. 덕분에 가장 저렴한 workstation 이라는 키워드에 충분히 어울리게 되었다는건 보너스.
11. NeXTSTEP 인 1995 년에 3.3 버전을 출시하게 되는데, 이때부터 M68 시리즈 외에 PA-RISC(HP), SPARC(당시에는 SUN) 그리고 intel 의 x86 계열 cpu 버전으로 OS 가 호환되게 된다. 그리고 NeXTSTEP 의 패키지(pkg) 파일에는 fat 바이너리라는 개념이 도입되기 시작하며, 이건 현재의 Mac os X 까지 이어지게 된다.
12. NeXTSTEP 에서 gcc 를 사용한 이점을 이때 보게 되는데, gcc 는 현재도 현존하는 가장 많은 cpu 종류는 지원하는 compiler set 이다. 다른 아키텍처로 OS 를 포팅할때 gcc 가 중요했음은 말할 필요도 없는 사실.(하지만 적어도 잡스는 꾸준히 GPL 을 좋아하지 않았다. 별 수 없이 썼을뿐) 이때부터 NeXTSTEP 에는 객체지향 OS 라는, 소프트웨어가 강조되는 방향을 가지게 된다.(이미 M68 하드웨어는 포기할 낌새가 이때부터...)
13. NeXTSTEP 에서 사용하는 시스템의 기반 library 는 Foundation Kit 이라고 부른다
14. NeXTSTEP 은 OPENSTEP 으로 이름을 바꾸어 1996 년에 출시. 3.3 버전에 비해서 Foundation Kit 의 가장큰 차이라면 root class 를 object 에서 NSObject 로 혼용될 수 있는 상황에서 NSObject 하나로 통일되었다는 점이다.
15. OPENSTEP 은 1996 년도에 릴리즈 되는데, 지원 환경및 개념이 살짝 바뀌게 된다. 기존의 PA-RISC, SPARC, m68, x86 외에 OPENSTEP for solaris, OPENSTEP for Yellowbox 라는 소프트웨어 프레임웍을 제공하게 된다. 이때부터 OPENSTEP 이라고 대문자로 쓰면 OS 를 나타내며, OpenStep 이라고 쓰면 OpenStep 규격의 프레임웍을 지칭하는것이 되었다. 이 OpenStep 의 mac os 구현이 Cocoa, 오픈소스 버전이 GNUSTEP 이 된다. (그리고 linux 에는 NEXTSPACE 가 나왔지...)
16. NeXT 의 초기투자자가 Canon 이었던만큼, NeXTSTEP 때부터 일본어 지원은 잘 되던 편이었다. 그래서 3.3j 버전이 별도로 존재한다.
17. NeXTSTEP 때부터 adobe 와의 협력에 의헤 DPS 라는 시스템? 이 탑재되었다. display postscript 라는 이 괴기스런 물건은 WYSIWYG 이라는 관점에서 가히 혁명적인 물건이었는데 quark express 로 대표되는 출판/인쇄쪽 입장에서 mac os 조차도 화면용 폰트와 출력용 폰트를 따로 취급했고, 프린터에 postscript 가 탑재되어 있으면 가격에서 큰 차이가 있을만큼 인쇄쪽에서는 고급기술? 이었는데 이걸 OS 에 그냥 내장해버린것. 결과적으로 보이는대로 출력물을 얻을 수 있으며, postscript 처리를 OS 에서 해서 프린터로 보내주기 때문에 NeXTSTEP/OPENSTEP 에서 지원하는 프린터라면 postscript 엔진이 없어도 미려한 출력물을 얻을 수 있고, OS 의 편집기에서도 이렇게 나오겠구나.. 라고 예상하고 편집을 진행할 수 있었다.(하지만 결국 보급에 성공하지 못했.....)
18. 이러한 DPS 의 장점을 보고 한국의 "신명시스템"(폰트로 유명한 그 회사 맞다) 이 한글 font 와 한글 입력기를 일본어 버전을 기준으로 사용할 수 있도록 pkg 를 만들고 NeXTSTEP 부터 유통을 시작. 한국의 지방 신문중 하나가 이러한 편집 소프트웨어인 Virtuoso 로 실제 한국에서 사용한적도 있다.(신문사 이름까지는 기억이...)
19. 아는 사람만 알지만, 초기의 NeXT workstation 은 흑백모니터를 사용했었다. 덕분인지는 몰라도 NeXTSTEP/OPENSTEP 은 흑백화면이 상당히 예쁘다.
20. Apple 과 NeXT 의 딜이 성사되고 mac os 8 및 9 이 이어지는 동안 OPENSTEP 을 얼마나 apple 스럽게 제공할 수 있는지에 대한 실험이 시작되었다. 이 실험의 결과가 바로 rhapsory.
21. rhapsody 는 ppc 및 x86 으로 제작되었으며, 눈에 보이는 인터페이스는 mac os 9 의 그것이었으나 내부는 OpenStep 의 Foundation Kit 이었다. 참고로 신명시스템에서 OPENSTEP 4.2j 용으로 제작한 한글입력기의 about 화면에는 "RhapsodyIM" 이라는 로고가 박혀있다...(묵념)
22. 우리가 알고있는 aqua 기반의 Mac os X 는 일반 사용자용으로서, 위에서 말한 rhapsody 의 UI 는 Mac os X Server 1.2 까지 지속되었다. 물론 이후의 Mac os X Server 는 aqua 인터페이스로 전환되었더.
23. 잡스는 꽤나 gcc 를 싫어했다. 덕분에 꽤 오래전부터 탈 gcc 를 꿈꿔왔는데 LLVM 의 전면적 도입이 결국 잡스의 꿈(?) 이루게 해준셈.
24. 사실은 이 말이 적고 싶었던 건데.... 지금의 mac os 는 꽤나 오래전부터 다양한 하드웨어를 지원했던 경험이 있고, 그러한 경험을 바탕으로 배포하는 패키지까지 여러개의 플랫홈을 지원했던 이력을 기반으로 하고있다. 기존에는 여러 플랫폼용 바이너리를 배포하는 수준이었지만 LLVM 의 도입덕에 apple 은 그 이상의 성능을 이끌어 낼 수 있는 기반까지 확보하게 되었다. 게다가 3d 관련된 spec 인 metal 을 만들고 해당되는 spec 에 어울리는 하드웨어를 설계햐서 M1 SOC 에 같이 쑤셔넣었다.... OS 의 성능이 올라간 이유로서는 충분.
25. Mac os X 의 사용자버전을 릴리즈 하면서 opensource 인 cups 를 인수하였다. 인수하면서 OS X 라이센스를 GPL 에서 apple license 로 변경했다가 현재는 apache license 를 사용하고 있다. 덕분에 mac os X 에서 사용되는 printer driver 는 약간의 삽질만으로 linux 에서도 사용할 수 있다. 참고로 cups 의 printer driver(?) 포맷은 ppd 인데, 이 파일은 NeXTSTEP 의 레이저 프린터등을 일반 windwos 에서 samba 등으로 사용하려 할때 windows 용 adobe postscript driver 로 사용되던 포맷이다.
그냥.. 옛날 얘기..
내 과거 기억에서 첫번째 PC 는 XT 였다. 용산제 KEYTEC 이라는 로고가 붙어있어는데... 허큘리스에 램은 무려 640kb. 다른 일반 허큘러스에 비해 simcga 를 띄우고도 램에 여유가 있던터라 512kb 처럼 고민할 일이 적어다.
그 다음은 AT 였는데 RAM 은 무려 1M 에 20M 짜리 대용량 하드가 달려있었다. vga 는 trident 8900c. XMS 를 지원해준 덕에 wing commander 1 게임 내에서 조종간이 움직이는걸 볼 수 있었다.(이때는 이유는 모르겠지만 EMS 가 해당이 안됐었음)
아마도 AT 에서 386 으로 넘어갔었을 때였을 즈음에 peter norton 의 "IBM PC 의 안쪽" 이라는 책의 번역본을 읽었었다. 그렇게 고등학교를 386dx 로 버티다가 수능 종료와 동시에 용산에 다니면서 내 PC 는 내가 맞추기 시작했다.
그 당시는 펜티엄이 처음 나왔으며 고베지진으로 램값이 폭등했던 시기였다. 펜티엄은 60 과 66 의 똥망같은 라인업이었는데.. AMD 가 486 dx4-100 으로 캐 대박을 쳤으며, soyo 보드 역시 더불어 성장세였다.(그리고 이때의 soyo 보드 총판이었던 선인상가 21동 3층의 태인시스템은 지금의 컴퓨존이 되었다)
486 dx4-100 의 두각을 바탕으로 cyrix 의 5x86 과 sis 가 비비적대기 시작했다. 바야흐로 x86 cpu 춘추전국시대.
내 vga 는 cirrus logic 의 GD5434 를 기점으로 matrox 의 밀레니엄 > edge3d > 부두2 조합 > 새비지 > 밀레니엄2 + 레인보우 보드 를 거쳐 90년대의 마지막을 끝내게 되었다.
그냥... 어디의 retro 카페에서 compaq portable 사진을 보고나니 옛날생각이 잠시 나는군요. 나이 먹고 현실적으로 쓸모없는 Apple 과 MSX 등에 관심이 쏠리는건, 내 손으로 주변에만 머물렀던 8bit computer 시대에 대한 시샘이겠죠. 아마도 :D
https://en.wikipedia.org/wiki/Compaq_Portable
사람들이 내 말을 안믿어주고, 나를 쉽게 의심하고, 제대로 사과하지 않는건 내가 우습게 보여서, 나를 무시해서 그래. 사람들은 무시를 잘해 어느 이유에서건 무시를 해. 여자라고 무시해, 어리다고 무시해, 늙으면 늙었다고 무시해. 부모가 없어도 무시하고 남편이 없어도 무시하고, 돈이 없어도 무시해.
전부 대체로 내가 어쩔 수 없는 부분에서 사람들은 무시를 해.
엄마가 그나마 엄마 노력으로 바꿀 수 있는건 공부뿐이었어. 그래서 엄마는 공부를 잘했어.
https://comic.naver.com/webtoon/detail.nhn?titleId=721433&no=57&weekday=tue