Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

RedHong56/JunglePintos-VirtualMemory

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

86 Commits

Repository files navigation

๐Ÿ“˜ Docker๊ธฐ๋ฐ˜ Pintos ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ• ๊ฐ€์ด๋“œ

์ด ๋ฌธ์„œ๋Š” Windows์™€ macOS ์‚ฌ์šฉ์ž๊ฐ€ Docker์™€ VSCode DevContainer ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ Pintos OS ํ”„๋กœ์ ํŠธ๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค.

[์ฃผ์˜]

  • ubunbu:22.04 ๋ฒ„์ „์€ ์ถฉ๋ถ„ํ•œ ํ…Œ์ŠคํŠธ์™€ ๊ฒ€์ฆ์ด ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด ์ ์„ ์ฃผ์˜ํ•ด์„œ ์‚ฌ์šฉํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

[์ฐธ๊ณ ]

  • pintos ๋„์ปค ํ™˜๊ฒฝ์€ 64๋น„ํŠธ ๊ธฐ๋ฐ˜ X86-64 ๊ธฐ๋ฐ˜์˜ ubuntu:22.04 ๋ฒ„์ „์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
    • kaist-pintos๋Š” ์˜ค๋ฆฌ์ง€๋„ pintos์™€ ๋‹ฌ๋ฆฌ 64๋น„ํŠธ ํ™˜๊ฒฝ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
    • ์ด๋ฒˆ ๋„์ปค ํ™˜๊ฒฝ์€ ubuntu 22.04๋ฅผ ์ง€์›ํ•˜์—ฌ vscode์˜ ์ตœ์‹  ๋ฒ„์ „์—์„œ ์›๊ฒฉ ์—ฐ๊ฒฐ์ด ์•ˆ๋˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • pintos ๋„์ปค ํ™˜๊ฒฝ์€ kaist-pintos์—์„œ ์ถ”์ฒœํ•˜๋Š” qemu ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • pintos ๋„์ปค ํ™˜๊ฒฝ์€ 9์ฃผ์ฐจ๋ถ€ํ„ฐ 13์ฃผ์ฐจ๊นŒ์ง€ ๊ฐ™์€ ํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ๊ฐ„๋™์•ˆ ๋ณ„๋„์˜ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๊ธฐ์กด ๋„์ปค ํ™˜๊ฒฝ๊ณผ ๋‹ฌ๋ฆฌ vscode์™€ ํ†ตํ•ฉ๋œ ๋””๋ฒ„๊น… ํ™˜๊ฒฝ(F5๋กœ ์‹œ์ž‘ํ•˜๋Š”)์„ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋””๋ฒ„๊น…์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ gdb๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.
  • vscode์—์„œ ํ„ฐ๋ฏธ๋„์„ ์˜คํ”ˆํ•˜๋ฉด ์ž๋™์œผ๋กœ source /workspaces/pintos_22.04_lab_docker/pintos/activate๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

1. Docker๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

Docker๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์–ด๋–ค ์ปดํ“จํ„ฐ์—์„œ๋“  ๋™์ผํ•œ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ๊ฐ€์ƒํ™” ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.

Docker๋Š” ๋‹ค์Œ ๊ตฌ์„ฑ์š”์†Œ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค:

  • Docker Engine: ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ํ•ต์‹ฌ ์„œ๋น„์Šค
  • Docker Image: ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ์— ์‚ฌ์šฉ๋˜๋Š” ํ…œํ”Œ๋ฆฟ (๋ ˆ์‹œํ”ผ ๐Ÿ“ƒ)
  • Docker Container: ์ด๋ฏธ์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒ์„ฑ๋œ ์‹ค์ œ ์‹คํ–‰ ํ™˜๊ฒฝ (์š”๋ฆฌ ๐Ÿœ)

โœ… AWS EC2์™€์˜ ์ฐจ์ด์ 

๊ตฌ๋ถ„ EC2 ๊ฐ™์€ VM Docker ์ปจํ…Œ์ด๋„ˆ
์‹คํ–‰ ๋‹จ์œ„ OS ํฌํ•จ ์ „์ฒด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‹จ์œ„
์‹คํ–‰ ์†๋„ ๋А๋ฆผ (์ˆ˜์‹ญ ์ดˆ ์ด์ƒ) ๋งค์šฐ ๋น ๋ฆ„ (๊ฑฐ์˜ ์ฆ‰์‹œ)
๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ ๋ฌด๊ฑฐ์›€ ๊ฐ€๋ฒผ์›€

