컴퓨터하나로 달랑 시작하려고 할 때

wacom의 이미지

천재 프로그래머인 여러분은 올드보이처럼 감금되어 있습니다.
여러분 앞에 요즘 보통의 pc가 놓여져 있습니다. 전화선이 연결되어 있는 걸 보니 통신이 되는 모양입니다. 이메일로 자신의 상황을 알려야 합니다.
컴퓨터에 전원을 넣으니 부팅이 안됩니다. 이 때 문 틈으로 3.5 인치 디스켓하나가 던져지면서 '여기서부터 시작해라' 라고 들립니다.
그 안에 무엇만 있으면 이메일을 보낼 수 있을까요? 물론 이메일 프로그램은
아니겠죠? 범인은 가장 시간이 오래 걸리게 그렇지만 가능하게, 무엇을 넣었다면, 그게 뭐가 될까요?

Necromancer의 이미지

천재라는 가정하에 말한다면

디스켓 안에 hex 에디터만 있어도 가능하죠.
hex editor로 email 발송 프로그램 하나 짜고 그걸로 보내야죠.
코딩은 기계어로
물론 발송프로그램 안에 통신 드라이버나 키보드입력같은 거 다 있어야 하는거
아시죠. os가 없다는 가정하에서입니다. (hex 에디터도 os없이 돌아가는 걸로
가정합니다)

시간 막 걸리겠군요.

Written By the Black Knight of Destruction

버려진의 이미지

저라면...

디스켓으로 벽을 파겠습니다. :D

(농담인거 아시죠? ^^)

fibonacci의 이미지

누구를 가두실꺼죠?

No Pain, No Gain.

아빠곰의 이미지

ㅎㅎㅎ watcom님은 뭔가 무서운 계획을 갖고 계신가 봅니다.
부디 그 계획의 대상이 제가 아니길 바랄 뿐입니다. 전 hex 에디터 같은건 쓸줄도 모른다구요;;
----
아발발다빠따반반나다발딸발발다빠따따맣밤밤따받따발발다따밝다발발다빠따따밤반다빠따다맣밥발
발다따밥다발발다따박다발발다빠따따밞밭밭다따다맣아희

----
아발발다빠따반반나다발딸발발다빠따따맣밤밤따받따발발다따밝다발발다빠따따밤반다빠따다맣밥발
발다따밥다발발다따박다발발다빠따따밞밭밭다따다맣아희

wacom의 이미지

통신드라이버나 키보드 입력도 hex 로 되있으니,
넣어줄 필요가 없잖아요.

oprsystem의 이미지

일단 기계어로 assembler 를 만들겠습니다.
그다음에 그 assembler 로
C 컴파일러랑 링커를 만들고

참 그전에 로더부터..
중얼 중얼..

T.T

황혼보다 어두운 자여
내 몸에 흐르는 피보다 더 붉은 자여
시간의 흐름 속에 파뭍힌 위대한 그대의 이름을 걸고 나 여기서 어둠에 맹세하노라
우리 앞을 가로막고 있는 모든 어리석은 자 들에게
나와 그대의 힘을
위대한 파멸의 힘을 보여줄 것을

fat81의 이미지

가장 쉬운 방법일 수 있겠지만..
디스켓 한장에 들어갈 수 있는 리눅스(ex:coyote linux) 가 들어있으면 좋겠네요.. ^^

wacom의 이미지

기계어를 알고 있더라도 어떻게 디스켓에 옮길지, 그리고
실행은 어떻게 할지.. 그걸 해주는 최소한의 무언가는?

myueho의 이미지

전화선이 연결되어 있으므로 컴퓨터를 뜯어 전화기를 만들겠습니다.

ddt의 이미지

먹여주고 재워주는데, 그냥 거기 살면서 해킹하며 산다.

wacom의 이미지

해킹도 컴퓨터를 작동시킬수 있어야 되잖아요. 그래야 리누스처럼
집에 틀어 앉아 자기os도 만들고 컴파일러도 만들고 하죠.
맨처음에 뭐가 있어야 그런 것들을 하나씩 만들수 있는 걸까요?

angpoo의 이미지

112로 죽어라 전화해대면 언젠가 위치추적해서 찾아오겠죠.

도스만 깔려있어도 echo atdt112 > com1하면 됐었던듯.

그러다 괜히 전화한거 틀켜서 컴만 뺐기려나...

fibonacci의 이미지

부팅되는 도스 디스켓에 아주작은 전화접속 터미널 프로그램 하나 넣어주는 정도면 좋겠네요.. 아주 간단한 텍스트 에디터 하나랑..

No Pain, No Gain.

wacom의 이미지

os가 꼭 들어가야 될까요? 더 어럽게 할 수 있잖아요.
예를 들어 조건이

1. 윈도가 깔린 컴퓨터
2. 윈도 시디가 포함된 컴퓨터
3. 윈도 소스코드가 들어있는 컴퓨터

이렇게 되어 있으면 범인으로서는 당연히 어려운 3번을 택하겠죠.
하지만 더 어렵게도 할 수 있잖아요. 위엣 분 처럼 도스 부팅디스켓이랑
텍스트 에디터만 줄 수도 있잖아요. 도스든 뭐든 os가 있다는 것만으로도 하드웨어 제어가 직접가능하니 천재 프로그래머라면 한달이든 1년이든 뭐든 만들수 있겠죠. 시간이 문제가 아니라 하드웨어와 사용자간의 입력과 출력이라는 물꼬를 트기 위해선 맨처음 무엇부터 시작되야하나 하는 거죠.

