← 목록
한선씨 2026-06-18 2KB 읽기 2분

크라우니OS 한선씨 OS코어 (순수 한선씨, crownyc VM 위)

개요

crownyc VM(v10.3 / ISA729) 위에서 도는 순수 한선씨 텍스트 OS 환경. C커널 무수정. 한글 키워드 그대로. 5모듈 단일 파일.

무엇을 했는지

  • apps/os/크라우니OS.한선 작성 (컴파일+실행 검증 완료)
  • [1] 부팅: 배너 + VFS/프로세스테이블/앱레지스트리 초기화 로그
  • [2] 가상FS: 맵 2-way 분리(내용/타입) + 경로목록 평행배열. 만들기/쓰기/덧쓰기/읽기/삭제/목록/존재
  • [3] 프로세스테이블: 평행배열 5개(PID/이름/상태/우선/앱번호). 등록/상태변경/목록/종료
  • [4] 셸: 자체 공백 토막내기 파서 → 디스패치. help ls cd pwd mkdir touch write append cat rm echo ps kill run apps time reboot
  • [5] 앱로더: APP_레지(맵) 이름→번호, APP_실행 전역 switch (hello/clock/info)
  • 하드코딩 명령 시퀀스 23개로 부팅+실행 데모

VM 한계 회피

  • 구조체배열 손상 → 프로세스테이블 평행배열 5개
  • 독립 클로저 불가 → APP_실행 전역 만약 디스패치
  • 맵 729 cap → VFS 내용맵/타입맵 2-way 분리
  • 분리() 내장 부재 → 토막내기() 자체 구현(글자 0-index 순회)

함정 발견 (중요)

  • 맵꺼내 미스값 = -1(미존재), 0(값을 0으로 덮어쓴 삭제). 절대 falsy 0 가정 금지.
→ VFS_타입조회()로 -1/0 모두 빈문자 정규화, 존재여부는 글자수>0로 판정.
  • 인라인 주석 ; 다중단어 = 미정의변수 에러. // 사용 필수.
  • 글자(s,i) 0-index, 부분(s,start,end) end-exclusive 슬라이스.
  • 토큰화()는 NLP라 공백분리 안 됨(빈 배열).

관련 파일

  • /Users/ef/CrownyOS/crownyc/apps/os/크라우니OS.한선
  • 빌드: ./hanseonc_high apps/os/크라우니OS.한선 > os.toau 2>/dev/null && ./crownyc run os.toau

잔여 이슈

  • 대화형 입력(입력())은 현재 미사용(하드코딩 데모). 추후 stdin 루프 연결 가능.
  • VFS_경로목록 삭제 시 빈칸만 표시(재배치 안 함) — 대량 삭제 시 슬롯 낭비.