Cosmos(운영체제)

덤프버전 :






1. 개요
2. 설치 방법
3. 코딩
4. 특징
5. 장점
6. 단점
7. 정말 운영체제를 만들고 싶다면


1. 개요[편집]


C#으로 운영체제를 만들수 있게 해주는 킷이다. IDE는 최신버전 기준 Visual Studio 2022를 사용한다.


2. 설치 방법[편집]


https://www.gocosmos.org/download/에서 확인 할수 있다. 유저 킷과 데브 킷으로 나뉘는데 데브 킷이 좀 더 많은 기능을 지원한다.[1] 기본적으로 .NET Core 6.0 및 .NET 프레임워크 4.0가 필요하다.


3. 코딩[편집]


프로젝트를 만들면 Kernel.cs라는 파일이 생기고 기본적인 코드가 입력되어 있다. 위에 초록색 삼각형 버튼을 누르면 빌드가 시작된다.[2] 기본적으로는 CLI 기반이다. 그 외는 깃허브,Gitter.im[3] ,디스코드,유튜브 등에서 다양한 강좌들이 있다.


4. 특징[편집]


파일시스템은 FAT를 사용하며, 사용하기 전에 초기화를 해줘야 한다. 그리고 C#으로
코딩을 하면 IL2CPU[4]를 통해 어셈블리어로 바뀐다.[5]

CGS라는 코스모스 그래픽 인터페이스도 있다.
CAI 코스모스 사운드 인터페이스도 있고 (AC97, 사운드블레스터16 호환기기만),
기본적인 DNS/IPv4 인터페이스도 있다. [6]


5. 장점[편집]


코딩하기 쉽다. C#[7]을 기본 언어로 사용하여 기존 C나 어셈블리로 코딩하는것보다 훨씬 쉬우며 GUI나 네트워크 드라이버도 지원하기 때문에 웬만한건 다 만들수 있다.


6. 단점[편집]


실제 하드웨어에서 구동하는데 한계가 있다. 또한 많은 버그를 일으킬수 있다.

특히 VFS, 파일 시스템 같은 경우 옛날 기기 (IDE 하드디스크)만 지원해 SATA로 실행은 힘든데 나머지 USB/NVME/SSD는 안된다로 보면 된다.

C#으로 코딩을 하다 보니 저수준 코딩이 어렵다. Plug로 대충 할수는 있지만 세세하게는 못한다. 따라서 바이너리 프로그램 실행을 만드는것도 어렵다[8] [9]


7. 정말 운영체제를 만들고 싶다면[편집]


사실 이 킷은 운영체제 개발을 진지하게 고민하고 공부하고 싶다면 쓰지 않아도 된다.
제한이 너무 많고, 실제로 운영 체제 이론 (Paging, GDT 등등)을 배우기도 힘들기 때문이다.
따라서 정말로 OS를 제대로 만들고 싶다면 어셈블리어랑 C에 대한 지식을 완전히 쌓은다음
책 등을 통해서 개발을 해야 한다.
파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-12-19 08:06:23에 나무위키 Cosmos(운영체제) 문서에서 가져왔습니다.

[1] 유저킷은 안정적이고 데브킷이 업데이트를 많이 한다. 깃에서 다운받아 빌드하는 형식이다.[2] VMWare를 지원한다. 다만 Virtual Box를 사용해도 초반에는 별로 상관 없다.[3] 현재 디스코드로 바뀌였다.[4] C#을 어셈블리어로 바꿔주는 프로그램. 코스모스를 만든 곳에서 만들었다.[5] 근데 아직 코드 호환성이 좀 안맞는듯 하다.[6] HTTP은 공식적으로 지원되지 않지만, DNS에서 ip를 가져와 신호를 보내면 된다. [7] X#도 지원한다. 참고로 X#은 저수준과 고수준이 합쳐진 언어로, 역시 코스모스를 만든 곳에서 만들었다.[8] 어렵긴 하지만 elf파일을 구동하는 구현이 있긴 있다. (최근에 DotNetParser라고 rectify11 개발자 한명이 닷넷 dll 실행기 만들었긴 한데, 자기가 직접 코어 라이브러리를 컴파일해야 한다.)[9] 아이언파이썬 지원한다고 했는데 지원 나중에 추가했다.