skydancer의 이미지

그 안에 들어가 있는 인간이 천재라니까 납땜 용구만 던져주면 어떻게 하지 않을까요? 디스켓씩이나 필요 있을려나..

웃어요^,.^;

gurugio의 이미지

저라면 ..

디스크에 MASM 패키지만 있다면

그리고 헥사 입력을 위한 에디터나 debug.exe가 있다면

.. 어느정도 작업을 시작할 수 있을것 같기도합니다.

컴퓨터가 386호환이라는 가정에서 입니다.

근데 모뎀을 제어할줄 몰라요.

문서를 찾아봐야하는데 그럴 수가 없다면 말짱 꽝이죠 뭐..

ejungw의 이미지

Quote:

컴퓨터가 386호환이라는 가정에서 입니다.

근데 모뎀을 제어할줄 몰라요.

윗분 말씀하신것 처럼

만약.. 내부 구조를 전혀 모르는 컴퓨터와 운영체제이고 (외계인이 쓰는.. ^^a)

그것에 대해 설명이 되어있는 어떠한 자료도 없다면

그래도 이메일로 구조요청을 할 수 있을까요..??

snowall의 이미지

외계인에게 신호를 보내면 SETI 프로젝트에서 알고 찾아올지도...:)
--------------------------
snowall의 블로그입니다.
http://snowall.tistory.com

피할 수 있을때 즐겨라! http://melotopia.net/b

sugarlessgirl의 이미지

구글은 사용할 수 있어야 해요.. -_-;;

jachin의 이미지

흠... 롬라이팅이 가능하지도 않고, 달랑 PC 한대라...

최소한의 운영체제가 있어야 하겠는걸요.

PC 사양이 다르지만, 386 PC라고 가정한다면,

1.44 MB에 들어가는 OS는 역시 DOS... -_-a 긁적

개발환경 또한 있어야 하니, PCtools나 있으면 Hex Editor로 간단한 바이너리 파일은 제작할 수 있겠죠.

그러기 전에 x86 인스트럭션 셋에 대한 내용, CPU Core에 대한 내용, PC 버스에 대한 내용... (ISA겠죠?)

이건 숙지하고 있다는 가정하에...

Driver를 제작해서 DOS에서 통신프로그램을 만드려면,

모뎀의 사양도 알아야 하겠죠...

( ' ')a 그럼 정말 가능할지도 몰라요... 하지만 지금의 저에겐 불가능하겠죠... ( T T)

차리서의 이미지

wacom wrote:
천재 프로그래머인 여러분은 올드보이처럼 감금되어 있습니다.
여러분 앞에 요즘 보통의 pc가 놓여져 있습니다. 전화선이 연결되어 있는 걸 보니 통신이 되는 모양입니다. 이메일로 자신의 상황을 알려야 합니다.
컴퓨터에 전원을 넣으니 부팅이 안됩니다. 이 때 문 틈으로 3.5 인치 디스켓하나가 던져지면서 '여기서부터 시작해라' 라고 들립니다.
그 안에 무엇만 있으면 이메일을 보낼 수 있을까요? 물론 이메일 프로그램은
아니겠죠? 범인은 가장 시간이 오래 걸리게 그렇지만 가능하게, 무엇을 넣었다면, 그게 뭐가 될까요?

저는 전혀 천재가 아니라서 평생 걸려도 이메일을 보내지 못합니다만, 굳이 이메일을 보내야만 할 것 같지는 않습니다:
  1. 전화선을 모뎀으로부터 뽑아낸다.
  2. (optional) 아예 전화선 피복을 1인치 정도 벗겨서 가닥가닥 분리해두면 더 편하다.
  3. 컴퓨터에서 파워 서플라이를 떼어낸다.
  4. 파워 서플라이의 출력 전원선들 중 아무거나 하나를 골라 피복을 벗겨두고 파워 서플라이에 전원을 연결한다.
  5. 파워 서플라이에서 나오는 전류를 아까 준비한 전화선에 "··· ――― ···" 박자로 마구마구 흘려보낸다.
  6. 전화국에서 항의하러 달려올 때까지 5번 과정을 계속 반복한다.
게다가, 어디서 줏어들은 불확실한 얘기긴 하지만 간혹 '모뎀' 중에는 tone/pulse 조절 점퍼나 스위치가 있는 물건도 있다더군요. 모뎀만 컴퓨터에서 분리해서 (아마도 파워조차 필요 없지 않을까 싶군요) pulse로 맞춰놓고 hook-on 신호와 "딱! 딱! 따닥!"이라는 음성 신호(즉, 112)만 모뎀에 어떻게든 흘려넣을 수 있으면 되지 않을까 생각합니다. 저라면 이메일 전송보다는 차라리 이쪽을 시도하겠습니다. (이런걸 '무식하면 손·발이 고생'이라고 하는거군요.)[/]

--
자본주의, 자유민주주의 사회에서는 결국 자유마저 돈으로 사야하나보다.
사줄테니 제발 팔기나 해다오. 아직 내가 "사겠다"고 말하는 동안에 말이다!

offree의 이미지