2. VSCode DevContainer๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

DevContainer๋Š” VSCode์—์„œ Docker ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

  • ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ ๋””๋ฒ„๊น…ํ•  ๋•Œ ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€ ํ™˜๊ฒฝ์—์„œ ๋™์ž‘
  • ํŒ€์› ๊ฐ„ ํ™˜๊ฒฝ ์ฐจ์ด ์—†์ด ๋™์ผํ•œ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์„ฑ ๊ฐ€๋Šฅ
  • .devcontainer ํด๋”์— ์ •์˜๋œ ์„ค์ •์„ VSCode๊ฐ€ ์ฝ์–ด ์ž๋™ ๊ตฌ์„ฑ

3. Docker Desktop ์„ค์น˜ํ•˜๊ธฐ

  1. Docker ๊ณต์‹ ์‚ฌ์ดํŠธ์—์„œ ์„ค์น˜ ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ:
    ๐Ÿ‘‰ https://www.docker.com/products/docker-desktop

  2. ์„ค์น˜ ํ›„ Docker Desktop ์‹คํ–‰

    • Windows: Docker ์•„์ด์ฝ˜์ด ํŠธ๋ ˆ์ด์— ๋– ์•ผ ํ•จ
    • macOS: ์ƒ๋‹จ ๋ฉ”๋‰ด๋ฐ”์— Docker ์•„์ด์ฝ˜ ํ™•์ธ

4. ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ (ํžˆ์Šคํ† ๋ฆฌ ์—†์ด)

ํ„ฐ๋ฏธ๋„(CMD, PowerShell, zsh ๋“ฑ)์—์„œ ์•„๋ž˜ ๋ช…๋ น์–ด๋กœ ํ”„๋กœ์ ํŠธ ํด๋”๋งŒ ๋‚ด๋ ค๋ฐ›์Šต๋‹ˆ๋‹ค:

git clone --depth=1 https://github.com/krafton-jungle/pintos_22.04_lab_docker.git 
  • --depth=1 ์˜ต์…˜์€ git commit ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ์ƒ๋žตํ•˜๊ณ  ์ตœ์‹  ํŒŒ์ผ๋งŒ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

๐Ÿ“‚ ๋‹ค์šด๋กœ๋“œ ํ›„ ํด๋” ๊ตฌ์กฐ ์„ค๋ช…

pintos_22.04_lab_docker/
โ”œโ”€โ”€ .devcontainer/
โ”‚ โ”œโ”€โ”€ devcontainer.json # VSCode์—์„œ ์ปจํ…Œ์ด๋„ˆ ํ™˜๊ฒฝ ์„ค์ •
โ”‚ โ””โ”€โ”€ Dockerfile # pintos ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๋„์ปค ์ด๋ฏธ์ง€ ์ •์˜
โ”‚
โ”œโ”€โ”€ pintos
โ”‚ โ”œโ”€โ”€ threads # 9์ฃผ์ฐจ threads ํ”„๋กœ์ ํŠธ ํด๋”
โ”‚ โ”œโ”€โ”€ userprog # 10-11์ฃผ์ฐจ user program ํ”„๋กœ์ ํŠธ ํด๋”
โ”‚ โ””โ”€โ”€ vm # 12-13์ฃผ์ฐจ virtual memory ํ”„๋กœ์ ํŠธ ํด๋”
โ”‚
โ””โ”€โ”€ README.md # ํ˜„์žฌ ๋ฌธ์„œ

5. VSCode์—์„œ ํ•ด๋‹น ํ”„๋กœ์ ํŠธ ํด๋” ์—ด๊ธฐ

  1. VSCode๋ฅผ ์‹คํ–‰
  2. ํŒŒ์ผ โ†’ ํด๋” ์—ด๊ธฐ๋กœ ๋ฐฉ๊ธˆ ํด๋ก ํ•œ pintos_22.04_lab_docker ํด๋”๋ฅผ ์„ ํƒ

