Skip to content

CSPCLAB/pintos_master

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

28 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ› οΈ Pintos ν”„λ‘œμ νŠΈ

πŸ“š ν”„λ‘œμ νŠΈ κ°œμš”

PintosλŠ” 운영체제의 κΈ°λ³Έ κ°œλ…μ„ ν•™μŠ΅ν•˜κ³  직접 κ΅¬ν˜„ν•΄λ³΄λŠ” ꡐ윑용 ν”„λ‘œμ νŠΈμž…λ‹ˆλ‹€. 이 λ ˆν¬μ§€ν† λ¦¬λŠ” Pintos의 λ‹€μ–‘ν•œ κΈ°λŠ₯을 κ΅¬ν˜„ν•˜κ³  ν˜‘μ—…μ„ 톡해 OS의 λ™μž‘ 원리λ₯Ό μ΄ν•΄ν•˜λŠ” 것을 λͺ©ν‘œλ‘œ ν•©λ‹ˆλ‹€.


πŸ“‚ λ ˆν¬μ§€ν† λ¦¬ ꡬ쑰

πŸ“¦ pintos-master
β”œβ”€β”€ src/            # Pintos μ†ŒμŠ€ μ½”λ“œ
β”œβ”€β”€ image/            # Pintos ν™˜κ²½ docker image
β”œβ”€β”€ study/           # ν”„λ‘œμ νŠΈ λ¬Έμ„œ 및 회의둝
β”‚   β”œβ”€β”€ weekly_reports/   # μ£Όκ°„ μž‘μ—… λ³΄κ³ μ„œ
β”‚   β”œβ”€β”€ os_concepts/      # κ΅¬ν˜„μ— ν•„μš”ν•œ OS κ°œλ…
β”‚   └── coding_conventions.md # μ½”λ”© μ»¨λ²€μ…˜
β”œβ”€β”€ README.md       # λ ˆν¬μ§€ν† λ¦¬ κ°œμš”
└── start_pintos.sh       # ν•€ν† μŠ€ ν™˜κ²½ μ„€μ • 슀크립트

πŸš€ μ‹œμž‘ν•˜κΈ°

1. ν•„μˆ˜ 도ꡬ μ„€μΉ˜

  • Linux ν™˜κ²½ (ꢌμž₯)
    • Docker (AMD64)

2. λ ˆν¬μ§€ν† λ¦¬ 클둠

git clone https://github.com/CSPCLAB/pintos_master.git
cd pintos-master

3. λΉŒλ“œ 및 μ‹€ν–‰

  1. ν™˜κ²½ μ„€μ • 슀크립트 μ‹€ν–‰:

    ./start_pintos.sh
  2. ν•€ν† μŠ€ λΉŒλ“œ:

    cd src/utils
    make
  3. ν…ŒμŠ€νŠΈ:

    cd src/threads
    make
    pintos run alarm-multiple

πŸ§‘β€πŸ’» ν˜‘μ—… κ·œμΉ™

  • 브랜치 μ „λž΅:
    • main: 항상 λ™μž‘ κ°€λŠ₯ν•œ μƒνƒœμ˜ μ½”λ“œ μœ μ§€
    • dev: μ£Όμš” κΈ°λŠ₯ 병합 전에 μ‚¬μš©
    • feature/[이름]/[μž‘μ—…λ‚΄μš©]: 개인 μž‘μ—… 브랜치
  • 컀밋 λ©”μ‹œμ§€:
    • Conventional Commits μŠ€νƒ€μΌ μ‚¬μš©
    • 예: feat: Implement thread initialization
  • μ½”λ”© μŠ€νƒ€μΌ:
  • 에디터 ν™•μž₯:
    • vscode extension: markdownlint, C/C++

πŸ“– λ¬Έμ„œ

πŸ§ͺ ν…ŒμŠ€νŠΈ

λͺ¨λ“  κ΅¬ν˜„μ€ ν…ŒμŠ€νŠΈλ₯Ό 톡해 검증해야 ν•©λ‹ˆλ‹€. ν…ŒμŠ€νŠΈ μ½”λ“œλŠ” tests/ 디렉터리에 μž‘μ„±ν•©λ‹ˆλ‹€.

ν…ŒμŠ€νŠΈ μ‹€ν–‰

  1. λ””λ ‰ν„°λ¦¬λ‘œ 이동:

    cd src/tests
  2. ν…ŒμŠ€νŠΈ μ‹€ν–‰:

    pintos run <test-name>