디스켓 안에는 텍스트 파일이 하나 있습니다.

그리고, 그 내용은

"인내심"

앗! 조크 아닌가요? .... ^^

ps. 괜히 안된다고 열받아서 PC 부수고 하면 말짱 도루묵 이 되지요.

사용자가 바꾸어 나가자!!

= about me =
http://wiki.kldp.org/wiki.php/offree , DeVlog , google talk : offree at gmail.com

chunsj의 이미지

이 의견에 한표, 또는 주어진 컴퓨터가 우리가 흔히 요즘 보는 PC라면,
전화기를 만드는 것이 훨씬 낫겠습니다.

그리고 주어진 조건에서 천재일 뿐만 아니라 타이핑 능력도 대단해야
되겠군요. 아니면 프로그램 타이핑하다가 죽을 수도...

또 생각을 계속하다 보니, 만약 롬이 요즘 컴퓨터 처럼 수정 가능하다면
디스켓을 이용하느니 그 놈을 직접 수정할 수 있는 프로그램을 만드는 것이
훨신 낫겠네요. 다시 그걸로 전화를... -_-;

그리고 제가 생각하는 천재가 맞다면, 이런 짓을 하는데 머리를 쓰느니
그놈을 직접 조지는 방법을 강구할 것 같습니다.

차리서 wrote:
wacom wrote:
천재 프로그래머인 여러분은 올드보이처럼 감금되어 있습니다.
여러분 앞에 요즘 보통의 pc가 놓여져 있습니다. 전화선이 연결되어 있는 걸 보니 통신이 되는 모양입니다. 이메일로 자신의 상황을 알려야 합니다.
컴퓨터에 전원을 넣으니 부팅이 안됩니다. 이 때 문 틈으로 3.5 인치 디스켓하나가 던져지면서 '여기서부터 시작해라' 라고 들립니다.
그 안에 무엇만 있으면 이메일을 보낼 수 있을까요? 물론 이메일 프로그램은
아니겠죠? 범인은 가장 시간이 오래 걸리게 그렇지만 가능하게, 무엇을 넣었다면, 그게 뭐가 될까요?

저는 전혀 천재가 아니라서 평생 걸려도 이메일을 보내지 못합니다만, 굳이 이메일을 보내야만 할 것 같지는 않습니다:
  1. 전화선을 모뎀으로부터 뽑아낸다.
  2. (optional) 아예 전화선 피복을 1인치 정도 벗겨서 가닥가닥 분리해두면 더 편하다.
  3. 컴퓨터에서 파워 서플라이를 떼어낸다.
  4. 파워 서플라이의 출력 전원선들 중 아무거나 하나를 골라 피복을 벗겨두고 파워 서플라이에 전원을 연결한다.
  5. 파워 서플라이에서 나오는 전류를 아까 준비한 전화선에 "··· ――― ···" 박자로 마구마구 흘려보낸다.
  6. 전화국에서 항의하러 달려올 때까지 5번 과정을 계속 반복한다.
게다가, 어디서 줏어들은 불확실한 얘기긴 하지만 간혹 '모뎀' 중에는 tone/pulse 조절 점퍼나 스위치가 있는 물건도 있다더군요. 모뎀만 컴퓨터에서 분리해서 (아마도 파워조차 필요 없지 않을까 싶군요) pulse로 맞춰놓고 hook-on 신호와 "딱! 딱! 따닥!"이라는 음성 신호(즉, 112)만 모뎀에 어떻게든 흘려넣을 수 있으면 되지 않을까 생각합니다. 저라면 이메일 전송보다는 차라리 이쪽을 시도하겠습니다. (이런걸 '무식하면 손·발이 고생'이라고 하는거군요.)
[/]
Stand Alone Complex의 이미지

도스가 있고

TCP/IP가 된다면 도스용 웹브라이져 아라크네만 있으면되고요.

리눅스라면 Lynx

만약 모뎀이라면 이야기가 있으면되겠네요..

RET ;My life :P

ihavnoid의 이미지

DOS에 edlin만 있으면 일단 어셈코딩은 가능하겠죠.
그렇지만 도스가 된다면 그냥 echo와 pipe를 열심히 쓰겠습니다.

ps : 저 같으면 좀 더 난이도를 높이기 위해서, Linux에 X까지 설치된 컴퓨터를 주되, TCP/IP 스택을 커널에서 빼버리고, 랜카드를 안 주겠습니다. FPGA에 직접 구현하라고 FPGA 개발 키트를 주고요.. 호호.

Ethernet + PCI 인터페이스 HW + TCP/IP 스택까지 짜려면 얼마나 걸릴까요.

Consider the ravens: for they neither sow nor reap; which neither have storehouse nor barn; and God feedeth them: how much more are ye better than the fowls?
Luke 12:24

orangecrs의 이미지

Quote:
컴퓨터에 전원을 넣으니 부팅이 안됩니다.

다들 속으셨습니다. 코드가 뽑혀있었습니다.
코드꼽고 전원넣으니 윈도가 뜨네요...
3.5인치 디스켓은 확인해 보니 던져줄때
심하게 던졌는지 엄청배드가 나서 읽혀지지도 않는군요...

---------------------------------------------------
야!...

wacom의 이미지