6. ๊ฐœ๋ฐœ ์ปจํ…Œ์ด๋„ˆ: ์ปจํ…Œ์ด๋„ˆ์—์„œ ์—ด๊ธฐ

  1. VSCode์—์„œ Ctrl+Shift+P (Windows/Linux) ๋˜๋Š” Cmd+Shift+P (macOS)๋ฅผ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค.
  2. ๋ช…๋ น์–ด ํŒ”๋ ˆํŠธ์—์„œ Dev Containers: Reopen in Container๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  3. ์ดํ›„ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ž๋™์œผ๋กœ ์‹คํ–‰๋˜๊ณ  ๋นŒ๋“œ๋ฉ๋‹ˆ๋‹ค. ์ฒ˜์Œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์—ด๋ฉด ๋นŒ๋“œํ•˜๋Š” ์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋นŒ๋“œ ํ›„, ํ”„๋กœ์ ํŠธ๊ฐ€ ์ปจํ…Œ์ด๋„ˆ ์•ˆ์—์„œ ์‹คํ–‰๋จ.

7. C ํŒŒ์ผ์— ๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ ์„ค์ • ํ›„ ๋””๋ฒ„๊น… (F5)

pintos ๋žฉ์—์„œ๋Š” vscode๊ธฐ๋ฐ˜์˜ ๋””๋ฒ„๊น…์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.


8. ์ƒˆ๋กœ์šด Git ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— Commit & Push ํ•˜๊ธฐ

๊ธˆ์ฃผ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐœ์ธ Git ๋ฆฌํฌ์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ์—…๋กœ๋“œํ•˜๋ ค๋ฉด, ๊ธฐ์กด Git ์—ฐ๊ฒฐ์„ ์ œ๊ฑฐํ•˜๊ณ  ์ƒˆ๋กญ๊ฒŒ ์ดˆ๊ธฐํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

โœ… ์™„์ „ํžˆ ์ƒˆ๋กœ์šด Git ๋ฆฌํฌ๋กœ ์—…๋กœ๋“œํ•˜๋Š” ๋ฐฉ๋ฒ•

์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์‹คํ–‰ํ•˜์„ธ์š”:

rm -rf .git
git init
git remote add origin https://github.com/myusername/my-new-repo.git
git add .
git commit -m "Clean start"
git push -u origin main

๐Ÿ“Œ ์„ค๋ช…

  • rm -rf .git: ๊ธฐ์กด Git ๊ธฐ๋ก๊ณผ ์—ฐ๊ฒฐ์„ ์™„์ „ํžˆ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.
  • git init: ํ˜„์žฌ ํด๋”๋ฅผ ์ƒˆ๋กœ์šด Git ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋กœ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.
  • git remote add origin ...: ์ƒˆ๋กœ์šด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ฃผ์†Œ๋ฅผ origin์œผ๋กœ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค.
  • git add . ๋ฐ git commit: ๋ชจ๋“  ํŒŒ์ผ์„ ์ปค๋ฐ‹ํ•ฉ๋‹ˆ๋‹ค.
  • git push: ์ƒˆ๋กœ์šด ๋ฆฌํฌ์— ์ตœ์ดˆ ์—…๋กœ๋“œ(Push)ํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ณผ์ •์„ ๊ฑฐ์น˜๋ฉด ๊ธฐ์กด ๋ฆฌํฌ์™€์˜ ์—ฐ๊ฒฐ์€ ์™„์ „ํžˆ ์ œ๊ฑฐ๋˜๊ณ , ์ƒˆ๋กœ์šด ๋…๋ฆฝ์ ์ธ ํ”„๋กœ์ ํŠธ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

About

VM_fork_Repository

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

  • C++ 69.7%
  • C 20.9%
  • Perl 6.1%
  • Makefile 1.4%
  • Shell 0.8%
  • Assembly 0.7%
  • Other 0.4%

AltStyle ใซใ‚ˆใฃใฆๅค‰ๆ›ใ•ใ‚ŒใŸใƒšใƒผใ‚ธ (->ใ‚ชใƒชใ‚ธใƒŠใƒซ) /