22018, 1/1101 회원가입  로그인  
   pkdo1030
   http://h00ker.tistory.com
   질문 있습니다

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=35309 [복사]


커널 분석중인데 이해가 안되는게 있어서 물어봅니다.
arch 디렉토리 밑에 sh 디렉토리 하위 디렉토리인 board 디렉토리가 무엇을 모아놓은건지 잘 모르겠습니다. arch디렉토리는 커널과 하드웨어적인 부분의 디렉토리인거 같은데 그 board 밑에 디렉토리들도 mach 이런식으로 많이 있더군요 machine의 약어같던데 뭔지 알려주셨으면 합니다.

  Hit : 9344     Date : 2017/08/17 01:02



    
김답변 잘은 모르지만 임베디드 기기에 많이 사용되는 보드들을 모아놓은것같네요
arch디렉토리는 주로 아키텍쳐 의존적인 코드들이 들어갑니다
BIOS에서 로딩되는 코드들은 코드의 메모리 주소, 접근가능한 데이터들, 그리고 여러 인터럽트들이 정의돼있는데
되게 마이크로한 작업을 해야하기 때문에 운영체제 부팅의 맨 첫단계는 대부분 어셈블리로만 작성돼있습니다
이러한 맨 첫 작업들의 코드들이 arch 디렉토리 아래의 각 프로세서, 보드들의 어셈블리어로 작성이 돼있는겁니다

sh라는거는 SuperH라는 RISC ISA네요, 히타치에서 개발했다고 하고, 주로 게임기나 공정에서 사용되는 구조로 보이고
sh아래 있는 boards에는 SuperH를 구현한 유명한 마이크로컨트롤러들이 있는것같습니다
2017/08/17  
김답변 사실 질문에 대한 답변보다는 이런 정보들을 어떻게 찾는건지 아는게 더 중요한데
찾아봐야 하는 것들은
1. arch에 뭐가 들어있고, 대체 무슨 기능이 각 프로세서별로 독립적으로 구현돼야 하는것인지(답은 2번내용)
2. 운영체제 스타트업때는 무슨 일들을 하는지 (LDT GDT IDT 설정, 비디오메모리에 로그 출력, 세그멘테이션 설정, C언어로 작성된 커널 기능 로드 등)
3. 구글에 what is sh architecture 로 검색
4. sh아래 boards에 있는 board-~~~~, mach-~~~~~ 에서 앞의 prefix를 뺀 실제 보드 명으로 추측되는 이름들 검색 -> 이것으로 각각이 별개의 마이크로 컨트롤러라는것 확인
2017/08/17  
pkdo1030 매번 답변주셔서 감사합니다. 분석할때 조금 더 노력해서 모르는부분은 구글검색을 최대한 활용해보겟습니다. 2017/08/17