이전 셋업 포스트 --- 2017/06/01 - [OS] - 64Bit OS(Operating System, 운영체제) 만들어 보기 - 1 셋업 일반적으로 사용하는 인텔 64 비트 프로세서는 5가지의 운영 모드가 있는데각각 리얼모드 , 보호모드, IA-32e 모드 그리고 시스템 관리 모드 가상 8086 모드가 존재 하고 있습니다.운영 모드 설명 리얼 모드 프로세서의 초기 상태로 16비트 모드로 동작하여 8086프로세서와 호환되는 모드최대 1MB의 주소 공간을 지원 보호 모드 32 비트 모드로 동작하며 세그먼트, 페이징 , 보호, 멀티 태스킹등의 기능을 제공하는 모드4GB의 주소 공간을 지원 IA-32e 모드 32비트 호환모드와 64비트 모드의 두 가지 서브모드로 구성16EB의 주소 공간을 지원 시스템 관..
오늘 부터 64비트 운영체제 만들어 보겠습니다.프로그래밍을 하다보면 한 번쯤은 운영체제를 만들어 보고 싶다! 라고 생각하신분이 있을꺼라고 생각합니다... 아니면 말고요 게임고의 OS 연구회로써 OS의 기초 상식들은 공부했으나 실제로 제대로 만들어 본적은 없습니다.그래서 선배들에게 추천받은 책인을 구매해서 공부를 하기로 했습니다.사진에서 보면 1 이라고 적혀 있는데 1권과 2 권으로 나뉘어진 책이고 1권 가격만 4만5천원가량에 1600페이지에 육박합니다..!그만큼 64비트 OS가 해야할 내용이 많다는 것이겠지요. 그럼 서론을 벗어나서 OS 개발을 위한 기본 셋업을 하도록 하겠습니다.제 컴퓨터 윈도우 10 64 비트를 기준으로 셋팅을 하겠습니다. 책에서는 Cygwin을 이용해 윈도우에서 리눅스에서 사용하는 ..
거의 10일만의 포스팅 인데 10일동안 중간고사도 있었고 시험이 끝나자 마자 컴퓨터를 포맷해줬더니 꽤나 깔끔해졌네요. 이 포스팅은 Qt Creator 를 설치 하는 방법입니다. Qt Creator는 Qt 프레임워크를 좀더 편하게(?) 사용해주는 툴 입니다. Visual Studio 정도 까지는 아니지만 꽤나 여러 기능은 있는 툴입니다. 여기서 또 Qt 프레임워크는 무엇이냐 하면 컴퓨터 또는 모바일 GUI 애플리케이션 개발에 널리 쓰이는 크로스 플랫폼 프레임워크 입니다. 그럼 Qt Creator를 설치하기 위해 Qt 사이트에 접속을 합니다. https://www.qt.io/download/ 그러면 여러가지 질문을 던지는데 그 질문에 따라 어떤 라이선스를 줄건지 정합니다. 저는 공부, 오픈소스 프로그램을 만..
자료구조 교과 전공시간의 수행평가인 이중 연결 리스트 만들기를 하였다. 연결 리스트는 각각의 노드에 다음 노드의 포인터가 들어 있어 차례로 접근이 가능한 자료 구조이다. 이중 연결 리스트는 다음 노드의 포인터 뿐만 아니라 전 노드의 포인터도 가리키고 있는 구조 이다. 다음과 같이 각각의 주황색 블럭을 노드라고 하면 각 노드에 Next(다음 노드의 포인터)와 Prev(전 노드의 포인터)가 있고 가운데에 Data가 있다. 일반 연결 리스트와 달리 전 노드를 가리키는 포인터도 가지고 있으므로 Head 에서 부터 Tail까지의 순회가 아닌 Tail부터에서 Head까지의 역 순회도 가능하다. 프로그래머가 원한다면 위 사진처럼 굳이 head와 tail 즉 처음과 끝을 가리키는 노드(더미)가 둘 다 없고 하나만 있어..
DXUT를 사용 하는 방법에 대해 알아 보겠습니다.Directx SDK 가 설치 되어 있고Visual Studio 15 버전 이상 기준으로 설명 하겠습니다. 실행창에 Sample Browser을 검색해 DirectX Sample Browser 을 실행합니다.상단에 검색 창에 EmptyProject를 검색하고 Install Project를 클릭 합니다.프로젝트 이름과 경로를 지정 합니다.만들어진 프로젝트 폴더를 들어가서 솔루션을 실행 시킨후 컴파일을 하면 이런 에러가 뜹니다.에러를 더블 클릭해서 에러가 뜨는 곳에 간후abs 라는 함수를fabsf로 바꾸어 준후 컴파일을 합니다.그럼 외부 기호가 없다는 에러가 뜹니다.DXUT.h 로 갑니다.이쯤에 이 코드를 작성하고재 컴파일 하면 에러가 깔금하게 없어졌습니다...
코딩을 하면서 백업 및 버전 관리가 필요한 경우가 있어서 깃 허브를 애용 하고 있습니다.Visual Studio 에 있는 팀 서비스 기능중에 git 을 생성 해줘서 자동으로 관리 및 온라인 서버로 푸시 해주는 기능이 있어서 꽤나 편하게 깃을 사용 중이니 여러분도 사용 해 보세요깃 허브를 자주 애용하고 있다고 위에서 말했긴 했지만 사실 깃 허브로 푸시나 깃보다는 압축해서 클라우드에 올리는 경우가 많아서 잘 사용은 하고 있지 않았.. https://github.com/LDobac제 깃 허브에서 쓸모 없는 소스들 가져가셔서 개인 연습 하는데 쓰시면 될꺼 같습니다.
기능경기대회를 위해 DAE포맷 파서를 제작하였다.DAE는 Collada 라는 3d 어플리케이션에서 사용하는 3D 정보를 담고 있는 파일 포맷의 확장자 명이다.Collada는 XML로 작성이 되어있어서 XML파서나 XML을 좀 다뤄본 사람이라면 능숙하게 사용 할 수 있을것..이지만나는 별로 능숙한 편이 아니라 좀 애를 먹음과 동시에 DAE라는 포맷이 그렇게 한글 자료가 잘 없기도 하며 3D 어플리케이션에 범용적으로 사용 될 수 있게 만들(게다가 크로노스 그룹에서 관리하는거 같음)었기에 꽤나 방대하다. Documentation 페이지만 400페이지에 가깝다.(물론 내가 처음에 Documentation 페이지를 안보고 작성하긴 했다.) 일단 기능경기대회를 위해 어느정도만 구현이 되어 있으며 조금 제한적일 수 ..