여러분들은 그런 생각안해보셨나요?
어떻게 이런걸 만들었을까라구요. c 컴파일러만 있으면 어떤 프로그램이든지 만들 수 있잖아요. 그런점에서 c를 만든 사람에게 일종의 빚을 지고 있는셈이죠. c컴파일러는 어셈블러나 다른걸로 만들어졌잖아요. c는 그것에 빚을 지고 있구요. 그런 식으로 계속가다 보면 처음에 준 기계어가 있지 않을까요?

요새 pc야 워낙 잘 만들어져서, 그런 복잡한 생각을 안하게 되지만 초기 컴퓨터만 해도 천공카드 이런 걸로 대화 했잔아요. 물론 인간이 미리 만든 하드웨어틀 속에서요

제 생각엔 pc 롬 자신이 각종 하드웨어 정보를 읽고, 최초로 자기가 아닌
외부 디스크(사람)에 정보를 요구하는 그 순간에, 통신이 이루어지게 되고 그때 뭐라고 답하느냐에 따라 대화를 계속할지, "invalid system disk" 에러를 말할지 결정되는 거라 생각합니다. 그럴려면 mbr 에 가장 기본적인 대화가 저장되어 있어야될꺼라 생각합니다. 그리고 그 대화를 지속시키고 확장할수 있는(os 까지 만들수 있는) 부가 명령어들이 있어야 겠죠. 근데 여러분중에 mbr 얘기하시는 분이 없네요.
무슨 무슨 프로그램만 있으면 된다고 하시는데, 누가 복사해주지 않는 이상
그걸 직접 만들어야 되는데, 그걸 만들 최소한의 조건이 머냐는 것이죠.

범인은 정말 매정한 사람이라는 걸 다시 강조합니다.^^

lsj0713의 이미지

디스크에 자석 대고 직접 기록할 수는 없는 노릇이니, 최소한 디스크에 데이터를 저장하고 수정할 수 있는 방법은 제공을 해야죠. 따라서 최소한 디스크 모든 영역에 대해서 읽고 쓰기를 할 수 있는 헥사 에디터 정도는 제공을 합니다. 그래야 프로그래밍이고 뭐고 가능하죠. 메모리에 자기가 만든 프로그램을 로딩할 방법이 없다면 뭘 하겠습니까?

아님 옛날처럼 롬베이직 달린 놈이던가... 게임기로 쓰였던(...) 8비트 MSX는 전원 키면 베이직이 바로 떴습니다.

예전에 잡지 광고에 보니까 어셈 교육용 보드라고 계산기처럼 생긴 놈이 있던데, 계산기처럼 생긴 콘솔이 달려 있더군요. 하다못해 그정도는 제공을 해 줘야 합니다. 종이와 연필도 필수 :-)

물론, 초천재라 x86 어셈 명령어와 인터럽트 리스트, 그밖에 모뎀 제어 방법을 모조리 외우고 있다는 가정 하에-_-;

alwaysN00b의 이미지

차리서 wrote:
wacom wrote:
천재 프로그래머인 여러분은 올드보이처럼 감금되어 있습니다.
여러분 앞에 요즘 보통의 pc가 놓여져 있습니다. 전화선이 연결되어 있는 걸 보니 통신이 되는 모양입니다. 이메일로 자신의 상황을 알려야 합니다.
컴퓨터에 전원을 넣으니 부팅이 안됩니다. 이 때 문 틈으로 3.5 인치 디스켓하나가 던져지면서 '여기서부터 시작해라' 라고 들립니다.
그 안에 무엇만 있으면 이메일을 보낼 수 있을까요? 물론 이메일 프로그램은
아니겠죠? 범인은 가장 시간이 오래 걸리게 그렇지만 가능하게, 무엇을 넣었다면, 그게 뭐가 될까요?

저는 전혀 천재가 아니라서 평생 걸려도 이메일을 보내지 못합니다만, 굳이 이메일을 보내야만 할 것 같지는 않습니다:
  1. 전화선을 모뎀으로부터 뽑아낸다.
  2. (optional) 아예 전화선 피복을 1인치 정도 벗겨서 가닥가닥 분리해두면 더 편하다.
  3. 컴퓨터에서 파워 서플라이를 떼어낸다.
  4. 파워 서플라이의 출력 전원선들 중 아무거나 하나를 골라 피복을 벗겨두고 파워 서플라이에 전원을 연결한다.
  5. 파워 서플라이에서 나오는 전류를 아까 준비한 전화선에 "··· ――― ···" 박자로 마구마구 흘려보낸다.
  6. 전화국에서 항의하러 달려올 때까지 5번 과정을 계속 반복한다.
게다가, 어디서 줏어들은 불확실한 얘기긴 하지만 간혹 '모뎀' 중에는 tone/pulse 조절 점퍼나 스위치가 있는 물건도 있다더군요. 모뎀만 컴퓨터에서 분리해서 (아마도 파워조차 필요 없지 않을까 싶군요) pulse로 맞춰놓고 hook-on 신호와 "딱! 딱! 따닥!"이라는 음성 신호(즉, 112)만 모뎀에 어떻게든 흘려넣을 수 있으면 되지 않을까 생각합니다. 저라면 이메일 전송보다는 차라리 이쪽을 시도하겠습니다. (이런걸 '무식하면 손·발이 고생'이라고 하는거군요.)

추천입니다. ㅋㅋ

[/]

언제나 시작

