티스토리 뷰
개발환경 구축
가상환경
- Ubuntu 18.04
우분투 18.04를 실행하기 위해 세가지 선택지가 있었다
- AWS EC2
- MS AZURE
- Docker
우선 도커는 내 환경이 ARM기반 맥북이어서 설정이 매우 번거로워서 세팅할 시간을 돈으로 사야겠다 생각해서 클라우드서비스를 이용하기로했다.
처음에는 EC2를 사용했지만 우분투 18.04가 부분 무료여서 한달간 핀토스를 하게되면 5만원 이상 나올것 같아서 일주일 사용하고 azure로 갈아탔다.
Azure는 1위 업체가 아니기 때문에 저렴하고 가상머신 내렸다가 올렸을때 ec2와는 다르게 ip변동이 없어 azure를 사용하게 됐다.
개발툴
- SFTP
클라우드를 사용하면서 불편했던점이 내 로컬에서 코드를 작성하고 가상환경에서 테스트를 하는데 불편함이 있었다 처음에는 SFTP를 사용했는데 설정이 번거롭고 내 로컬에서는 가상환경에서 변경된 내용을 보는게 어려워 찾고 찾다 Remote-SSH를 알게되었다.
- Remote-SSH
가상환경을 내 로컬에서 돌리는 것처럼 사용할 수 있었고 remote-SSH와 Native Debug를 활용해 vscode자체 디버그를 사용할 수 있게되어 에러를 찾는데 도움이 많이 됐다
- Native Debug
원격으로? 가상환경에서 디버그를 가능하게 해주는 툴이다
실행
pintos-kaist 폴더에서 source ./acitve
를 실행해 pintos 명령어를 활성화 시킨다
thread 폴더에서 make check
를 실행해 테스트를 돌렸을때 다음과 같은 결과가 나오면 세팅 끝!
단일 테스트
threads 폴더에서 make
를 실행해 생성된 threads/build 폴더에서 pintos -v -k -T 60 -- -q run alarm-multiple
을 실행하면 alarm-multiple 테스트를 수행하고 60초 동안 실행이 끝나지 않으면 TIMEOUT을 출력하고 종료 시킨다
test PASS 기준
make
를 실행헀을때 threads/build/test/threads 경로에 .result파일과 .output파일이 있다.
- .output: 테스트를 실행했을때 .output결과 그대로 나와야 PASS이고 하나라도 틀리면 FAIL이다
- .result: 파일은 말그대로 실행 결과이고 어떤부분이 있어야하는지(-) 어떤부분이 없어야하는지(+) 기록되어있다
PintOS-kaist 참고 자료
PintOS-kaist 깃북 https://casys-kaist.github.io/pintos-kaist
PintOS 한글번역 https://github.com/yuhodots/pintos/tree/master/manual_kor
PintOS 코드분석/번역 https://yjohdev.notion.site/pintOS-75d620d024724bbfaffa6a50edda4d18
팀 레포지토리 관리 https://velog.io/@johnny/pintOS-github
'운영체제' 카테고리의 다른 글
[PintOS] Project2-2 User Memory Access (0) | 2024.05.26 |
---|---|
[PintOS] Project2-1 Passing the arguments and creating a thread (2) | 2024.05.22 |
[PintOS] Project2-0 Background (2) | 2024.05.22 |
[PintOS] Project1-2 Alarm Clock (1) | 2024.05.20 |
[PintOS] Project1-1 Thread (1) | 2024.05.20 |