예전에 OS개발30일프로젝트 책보고 어느정도 진행하다가 커서띄우기?까지인가 하다가 말았던적이 있다.
os만들길할까 언어만들기해볼까 고민하다가
가장 생각없이 할수있을것같은 책이어서 이 책을 진행해보려고함.
근데 이 책이 15년도 전에 나온 책이라 자료들링크가 안된다.
이 링크에 들어가도 안나오는데
http://www.zob.ne.jp/~c.mos/soft/bz.html
다행이 우리나라분이 따로블로그에 파일올려둠
https://m.blog.naver.com/websearch/70029495287
바이너리 에디터 (2진수 편집기)
"OS구조와 원리" 란 책을 읽다가 알게된 프로그램인데 바이너리 파일 작성 및 수정에 좋은 프로그램인 것...
blog.naver.com
나도 백업삼아서 여기다 추가로도올림
바이너리 헥스 에디터인데
키보드입력하면 좌측에는 헥스값이 우측에는 실제값이 나온다.
숫자 1 하면 31
0은 30
a는 61
b는 62식으로 찍힘
다시 돌아와서 책이 시키느데로 다시찍어보자
일단 000037까지 적긴했는데
90이후부터 168000까지 0누르면된다고한다.
그러면 37~90까진 뭘까?
별 내용이없으니 그냥 복붙으로 168000까지내려왓다.
중간에 0001F0과 001400에 00을하면안된다고해서 그부분들좀 고쳐주자
뭔진모르겟지만 디스크이미지를 만들었다!
설명대로 크기는 1,474,560 바이트(1440 x1024)
이름은 helloos.img로 저장
원래같으면 플로피디스크에다가 이걸 넣어서 부팅시켜 확인해야하는데 플로피디스켓이 없다.
예전에 내가 어떻게 했나 다시보면
https://throwexception.tistory.com/628
os만들기 - 2. 에뮬레이터에서 돌리기 삽질기 feat.msys
자료에서보면 boshs에 방금 만든 이미지를 돌리더라 바로 돌릴수 있는줄 알고 해봤지만 - 부팅가능한 이미지가 아니라고 아무것도 뜨지 않는다. 다시 잘보니 toolset으로 부팅 가능 이미지로 만들
throwexception.tistory.com
대충 이 사람이 만든걸 썻던것같다.
https://github.com/fakefish/OSASK/tree/master
GitHub - fakefish/OSASK: 30天自制操作系统的学习
30天自制操作系统的学习. Contribute to fakefish/OSASK development by creating an account on GitHub.
github.com
위 깃헙 파일 tolset 폴더에
helloos0 폴더만들고 내가 만든 이미지 복사
z_new_w에 있는 cons_9x와 cons_nt.bat 가져오고
install.bat과 run.bat 작성
cons_nt.bat 실행후 run 명령을 주면
qemu가 돌아가는데 이미지를 잘못 만들었는지 not a bootable disk가 뜬다.
내가 뭘 잘못했는가 이해가안갓는데
위에서 아까 안쓴부분이 문제인것같았다.
다행이 이전에 내가 뭘보고 만든건진 모르겟지만 전체 작성한 기록이 있어서 참고해서 따라만듬
https://throwexception.tistory.com/629
os만들기 - 3. 글자찍히는 부팅가능한 바이너리 이미지 만들기
os만들기 - 2에서 한 모든 일들은 다 쓸모없는 짓이었다. 나중에 다시보니 지금 하는 바이너리 파일 만드는건 모든 바이너리 코드들을 내 마음대로가 아니라 똑같이 만들어야 부팅가능한 이미지
throwexception.tistory.com
다행이 이전 링크에 내가 처음 만든 이미지파일도 올려놔서 따라서 보고 뭐가 문젠지 찾아 고ㅕ쳤다.
바이너리 에디터로 부팅하는 이미지 만듦
'컴퓨터과학 > os' 카테고리의 다른 글
OS30 - 3. 어셈블리 다루기 (0) | 2024.04.05 |
---|---|
OS30 - 2. 어셈블리 시작 (0) | 2024.04.04 |
navilos - 19. 동기화 (0) | 2022.08.25 |
navilos - 18. 메시징 (0) | 2022.08.25 |
navilos - 17. 이벤트 2 : 사용자 정의 이벤트, 여러 이벤트 동시 처리 (0) | 2022.08.25 |