운영 체제가 어떻게 작동하는지 이해하고 싶습니다. 그러나, 나는 대부분의 오픈 소스 OS의 커널이 풀 타임 프로그래머가 배우기조차 너무 학습 목적으로 너무 복잡하다고 생각합니다. 학습 목적으로 만 만들어진 "간단한"OS가 있습니까?
운영 체제가 어떻게 작동하는지 이해하고 싶습니다. 그러나, 나는 대부분의 오픈 소스 OS의 커널이 풀 타임 프로그래머가 배우기조차 너무 학습 목적으로 너무 복잡하다고 생각합니다. 학습 목적으로 만 만들어진 "간단한"OS가 있습니까?
답변:
Andrew Tanenbaum의 Minix ( 운영 체제 설계 및 구현 참조 )는 바로 이러한 종류의 목적을위한 것입니다. 다른 날짜는 있지만 아직 유닉스 V6을 다루는 Lion 's Book 을 읽을 수도 있습니다. 후자의 명백한 단점은 사용하는 C가 매우 쓸모 없기 때문에 경험이 많은 C 프로그래머조차도 부분적으로 읽기가 어려울 수 있으며 코드를 소화하는 최신 컴파일러를 계획 할 수 없다는 것입니다.
MIT의 OS 과정에서 사용되는 최신 Unix와 유사한 Xv6 운영 체제를 고려해야합니다 . 그것과 관련된 강의 자료도있는 것 같습니다.
Bochs와 Qemu x86 에뮬레이터 모두에서 실행됩니다. 나는 그 부분을했다. 재미 있었어요.
Minix는 훌륭한 선택이며 다른 답변 중 하나에 설명되어 있습니다.
시누
또한 XINU를 고려하십시오-XINU는 Unix가 아닙니다.
은 또한 철자가 철자입니다.
Douglas Comer가 저술 한 책은 저술이 잘되어 있고 잘 묘사되어 있고 범위가 있다고 생각합니다.
Xinu와 함께 가르치는 방법에 대한 Embedded Xinu 및 웹 사이트가 있습니다.
http://xinu.mscs.mu.edu/Teaching_With_Xinu
FreeRTOS
요즘 많은 사랑을받는 또 다른 작은 OS는 FreeRTOS입니다. 그것은 거의 모든 것에서 실행됩니다. Mars에서 왔으며 프로세서 나 평가판이 실행되지 않는 경우 약 10 페이지의 설명서를 읽고 인터럽트, 타이머 및 UART와 관련된 약 5 개의 파일을 수정하면 실행 중일 수 있습니다.
그들은 31 개의 아키텍처와 18 개의 툴 체인을 지원한다고 주장했다. 2009 년 말 저의 경험은 좋았으며 그 이후로 많이 향상되었다고 들었습니다.
다른 링크
유용한 정보가있을 수있는 비슷한 질문이 여기에 있습니다.
/programming/254149/how-do-you-write-a-basic-operating-system
Linux 및 기타 많은 운영 체제 설계는 UNIX의 영향을 받기 때문에 원래 디자이너 (Kernigan, Richie 및 Thompson 및 기타)가 유익하고 소스에서 설계 아이디어를 얻는 비디오입니다.
http://techchannel.att.com/play-video.cfm/2012/2/22/AT&T-Archives-The-UNIX-System
클래식하지만 종종 수정 된 운영 체제 교재가 있습니다.
Silberschatz, Galvin, Gagne : 운영 체제 개념, 7 판
최신판도있을 수 있습니다. 책 판매자를 통해 책에 대한 링크는 거의 없지만 미리보기는 매우 관대하므로 운영 체제에 대한 자세한 내용은 다음을 확인하십시오.
http://www.amazon.com/Operating-System-Concepts-Abraham-Silberschatz/dp/0470128720
우리 대학에서는 NachOS를 배웠 습니다 . 학습을위한 훌륭한 오픈 소스 OS입니다. 또한 NachOS에서 학습을위한 많은 대학 운동을 찾을 수 있습니다.
Nachos는 학부 및 잠재적으로 대학원 수준의 운영 체제 과정을 가르치기위한 교육용 소프트웨어입니다. Nachos 배포판은 다음과 함께 제공됩니다.
- 개요 용지
- 작동중인 운영 체제에 대한 간단한 기준 코드
- 일반 개인용 컴퓨터 / 워크 스테이션 샘플 할당을위한 시뮬레이터
- C ++ 입문서 (Nachos는 배우기 쉬운 C ++ 부분 집합으로 작성되었으며 C 프로그래머에게 부분 집합을 가르치는 데 도움이 됨)
과제는 스레드 및 동시성, 멀티 프로그래밍, 시스템 호출, 가상 메모리, 소프트웨어로드 TLB, 파일 시스템, 네트워크 프로토콜, 원격 프로 시저 호출 및 분산 시스템을 포함한 최신 운영 체제의 모든 영역을 설명하고 탐색합니다.
.NET 기술 제품군을 사용하는 경우 Singularity를 확인할 수 있습니다 . 2008 년 이후 업데이트되지 않았지만 CodePlex에서 소스 및 ISO 형식으로 다운로드 할 수 있습니다 ( 여기) .