일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 정글사관학교
- 프메
- 으
- 스터디
- Jinja2
- 프린세스메이커
- 알고풀자
- Ajax
- Unseen
- Enhanced Input System
- node
- 언리얼뮤지컬
- 레베카
- 스마일게이트
- 데이터베이스
- 파이썬서버
- 카렌
- Express
- JWT
- 언리얼프로그래머
- R
- 디자드
- 마인크래프트뮤지컬
- flask
- EnhancedInput
- VUE
- 언리얼
- Bootstrap4
- 미니프로젝트
- 게임개발
- Today
- Total
목록컴퓨터 공학, 전산학/핀토스 (4)
Showing
1. gdb를 통한 Project 3 추적 프로젝트3 VIRTUAL MEMORY부터는 본격적으로 gdb를 활용해서 코드파악을 하였습니다. 본 포스팅은 프로젝트2때와 다르게 vm일 경우 lazy_load_segment까지 도달하는 일련의 과정이 있어, 디버깅을 찍어보면서 추적한 기록을 남기는 포스팅입니다. pintos --gdb -m 20 --fs-disk=10 -p tests/userprog/args-multiple:args-multiple --swap-disk=4 -- -q -f run 'args-multiple some arguments for you!' 위와 같은 명령어를 통해 Pintos 운영 체제를 가상 머신(VM) 상에서 테스트하였습니다. --gdb 옵션: Pintos를 GDB 디버거와 함께 ..
pintos --gdb -m 20 --fs-disk=10 -p tests/userprog/halt:halt --swap-disk=4 -- -q -f run halt 혹은, pintos --gdb -m 20 --fs-disk=10 -p tests/userprog/args-multiple:args-multiple --swap-disk=4 -- -q -f run 'args-multiple some arguments for you!' gdb kernel.o (gdb) target remote localhost:1234 😃 개별 테스트 결과 확인 : 개별 테스트 예시1 : make tests/vm/mmap-clean.result VERBOSE=1 개별 테스트 예시2: make tests/userprog/args-..
시스템 콜(System Call) Argument Passing에서 pintos의 커맨드라인에서 인자를 파싱하고 패싱할 수 있도록 구현을 했다지만 우리의 project2 핀토스에서는 아직 시스템콜 핸들러와 각 시스템 콜에 대한 처리가 구현되어 있지 않기 때문에 시스템콜이 호출되지 않습니다! 따라서 응용프로그램을 사용자의 기대대로 쓰고, 읽고, 실행하는 등의 일련의 작업을 할 수 없습니다. 사용자모드, 커널모드, 인터럽트, 시스템 콜의 관계 운영체제에는 사용자 모드(User mode)와 커널 모드(Kernel mode)가 있는데 사용자 모드에서 자원에 대한 직접적인 접근을 할 수 없습니다. 반면에 커널모드는 컴퓨터의 모든 자원에 대한 접근 권한을 가집니다. 따라서 사용자 프로세스가 디스크 읽기와 같은 명령..
1. Argument Passing 인자 전달 Argument Passing은 사용자가 입력하는 정보들(명령줄 인자)을 프로그램에게 전달하는 것을 말합니다. 예1) "grep apple fruits.txt"와 같은 명령어가 있다면, "grep"은 실행할 프로그램 이름이며, "apple"은 검색할 단어, "fruits.txt"는 검색 대상 파일이 될 수 있습니다. 예2) "gomoku start --size=15 --mode=multiplayer"와 같은 명령어가 있다고 가정할때, "gomoku"는 실행할 프로그램 이름이고, "start"는 게임 시작 옵션, "--size=15"는 게임판의 크기를 15로 설정, "--mode=multiplayer"는 멀티플레이 모드 등 이렇게 입력된 정보를 프로그램에서 활..