터보 버튼…

머나먼 옛날 옛적에 있던 버튼…

(사실 이런 거 쓸 생각 없었는데….)

나도 터보 버튼이 있던 컴퓨터를 어~~릴 적에 쓴 적이 있다. 근데 나야 뭐 그런 게 있어도 잘 몰랐으니 건드리진 않았고… 나중에 운영체제랑 시스템을 좀 제대로 공부할 때 “아 이런 게 있었구나”라고 하면서 대~충 넘어갔었다.

근데 오늘 트위터에 올라온 것 때문에 참…

 

내가 아는 거랑 뭐 더 다른 게 있나 해서 찾아보니 확실히 이상한 소리 있었다. 게다가 공감수가 장난이 아니다. 진짜로 이상한 글들 많아서…. 좀 정리해 보려고 한다.

터보 버튼은 말 그대로 성능을 올리는 버튼입니다. 근데 올리는 성능이 하드웨어만의 성능이 아닙니다. XT~486 시대까지 개발될 때에는, 프로세서 제조사들에 따라서 클럭 수가 다르게 나오는 프로세서들이 많았습니다. XT의 경우, IBM XT의 주력은 8MHz인데(8088), 이때에 같은 아키텍쳐의 다른 설계를 가진 프로세서들이 더 클럭수가 높은 프로세서들을 내놓기도 했습니다. 어디는 9, 12, 15, 16… 이런 식으로 클럭 수가 다른 프로세서들이 나와줬는데, 이걸 표준으로 맞춰서 처리해주도록 클럭을 제어해주던 녀석이 터보 버튼입니다. 이렇게 보면 클럭을 오히려 되려 낮춰주는 거 아니야? 하는데 초기에 저 정도의 클럭도 못따라가던 녀석들은 되려 클럭이 올라가기도 했습니다. 근데 대부분의 경우에는 클럭을 낮춰줬죠. 특히 기준이 되던 프로세서가 있으면 다른 고성능 프로세서 장착 컴퓨터들이 기준 프로세서에 맞추는 용도였습니다.

이 후에 나오는 프로세서들은 의미도 없지만 그냥 관행상 붙이고 다녔습니다. 그러다가 아예 없어졌죠.

근데 이 때에 컴퓨터를 이용하던 지금의 젊은(?) 사람들은 그 당시 게임 돌리기 바쁜 사람들이었기 때문에 이거 왜 있어 그러다가 터보 모드로 실행하면 되던 게임 안되고 해서 이거 뭐야 그러다보니 별 이상한 이야기들을 믿고 있는 경우가 있습니다. 그래서 좀 이해가 안되는 이상한 이야기들도 많고요…

그나마 좀 정상적인 이야기도 반 좀 넘게 있어서 다행입니다만….ㅠㅠ

근데 제조사들은 왜 이런 짓을 했을까요?

결론부터 말하면, 운영체제 및 프로그래밍 언어의 개발 부진이 당시의 원인입니다.

운영체제는 여러 하드웨어를 지원하지만, 초창기의 운영체제들은 기술들의 표준이 되는 시스템에 맞춰서 운영체제를 개발하였었습니다. 그래서 당시 주류였던 8MHz 시스템에 맞춰서 운영체제를 개발하였고, 해당 클럭 동작에 따라 시간을 재고 시간 처리를 하는 타이머 기능을 만들고 했던 여러 기능들이 그대로 C 언어의 라이브러리에 내장되어 있던 시절이 있었습니다. (지금은 안쓰입니다. 시스템의 시간에 관련된 기능은 이젠 표준화 되었기 때문에 쉽게 이용할 수 있습니다.)

이와 관련되어서는 다음과 같은 걸로 확인 가능합니다.

도스박스의 에뮬레이터에 보면 시스템 클락을 설정할 수 있는데, 이 부분 설정을 바꾸면 특정 프로그램 혹은 게임에서는 시간이 실제 시간과 다르게 동작하는 일부 프로그램을 볼 수 있는데, 이 프로그램들의 정체가 바로 특정 컴퓨터의 환경에서만 맞춰서 만들어진 프로그램들입니다. 그래서 타임 함수처리를 해도 클럭 차이가 나서 시간 차이가 생깁니다. 이때 당시의 프로그램들 중에는 이런 프로그램들이 상당히 많습니다. C 라이브러리를 어떤 걸 쓰느냐에 따라서도 여러 C가 존재했기 때문에, 그 언어들에 따라서도 라이브러리 내부 구현이 다른 것도 한 몫을 하죠.

요즘은 거의 신경 쓸 일도 아니기 때문에 그냥 넘어가는 경우가 많은데, 아직도 저사양 환경용 특수 목적 운영체제 개발하는 사람들은 클럭 컨트롤에 관해서 예전에 여러모로 있었던 일들이기 때문에 은근 민감하게 반응하는 편입니다. 그래서 터보모드라는 것이 은근 골때리게 알려진 것들도 많고, 이상하게 이해하는 것도 많죠.