alwaysN00b의 이미지

제가 범인이라면...

공디스켓을 주겠습니다.

ㅡ_ㅡ;;

제가 범인인데 탈출할수 있는 확률은 없에 버리겠습니다.

납치범으로 잡혀가긴 싫거든요. :D

언제나 시작

batmi의 이미지

그냥 저라면 암것도 안 하고 가만히 있을것 같네요...
ㅋㅋㅋㅋㅋ

.
마음을 가꾸는 방법은??

ㅡ,.ㅡ;;의 이미지

wacom wrote:
천재 프로그래머인 여러분은 올드보이처럼 감금되어 있습니다.
여러분 앞에 요즘 보통의 pc가 놓여져 있습니다. 전화선이 연결되어 있는 걸 보니 통신이 되는 모양입니다. 이메일로 자신의 상황을 알려야 합니다.
컴퓨터에 전원을 넣으니 부팅이 안됩니다. 이 때 문 틈으로 3.5 인치 디스켓하나가 던져지면서 '여기서부터 시작해라' 라고 들립니다.
그 안에 무엇만 있으면 이메일을 보낼 수 있을까요? 물론 이메일 프로그램은
아니겠죠? 범인은 가장 시간이 오래 걸리게 그렇지만 가능하게, 무엇을 넣었다면, 그게 뭐가 될까요?

전화선이 있고 통신이 된다면 굉장히 유리한 조건인데..
컴퓨터는 없어도 되겠네요..
전화선을 합선시켜 모르스신호를 보낼수도 있고
전화라인의 짧은 시간간격으로 연결차단을 반복하여 특정 전화번호로 전화를 거는것이 가능한걸로 압니다 119에 계속적인 전화질을 해대면 분명 찾아오겠죠..

고물컴푸타를 이용하자면 부품들을꺼내 전화기하나 만들죠머.
인두기가 없다면 인두기도 만들면됩니다. 케이스의 나사에다 절연체로 감싸고
전선을 감은후 5V 수준에 연결하면 타지 않을정도로 열이나겠죠


----------------------------------------------------------------------------

wacom의 이미지

제가 동기부여로 한 얘기가 오히려 주제가 된 것 같네요.
탈출하는 게 문제가 아니라, 컴퓨터를 어떻게 시작시키냐는 겁니다.
혼자가 아니라도 됩니다. 하드웨어 전문가, 어셈블러 전문가 다 있다고 칩시다.
컴퓨터 하나 달랑 있고 거기서 도스든 윈도든 뭐든 만들려면 최소한 뭐가
있어야 하냐입니다.

offree의 이미지

주제를 잘못 파악하고 있었군요.

주제는 탈출이 아니었습니다.

사용자가 바꾸어 나가자!!

= about me =
http://wiki.kldp.org/wiki.php/offree , DeVlog , google talk : offree at gmail.com

eou4의 이미지

주제와는 상관없지만
팩스를 보내는게 조금더 현실적이지 않나..생각들었습니다.
주제와 관련해서는..
아무래도 어셈블러,각종 문서(x86 arch,ISA,모뎀칩,프로토콜... )
문서용량만 디스켓으로는 벅찰듯....
지금보니..차라리 lynx와 같은 웹브라우져 만드는게 더 낳겠네요.. 구글도 가능하고 웹메일도 가능하니까^^

ㅎㅁㅎ

lsj0713의 이미지

아마도 wacom 님께서는 소프트웨어에 무슨 테크 트리라도 있다고 오해하시는 것 같군요. 그런거 없습니다. 기계어로 OS부터 텍스트 편집기, 어셈블러, 컴파일러... 뭐든지 '직접' 만들어 내는 것이 가능합니다. 물론 첨부터 gcc 라던가 리눅스, 윈도우즈는 무리입니다(불가능하다는 것이 아니라 많은 시간이 소요된다는 겁니다). 그러나 초기의 UNIX 커널, DOS, 간단한 에디터, 어셈블러 정도는 가능하며, 간단한 통신 프로그램이나 텔넷 프로그램 또한 가능합니다. 그렇다면 게임 끝입니다.

참고로 이메일을 보내는 프로그램을 만들기 위해서 반드시 OS가 있어야 되는 것은 아닙니다. OS는 단지 각 프로그램이 공통적으로 많이 사용할만한 기능들을 서비스로 제공할 뿐입니다. 만약 프로그램 자체에서 OS가 할 일을 다 처리할 수 있다면 따로 OS를 만들 필요가 없지요. 사실, 예전의 MS-DOS는 그래픽과 관련된 기능을 OS에서 지원하지 않았습니다. 그래픽 카드 관련 기능은 각각의 프로그램들이 자체적으로 처리했습니다.

"컴퓨터 하나 달랑 있고 거기서 도스든 뭐든 만들려면 최소한 뭐가 있어야 하는가?"

이것에 대한 답은 "어떤 방법이든간에, 어떻게든 메모리에 내가 만든 프로그램을 기록할 수 있는 도구"입니다. 폰 노이만형 컴퓨터는 원래 메모리에서 차례대로 기록된 코드를 읽어들여 그대로 실행하는 방식으로 작동합니다. 즉 내가 만든 프로그램을 돌리려면 무슨 수를 써서라도 메모리에 기록을 해야 됩니다. 단 우리가 쓰는 PC 같은 경우에는 디스크의 부트 레코드를 읽어들여서 그대로 실행을 하는 프로그램이 이미 내장되어 있으므로 메모리 대신에 디스크에 기록을 할 수 있는 도구라도 상관이 없겠죠. 그 도구는 프로그램일 수도 있고 아니면 디스크를 깎는(?) 정밀한 공작도구일수도 있습니다. 어쨌든 기록만 할 수 있으면 됩니다.

