*중*
Bronze개인
팔로워0 팔로우
소개
등록된 소개글이 없습니다.
전문분야 등록된 전문분야가 없습니다.
판매자 정보
학교정보
입력된 정보가 없습니다.
직장정보
입력된 정보가 없습니다.
자격증
  • 입력된 정보가 없습니다.
판매지수
전체자료 12
검색어 입력폼
  • 비기전수 c프로그래밍 Chapter 20 문제 4~6
    프로그램소스| 2016.11.25| 1,000원| 조회(116)
    미리보기
  • 비기전수 c프로그래밍 Chapter 20 문제 1~3
    프로그램소스| 2016.11.25| 1,000원| 조회(320)
    미리보기
  • 비기전수 c프로그래밍 Chapter 20 문제 7~8
    비기전수 c프로그래밍 Chapter 20 문제 7~8 입니다.
    프로그램소스| 2016.11.25| 1,000원| 조회(194)
    미리보기
  • CYK 알고리즘을 C언어로 구현한 코드,Chomsky normal form(촘스키 정규형) 문법 G가 있을때 어떤 문자열이 이 문법 G의 언어인지 판별하는 프로그램 평가D별로예요
    프로그램소스| 2014.11.28| 2,000원| 조회(562)
    미리보기
  • 운영체제 나초스 Nachos 우분투 Ubuntu
    운영 체제- [OS-1] Another Nachos설치 및 분석목차1. Nachos 시스템 소개 설명2. 작업환경3. Nachos 설치├ 3.1 Cross-compiler란?├ 3.2 Cross-complier 설치 과정└ 3.3 nachos 설치 과정4. Nachos compile 과정5. nachos application compile 과정6. main() 함수 분석 내용├ Q.1 ThreadedKernel, UserProgKernel 두 class는 어떤 관련이 있는가?├ Q.2 thread/nachos, userprog/nachos 두 실행 파일을 실행할 때│ main() 함수가 수행하는 작업의 차이는 무엇인가?(main.h , main.cc)└ Q.3 위의 두 실행 파일에서 사용할 수 있는 option들에는 어떠한 것들이있는가?7. 결과 및 고찰1. Nachos 시스템 소개 설명나초스(Nachos)는 Not Another Completely Heuristic Operationg System의 약자로서 U.C.Berkeley 대학의 Tom Anderson 교수가 운영체제 실습을 위해 만든 운영체제(OS, Operationg System)이다.나초스와 상용 운영체제와의 차이점은 상용운영체제는 하드웨어를 기반으로 동작하지만 나초스는 유닉스나 리눅스의 응용프로그램의 형태(MIPS, I386 machin)의 하드웨어 위에서 구동된다는 것이다. 또한 교육을 목적으로 설계되어 있어 구조가 비교적 단순하고 체계적이어서 소스코드 이해에 도움이 된다.앞서 말한 것처럼 나초스는 교육의 목적으로 제작되었으므로 기본 윤영체제의 기능(인터럽트, 가상메모리, 입출력장치의 실행)을 시뮬레이션 할 수 있다. 나초스 머신은 3가지로 구성 되어 있다.가. 레지스터나초스머신의 레지스터는 40개의 Array로 이루어져 있으며 스택포인터, 더블레지스터, 프로그램 카운터, 넥스트 프로그램카운터, 레지스터 타겟 등으로 구성되어 있다.(각각 0-39)나. 메인메모리메모리는 바이트 단위의 주소를 가지며, 128바이트의 페이지들로 구성되어있는데 이것은 디스크 섹터와 같은 크기이다. 메모리는 물리주소를 메모리주소로 엑세스 하는 역할을 수행한다. 기본적인 나초스 머신은 31페이지의 물리적 메모리를 갖는다.다. 가상메모리나초스는 single linear page나 소프트웨어로 관리되는 TLB를 통해 가상메모리를 지원한다. 이러한 구조는 TLB, pagetable 변수를 초기화 하는 것에 영향을 끼친다.나초스는 디버깅, 테스트의 편의를 위해 다른 운영체제(리눅스, 유닉스, 솔라리스)에서 하나의응용프로그램으로 실행시키며 이를 통해 일반 응용프로그램의 디버깅처럼 GDB 등을 그대로 사용할 수 있다. 때문에 하드웨어를 대신하는 시뮬레이터를 사용한다. 나초스는 MIPS 시뮬레이터 코드를 포함하고 있어 나초스커널, MIPS 시뮬레이터를 하나의 프로그램으로 링크하여 사용한다.나초스는 C++ 언어로 만들어졌으며 코드를 수정하거나 이해하기 위해서는 C++ 언어의 선행학습이 필수이다. 하지만 심층적인 이해를 수반하지 않으므로 나초스 관련 페이지(http://www.cs.washington.edu/homes/tom/nachos/, http://homes.cs.washington.edu/~tom/nachos/,http://en.wikipedia.org/wiki/Nachos_Instructional_Operating_System) 의 C++example의 선행만으로 코드의 이해는 어려움이 없을 것으로 보인다.나초스를 컴파일하기 위해서는 gcc가 필요하며, 나초스가 수행시키는 응용프로그램은 MIPS 코드로 컴파일되어 있어야 하므로 크로스-컴파일러가 필요하다. 따라서 크로스-컴파일러를 설치한 후 응용프로그램을 MIPS binary code를 만들어 나초스에서 수행시켜야 한다.2. 작업환경- 컴퓨터 환경OSMicrosoft CorporationWindows 7 Ultimate K - Service Pack 1CPUIntel(R) Core(TM) i5-3230M CPU @ 2.60HzRAM8.00GBHDD500GB (465GB)- 작업 Linux 환경Virtual MachineVMware Player 6.0.1-Workstaion10.0OSUbuntu 64-bitCPUIntel(R) Core(TM) i5-3230M CPU @ 2.60HzRAM2.00GBHDD30GB(ubuntu iso 파일 출처 : www.ubuntu.com)3. Nachos 설치3.1 Cross-compiler란?크로스 컴파일러(cross compiler)는 컴파일러가 실행되는 플랫폼이 아닌 다른 플랫폼에서 실행 가능한 코드를 생성할 수 있는 컴파일러이다. 크로스 컴파일러 툴은 임베디드 시스템 혹은 여러 플랫폼에서 실행파일을 생성하는데 사용된다. 이 것은 운영체제를 지원하지 않는 마이크로컨트롤러와 같이 컴파일이 실현 불가능한 플랫폼에 컴파일하는데 사용된다. 이 것은 시스템이 사용하는데 하나 이상의 플랫폼을 쓰는 반가상화에 이 도구를 사용하는 것이 더 일반적이게 되었다.3.2 Cross-complier 설치 과정Ubuntu 환경에서 nachos를 설치했고 크로스 컴파일러가 이미 내장되어 있어 따로 설치와 설정이 필요하지 않았다. 다만 gcc package가 MIPS 코드로 컴파일되어 있어야 하므로 필요하여 MIPS코드로 컴파일 되어 있는 gcc package를 다운로드, 설치하였다. 따라서 생략하겠다.3.3 nachos 설치 과정1) nachos 설치를 위해 gcc package와 nachos를 다운로드 받는다.$ wget http://sopa.dis.ulpgc.es/so/nachos/nachos-ulpgc-2013ok.tgz$ wget http://sopa.dis.ulpgc.es/so/nachos/gcc-mips.tgz(출처 nachos ? http://sopa.dis.ulpgc.es/so/nachos/nachos-ulpgc-2013ok.tgzgcc ? http://sopa.dis.ulpgc.es/so/nachos/gcc-mips.tgz)2) 설치를 위해서는 root 권한이 필요하기 때문에 root 계정으로 로그인한다.$ su3) tar 명령어를 통해 nachos 압축을 풀어 준다.$ tar xvzf nachos-ulpgc-2013ok.tgz↓↓< nachos 라는 디렉토리가 생기고 그 안에 압축이 풀린다.>4) tar 명령어로 gcc package의 압축을 풀어 준다.$ tar ?C / -xvzf gcc-mips.tgz5) 이제 nachos를 설치하기 위해 nachos/code 로 이동한다.$ cd nachos$ cd code6) 리눅스 버전과 컴파일러의 타겟 프로세서를 확인한 후, Makefile.dep를 수정한다.$ uname ?a -> 리눅스 버전 확인$ g++ -dumpmachine -> 타겟 프로세서 확인$ emacs Makefile.dep(Host와 CPP를 수정한 후 저장)↓↓↓↓↓↓7) make 해준다$ make8) threads 디렉토리로 가서 nachos 실행파일을 확인한다.$ cd threads4. Nachos compile 과정$ ./nachos...5. nachos application compile 과정$ cd .. -> 상위디렉토리인 code로 이동$ cd userprog$ ./nachos ?x ../test/halt6. main() 함수 분석 내용Q.1 ThreadedKernel, UserProgKernel 두 class는 어떤 관련이 있는가?< Kernel.h >>< userkernel.h >>ThreadedKernel은 다른 class의 참조가 없지만, UserProgKernel은 ThreadedKernel를 참조한다. 이는 UserProgKernel이 ThreadedKernel의 함수를 사용하기 위해 상속을 받는다는 뜻이다. 때문에 ThreadedKernel이 부모클래스가 되고 UserProgKernel은 자식클래스가 되는 것이다.(이는 객체지향언어에서 자주 사용되는 방법으로 자식클래스가 부모클래스의 함수를 사용하여 효율성을 증대시키기 위함이다. 상속을 하면 클래스 내에서 필요한 함수를 반복적으로 선언할 필요 없이 부모 클래스의 함수를 사용할 수 있기 때문이다.)Q2. thread/nachos, userprog/nachos 두 실행 파일을 실행할 때 main()함수가 수행하는 작업의 차이는 무엇인가?(main.h , main.cc)< main.h >>위에서 표시한 ifdef는 뒤에 적힌 이름이 정의된 매크로인지 아닌지를 확인하고 있다면 그 매크로를 실행, 아니면 else문으로 분기하게 되는 것이다. 따라서 위 코드는 NETWORK 함수가 있다면 netkernel.h를 참조하고 아니면 else로 분기, USER_PROGRAM의 여부를 확인한다. 이가 선언되었다면 userkernel.h를 참조하고 이도 선언되지 않았다면 kernel.h를 참조하게 되는 것이다.thread/nachos, userprog/nachos의 차이점을 보면 thread/nachos의 경우 make한 결과, NETWORK와 USER_PROGRAM이 모두 선언되지 않았으므로 kernel.h가 실행되었고 userprog/nachos의 경우 NETWORK는 없지만 USER_PROGRAM이 선언되었으므로 userkernel.h가 실행되었음을 볼 수 있다.Q3. 위의 두 실행 파일에서 사용할 수 있는 option들에는 어떠한 것들이 있는가?
    공학/기술| 2014.06.23| 14페이지| 2,000원| 조회(875)
    미리보기
전체보기
받은후기 4
4개 리뷰 평점
  • A+최고예요
    1
  • A좋아요
    2
  • B괜찮아요
    0
  • C아쉬워요
    0
  • D별로예요
    1
전체보기
해캠 AI 챗봇과 대화하기
챗봇으로 간편하게 상담해보세요.
2026년 05월 27일 수요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
3:04 오후
문서 초안을 생성해주는 EasyAI
안녕하세요 해피캠퍼스의 20년의 운영 노하우를 이용하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 AI가 방대한 정보를 재가공하여, 최적의 목차와 내용을 자동으로 만들어 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
- 스토어에서 무료 이용권를 계정별로 1회 발급 받을 수 있습니다. 지금 바로 체험해 보세요!
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감