오래전 컴퓨터들이 CPU 속도 조절과 관련되어 어떤 작업 형식을 이용하고 했는지는 오래된 운영체제 개발 문서들을 찾아보면 많이 나와있는 편입니다. The Linux Kernel의 맨 초창기 버전, 즉 리눅스 0.1 시절의 문서만 보더라도 이에 해당하는 이야기가 나와있는 편이므로 이해하는 데 있어서 어려움은 없을 것으로 보입니다. 근데 그정도 시절의 문서면 지금은 안쓰인다는 거죠.

게다가 이게 386, 486 때에는 그냥 관행적으로 넣은 기술이기 때문에 그닥 영향 자체가 있나를 물으면 미묘한 시기였고, 그 당시 업데이트 된 운영체제들은 클럭수가 무어의 법칙에 따라서 열심히 미친듯이 오르던 시기를 겪어야 했기 때문에 어느 정도의 대응을 하여 라이브러리들을 새로 짜서 썼기 때문에 “아, 이렇게 업데이트 되었구나” 까지만 알아도 좋을 꺼라고 생각됩니다.

다들 열공하죠. ㅇㅅㅇ/

Advertisements

바이오, CloudReady를 버리고 윈도우 10을 업다.

맨 처음에는 윈도우 8을 가지고 있었고, 작업을 위해 Xubuntu를 설치했었고, 그리고 호기심에 CloudReady를 설치했고, 이제 다시 윈도우 10으로 돌리는 내 바이오…ㅇㅅㅇ

20161206_102946552_ios

성능이 좋은 녀석도 아니다. 11인치에 AMD APU-E다. 샐러론 수준이다. 램 좀 늘려서 8G에 스스디 500GB 있는 게 장점이랄까..?

이런 성능도 좋지 않은 노트북으로 대체 뭘 하고 싶어서 계속 사용하느냐고 생각한다면…. 걍 일반적인 PC 기능에 가벼운 코드 보고 하는 정도이다. 3D 게임 만들고 하는 건 무리고…(전에 해봤다..)

하지만, 이런 낮은 사양을 사용하다 보면 확실히 느껴진다. 요즘 나오는 운영체제들은 점점 가벼워지고 있다는 걸…

그래서 아까 이 블로그에 Light-weight라는 글 쓰면서 이것저것 가벼워지고 있는 것에 대해서 생각해봤고…

데스크탑 환경이 xfce인 xubuntu도 적절히 최적화 되어 조금 더 가볍게 쓸 수 있어진다는 걸 이 노트북이 가르쳐줬고, 윈도우도 점점 버전 업 되면서 가볍게 사용할 수 있는 운영체제게 되고 있다는 걸 가르쳐준 것도 이 노트북이다.

당분간 윈도우 10으로 고생 좀 해봐라, 바이오. ㅇㅅㅇ

Light-weight

모바일 장치의 성능이 늘었다. 작업을 위해 웹을 주로 이용하는 경우가 증가했다. 씬 클라이언트들이 증가하고 있다. 기존의 프로그램들도 점점 가벼운 프로그램으로 바뀌고 있다. 기능이 많아지면 버려지는 프로그램들도 증가하고 있다. (프로그램의 많은 기능들을 전부 플러그인화 하여 원하는 것들만 설치해서 사용하는 것이라고 보면 쉬울 것이다.)

이것들은 이제 작은 작업에 대해서는 굳이 사양을 따질 필요가 없어지는 것이라고 봐도 될 정도이다. 아직 멀었다고 할 만한 환경들도 많지만 실제로 이용하는 데 있어서의 환경들은 눈에 잘 보이지 않는 환경으로 바뀌고 있고, 점점 가벼운 환경을 원하고 있다. 일단 운영체제부터 많이 가벼워지는 생각이 많이 든다. 사람들이 많이 이용하는 윈도우도 가벼워지고 있고, 맥도 점점 연결하려고 하는 것들에 비해서 약간씩 가볍게 하려는 것이 보인다. (근데 진짜 잘 안보이는 부분에서 작업하고 있다. ㅡㅅㅡ)

다만, 응용 프로그램들의 연구들은 반대로 무거워지는 경우가 많이 보이고 있다. 사실 표현하려고 하는 기능들이나 요즘 유행하는 응용 프로그램들이 점점 고기능의 연산을 하여 무거워지는 것이지, 처리해야 하는 로직이 무겁고 스파게티화 되어있고 한 수준이 아니기 때문에 별 신경 안쓰는 걸지도 모르겠지만… 그런 코드들도 기존의 프로그램들과 같이 무거워지고 꼬일 것이다.이전에 있던 프로그램들도 그 당시에는 잘 만들 것들로 시작했지만 기능이 늘면서 여러모로 꼬이고 꼬인 것이니….

이 제목에 대해서는 지금 잠시 잡소리 같이 되었지만… 중요하게 생각해야 할 문제일지도 모른다. 기회 되면 또 생각해봐야지….