일단 그 도구가 있다면 다음과 같은 과정을 거쳐서 프로그램을 만들 수 있습니다.

1. 종이와 연필만을 가지고 pseudo 코드로 된 프로그램을 작성한다.
2. 기계어 메뉴얼을 가지고 pseudo 코드로 된 프로그램을 기계어로 사람이 번역한다.
3. 완성된 기계어 프로그램을 '도구'를 이용해서 메모리(혹은 디스크)에 그대로 기록한다.
4. 컴퓨터를 킨다. 그러면 메모리의 1번지부터 읽어들이면서 그대로 실행한다.

alwaysN00b의 이미지

wacom wrote:
os가 꼭 들어가야 될까요? 더 어럽게 할 수 있잖아요.
예를 들어 조건이

1. 윈도가 깔린 컴퓨터
2. 윈도 시디가 포함된 컴퓨터
3. 윈도 소스코드가 들어있는 컴퓨터

이렇게 되어 있으면 범인으로서는 당연히 어려운 3번을 택하겠죠.
하지만 더 어렵게도 할 수 있잖아요. 위엣 분 처럼 도스 부팅디스켓이랑
텍스트 에디터만 줄 수도 있잖아요. 도스든 뭐든 os가 있다는 것만으로도 하드웨어 제어가 직접가능하니 천재 프로그래머라면 한달이든 1년이든 뭐든 만들수 있겠죠. 시간이 문제가 아니라 하드웨어와 사용자간의 입력과 출력이라는 물꼬를 트기 위해선 맨처음 무엇부터 시작되야하나 하는 거죠.

흠.. 일반pc라는 기준을 정하기 힘드네요.
bios 에도 내용이 없나요? 하드디스크는 있나요?

lsj0713님 말씀을 추천. :D

언제나 시작

서지훈의 이미지

분해와 조립만 질릴때 까정...^^

<어떠한 역경에도 굴하지 않는 '하양 지훈'>

#include <com.h> <C2H5OH.h> <woman.h>
do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);

신승한의 이미지

디스켓을 집어여코, 모니터를 물끄러미 바라봅니다.
공중에 몸이 뜨는것이 느껴지고, 내가 컴퓨터 인지 컴퓨터가 나인지 구분이 모호한 그시점 까지 말이지요.

seoleda의 이미지

그런데, 올드보이에서 텔레비젼 대신 인터넷이 가능한 컴퓨터를 넣어 줬으면 영화가 어떻게 됐을까요?

thames의 이미지

고스톱;

아니 그냥 생각나서..;;


──────────────────────────────────

gurugio의 이미지

wacom 님께 정확히 말씀드리면

저는 지금 x86과 masm 패키지를 가지고 부트로더부터

몇가지 하드웨어 체크하는 기능과

C 언어로 메모리 관리하는 기능까지 구현했습니다.

만약 masm만 있다면 그걸로도 구현이 가능하지요. 시간 문제를 제외하면요.

따라서 x86 환경이고 모뎀 제어에 관한 지식만 있다면

디스크에 masm 패키지만 담아주면 가능합니다.

모뎀 제어는 해본적이 없어서 얼마나 걸릴지 모르겠지만

모뎀 제어를 위해 부팅부터 준비과정까지 만드는 것은 아마

2~3주면 될것 같습니다.

어떻게 보면 문제로 내신 비슷한 과정을

제 주위에 커널 공부하는 사람들은 겪고있다고 볼 수 있는것 같습니다.

컴파일러와 어셈블러, x86 머신만 있는 상황에서

뭔가를 만들어야하니까요.

이 개념이 발달하면 임베디드 개발도 되고 커널 공부도 되는것 같습니다.

wacom의 이미지

어떤 새로운 컴퓨터든 그것을 돌릴 소프트웨어를 그 컴퓨터만으로 만들 수
없는 것같습니다. 롬 부팅이든, 디스크 부팅이던간에요. 롬도 다른 하드웨어에서 만들었을테니까요. 똑같은 컴퓨터가 몇천대가 있어도 마찬가지 겠죠.
최신의 컴퓨터 부팅 디스크는 8비트 apple 컴퓨터에서도 만들 수 있겠지요.
최초로 만든 펜티엄 의 os는 분명 486에서 만들었을 겁니다. 왜냐하면 최초의 486은 386이나 그이하에서 만든 소프트웨어를 집어 넣었겠지요.

튜링기계라는 틀을 만들어 놓고 0 과1 이 쓰인 두루말이를 집어 넣을 때처럼
pc의 하드웨어적인 조건이 완전한 상태에서 그 컴퓨터만으로 이후의 소프트웨어를 만들어낼 최소한의 코드는 무엇일까요.

제가 왜 이런 질문을 하냐면 이런 상상이 들기 대문입니다.
4차 대전후 모든 것이 날아가버린 뒤 인간은 굴러다니는 pc 하드웨어들을 긁어모아 다시 문명을 일으킬려고 할때, 모든 데이타가 사라진 지금 무엇이 필요할까라는 상상입니다.

