Open Source 란?
개발을 하게 되면서 Open Source를 생각하지 않을 수가 없는데, 이 오픈소느는 기술 설계가 공개적으로 접근 가능하며, 누구나 수정하고 공유할수 잇는 리소스라고 생각하면된다 주로 소프트웨어 개발에서나 협업과 공유중심 그리고 유기적 기술 발전을 위해 많은 사람들이 오픈소스를 보여 기여를 하거나 배운다.
어제 Nvidia의 젠슨 황이 2025 CES 발표를 했다. 자율주행 혹은 Nvidia의 AI 기술을 활용을 위한 자동차 파트너쉽, 프로젝트 디지트(Nvidia GB10 Grace Blackwell) 이란 슈퍼칩으로 구동되는 AI 연구자를 위한 고성능 PC, Agentic AI 구축, DLSS 4 기술 (AI 기반 프레임 생성으로 게임 성능 및 시각적 품질 향상) 그리고 Nvidia Cosmos, 차세대 자율 주행 차량 및 로봇 개발을 가속화 하기 위한 컴퓨팅 플랫폼에 대해 이야기 하였는데 그중 COMSOSOS 가 오픈소스로 풀린다는거에 난 더 이목이 끌렸다. 그래서 그 COSMOSOS 를 찾아 오늘은 오픈소스를 통해 어떻게 구성 되어 있는지 정리해볼까 한다.
COSMOS 란?
COSMOS( C# Open Source Managed Operating System) 은 .NET 과 IL2CPU 라는 커스텀 컴파일러를 사용하여 대부분의 C# 코드를 동작하는 베어메탈 OS로 변환이 가능한 운영체제 개발키트이다. (OS 개발도구) 이 것은 VB.NEt, IronPython, F# 등의 .Net 기반의 언어를 사용할수 있고 Cosmos 자체와 커널 루틴은 주로 C# 으로 이루어져있다. 프로젝트 내에서 COSMOS는 컴파일러나 표준 라이브러리 역할을 할수 있다고 볼수 있읍.
이 COSMOS가 제공하는 주요기능 ( 아직 완전하지 않음)
- Low level Assembly 접근 및 pointer memory 제어
- 기본 파일 시스템
- .NET core library 의 대부분의 기능
- CPU/FPU 가속 수학 Library
- 기본 그래픽 인터페이스
- 기본 네트워크 인터페이스
- 기본 오디오 인터페이스
아마 이건 C# 이나 .NET 기반의 개발자들에게 유용한 라이브러리 일수도 있다고 생각된다.
COSMOS 를 사용하기 위한 설정
로컬에 있어야할 프로그램들
- Visual Studio 2022 (work load : Visual Studio Extension Development)
- Inno Setup
- .NET 6 SDK
COSMOS 관련 Git 저장소
COSMOS 는 4개의 Git 저장소로 나누어져 있으며, 각 저장소는 독립적으로 구성되어있음.
COSMOS 는 모든 저장소에 의존함. 그래서 4개의 저장소를 모두 복제해야함.
C:\source\CosmosOS\
C:\source\CosmosOS\Cosmos\ - [Cosmos 저장소](https://github.com/CosmosOS/Cosmos)
C:\source\CosmosOS\IL2CPU\ - [IL2CPU 저장소](https://github.com/CosmosOS/IL2CPU)
C:\source\CosmosOS\XSharp\ - [XSharp 저장소](https://github.com/CosmosOS/XSharp)
C:\source\CosmosOS\Common\ - [Common 저장소](https://github.com/CosmosOS/Common)
위 예시와 같이 디렉터리를 사용할때, 각 저장소를 해당 폴더에 압축하거나 해제해야한다.
Window는 대소문자를 구분하지 않지만, .NET Core 도구는 경로에서 대소문자를 구분해야하며 폴더 이름을 정확히 생성해야됨.
서브모듚 대신 4개의 저장소를 개별적으로 관리하도록 설정이 필요함.
소스코드 업데이트를 자동화시키는 방법
이 bash 코드를 .bat 파일로 저장하여 COSMOSOS 폴더에 넣으면 한번에 소스를 업데이트가 가능
cd C:\XSharp
git pull
cd ..\IL2CPU
git pull
cd ..\Cosmos
git pull
cd ..\Common
git pull
cd ..
COSMOS 빌드 및 설치
- Visual studio 를 닫은상해에서 설치파일 실행 (다운로드 한 Dev Kit 루트 디렉터리에서 install-VS2022.bat 실행 그리고 설치 완료가 된다면, Visual Studio 가 열리며, Cosmos 가 로드가됨. 그후 코어 어셈블리를 수정하거나 새로운 Cosmos 를 프로젝트에 활용가능
여기 까지 일단 Cosmos repo에 있는 README.md 를 읽으며 정리해 보았다. 내일은 Repo에 있는 폴더들과 docstring 을 보며 Cosmos를 좀더 알아보아야 겠다.
Reference:
https://aws.amazon.com/ko/what-is/open-source/
오픈 소스란 무엇인가요? - 오픈 소스 설명 - AWS
오픈 소스의 아이디어는 기술 커뮤니티에서 나왔습니다. 기술 혁신이 발전하려면 글로벌 협업이 필요합니다. 예를 들어, 미국의 프로그래밍 팀이 금융 애플리케이션을 위한 새로운 오픈 소스
aws.amazon.com
https://github.com/CosmosOS/Cosmos
GitHub - CosmosOS/Cosmos: Cosmos is an operating system "construction kit". Build your own OS using managed languages such as C#
Cosmos is an operating system "construction kit". Build your own OS using managed languages such as C#, VB.NET, and more! - CosmosOS/Cosmos
github.com
https://cosmosos.github.io/install.html
Dev Kit
Dev Kit Additional Prerequisites Visual Studio 2022 Workload: Visual Studio Extension Development Inno Setup (Free) – Install with defaults - Download .NET 6 SDK - Download Get the Source Cosmos source is hosted at GitHub. The simplest method to obtain t
cosmosos.github.io
https://www.nvidia.com/ko-kr/events/ces/
NVIDIA, CES 2025 1월 7~11일, 네바다주 라스베이거스
일정에 추가하기
www.nvidia.com
'[Project를 위한 공부]' 카테고리의 다른 글
[Project 를 위한 공부] Serializer 와 Deserializer (3) | 2025.01.16 |
---|---|
[Project를 위한 공부] github.io 로 블로그 정검하기 (3) | 2025.01.14 |
[Project를 위한 공부] Meta data 정리 (2) | 2025.01.13 |
[Project를 위한 공부] COSMOS 읽어보기 (2) (1) | 2025.01.10 |
[Project를 위한 공부] Open source COSMOSOS 이해하기(2) (3) | 2025.01.09 |