ㅡ,.ㅡ;;의 이미지

wacom wrote:
어떤 새로운 컴퓨터든 그것을 돌릴 소프트웨어를 그 컴퓨터만으로 만들 수
없는 것같습니다. 롬 부팅이든, 디스크 부팅이던간에요. 롬도 다른 하드웨어에서 만들었을테니까요. 똑같은 컴퓨터가 몇천대가 있어도 마찬가지 겠죠.
최신의 컴퓨터 부팅 디스크는 8비트 apple 컴퓨터에서도 만들 수 있겠지요.
최초로 만든 펜티엄 의 os는 분명 486에서 만들었을 겁니다. 왜냐하면 최초의 486은 386이나 그이하에서 만든 소프트웨어를 집어 넣었겠지요.

튜링기계라는 틀을 만들어 놓고 0 과1 이 쓰인 두루말이를 집어 넣을 때처럼
pc의 하드웨어적인 조건이 완전한 상태에서 그 컴퓨터만으로 이후의 소프트웨어를 만들어낼 최소한의 코드는 무엇일까요.

제가 왜 이런 질문을 하냐면 이런 상상이 들기 대문입니다.
4차 대전후 모든 것이 날아가버린 뒤 인간은 굴러다니는 pc 하드웨어들을 긁어모아 다시 문명을 일으킬려고 할때, 모든 데이타가 사라진 지금 무엇이 필요할까라는 상상입니다.


모든데이터 사라지지 않겠죠.. pc 긁어모아 정상적인부품들 조립해보면
기존프로그램들이 있겠죠
가상적으로 모든데이터가 사라졌다..면 무엇이 필요한가 모두다많으면많을수록좋다
그중에서도 중요하게필요한건무엇인가.. 의해는 부정
무엇이 어떻게 얼마나 파괴되었으며 무엇을 위해발전할것이며 어떻게 사용할것인가 새로운사회의 가치관은 무엇인가 등등등.....ㅡ,.ㅡ;; 에따라 수많은 답 X 수많은 것이 되는데 어찌 말할수 있을까요..


----------------------------------------------------------------------------

ysch0i의 이미지

seoleda wrote:
그런데, 올드보이에서 텔레비젼 대신 인터넷이 가능한 컴퓨터를 넣어 줬으면 영화가 어떻게 됐을까요?

딸의 미니홈피에 맨날 접속해거 글을 남겼을꺼 같습니다. -_-

이미 얼굴을 알고있으니 탈출?후 반갑게 재회만...

ps)

컴퓨터로 모뎀을 만들수있다면... 드라이버나 납땜 용구가 있다는건데,

그러면 그냥 올드보이처럼 드라이버로 구멍을 내서 나가는것도...

서명없어요.

codebank의 이미지

wacom wrote:
제가 왜 이런 질문을 하냐면 이런 상상이 들기 대문입니다.
4차 대전후 모든 것이 날아가버린 뒤 인간은 굴러다니는 pc 하드웨어들을 긁어모아 다시 문명을 일으킬려고 할때, 모든 데이타가 사라진 지금 무엇이 필요할까라는 상상입니다.

3차대전도 일어나지않았는데 4차 대전이라면...(전쟁은 절대 일어나면 안되겠죠.) :)

어쨌거나... 문명세계가 무너져버렸는데 PC가 과연 필요할까 생각이 드네요.
제가 생각할때 PC는 단지 필요한 것이지 절대적인것은 아닐거라는 생각입니다.
대전쟁이후 황폐화된 환경에서 사람이 PC를 가지고 무엇을 할 수 있을까요?
물론 먹을 것이 충분하고 PC를 이용해서 무언가를 해야만 하다면 그것을 이용할 뿐이지
만일 먹을거리가 없다면 당장중요한건 먹는걸 찾는것이라고 생각합니다.
당장 먹을거리가 어느정도 충족되면 다음은 미래를 위해서 씨앗을 구해야겠죠.
살아남은 가축들도 모아야하고 가축의 먹이도 먹여야하니 초원지대에 물이 흐르는
땅을 찾아서 그곳에 정착해서 가축도 키우고 논과 밭을 관리해야겠죠.

세계대전이후 만일 올드보이 형식으로 가둬두고 만두만 매일 준다면 저 같으면
지뢰찾기만들어서 그거나하고 있으렵니다. 만두 끊길때까지... :twisted:

------------------------------
좋은 하루 되세요.

vulpes의 이미지

아인슈타인이 이런 말을 했다죠. 세계 3차대전에서 뭘 가지고들 싸울지는 모르겠지만 세계 4차대전은 막대기랑 돌맹이를 가지고 싸울거라고 .ㅋㅋㅋ

--
"It's too bad that stupidity isn't painful" - Anton LaVey

밤여우 Tech: http://foxtech.tistory.com
트롤은 말려 죽입시다 - http://kldp.org/files/trollfreeKLDP.user_.js__0.txt

--
"It's too bad that stupidity isn't painful" - Anton LaVey

밤여우 Tech: http://foxtech.tistory.com
트롤은 말려 죽입시다 - http://kldp.org/files/trollfreeKLDP.user_.js__0.txt

vulpes의 이미지

실수로 두개 올려 버렸...,;;;

--
"It's too bad that stupidity isn't painful" - Anton LaVey

밤여우 Tech: http://foxtech.tistory.com
트롤은 말려 죽입시다 - http://kldp.org/files/trollfreeKLDP.user_.js__0.txt

Viz의 이미지

codebank wrote:
어쨌거나... 문명세계가 무너져버렸는데 PC가 과연 필요할까 생각이 드네요.
제가 생각할때 PC는 단지 필요한 것이지 절대적인것은 아닐거라는 생각입니다.

그래도 컴퓨터의 힘을 빌리면 수백년의 시간이 걸릴 것을 수십년 만에 복구할 수 있지 않을까요? 인류의 문명이란 것을...?

그러고 보니 얼마전까지는 거의 모든 기록 장치들이 전자기적인 기록방식을 가지고 있던터라 핵폭발시 수반되는 강력한 EMP에 의해 모든 데이터가 날라가 버릴거라는 말도 있었는데 CD나 DVD 같은 녀석은 오로지 광학적인 기록방식만을 가지니 녹아내리지만 않는다면 핵전쟁에서도 기록은 보존될 수 있을듯.. ;)

ps. 물론 강력한 EMP와 방사선은 정교한 CPU의 내부에 치명적인 피해를 주겠지만 TTL 같이 무식한 놈들은 무사할테니 컴퓨터를 다시 만들어 낼 수는 있겠지요. ^^

My Passion for the Vision!

viper9의 이미지

모니터와 본체를 들어던져서 갇힌 방문을 부셔버리겠습니다.

haze11의 이미지

ihavnoid wrote:

ps : 저 같으면 좀 더 난이도를 높이기 위해서, Linux에 X까지 설치된 컴퓨터를 주되, TCP/IP 스택을 커널에서 빼버리고, 랜카드를 안 주겠습니다. FPGA에 직접 구현하라고 FPGA 개발 키트를 주고요.. 호호.

Ethernet + PCI 인터페이스 HW + TCP/IP 스택까지 짜려면 얼마나 걸릴까요.


NIC 구현하려면 아날로그 회로도 필요합니다. FPGA는. ㅡ.ㅡa
아날로그 회로부분 포함되있는 FPGA 개발 키트겠죠?;;
이것도 재밌을거 같은데요? ^^

여튼 부팅되는 OS와 컴파일러만 있으면 되지 않을까요?

dgkim의 이미지

아주 간단하게 생각하면,

IDE(Integrated Development Environment)라고 부르는 개발환경이 들어있을 것 같습니다.

물론 IDE에는 개발에 활용할 수 있는 문서자료가 들어있을 것이고..

그러면, 당연히 프로그래머는 주어진 과제, 이메일 클라이언트를 개발할 것입니다.

jachin의 이미지

음... wacom님의 기분을 조금 이해할 수 있을것 같습니다.

저도 예전에(라고 하지만 꽤 오래전이죠. 중학교 때 였을 때였죠.) 최초의 프로그램은 어떻게 만들어졌을까 궁금했었습니다.

천공카드를 이용해서 수학 계산을 했다던 시절과 OMR 카드로 어셈블리 코딩을 했다던 얘기를 듣고 나서는,

최초의 프로그램에 대한 정의가 많이 모호했었습니다.

지금에 와서야 대부분의 입력장치가 키보드가 되고, BIOS가 기본 탑재되어있는 PC를 사용하기 때문에,

실감이 안 나지만, Sparc 기종의 Open Boot를 보면 웬지 알 수 있을것도 같은 느낌이 듭니다. ^^

지리즈의 이미지

http://bbs.kldp.org/viewtopic.php?t=13931

이 문서에 따르면,

플로피로만 부팅이 가능한 최소한의 커널
(단 loadable module support가 가능해야 함),
shell,cat 이렇게 세개만 있으면 가능할 겁니다.

/bin/ash
/bin/cat
/lib/libc.so.6(심볼릭 링크 무시)
/lib/ld-linux.so.2(심볼릭 링크 무시)
kernel

단 위의 용량 외로 작업공간이 필요한 관계로
1.44 한장으로는 부족하지 않을까 생각도 해봅니다.

아마 2~3년 쯤은 걸릴것 같군요. :?

There is no spoon. Neo from the Matrix 1999.

지리즈의 이미지

지리즈 wrote:
/bin/ash
/bin/cat
/lib/libc.so.6(심볼릭 링크 무시)
/lib/ld-linux.so.2(심볼릭 링크 무시)
kernel

생각해 보니,
/dev/fd0
/dev/console 등과 같은 몇몇 케릭터 디바이스도 필요하겠 군요.

There is no spoon. Neo from the Matrix 1999.

Darkcircle의 이미지

전화선의 피복을 벗겨서 전화도선을 노출시키고 이 두가닥을 돼지코꾸녕 . . . =_=; 코 . . 콘센트에 집어넣는다 .

원상태로 복귀시킨다음 원래 고장나 있었다고 뻥친다 -_-/ 귀차내~ ㅋㅋㅋ

---------------------------------------------------------------
폐인이 되자 (/ㅂ/)

silasoni의 이미지

댓글들이 정말 ㅎㅎㅎ

Jun92의 이미지

15년동안 만두만 얻어먹고 살다가
나온 다음에 복수할꺼에요.

=============================
야후!