๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’ป ์šด์˜์ฒด์ œ

์šด์˜์ฒด์ œ ์‹ค์Šต์„ ์œ„ํ•œ ์œˆ๋„์šฐ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ•

by ๋ถˆํƒ€๋Š” ์ฐธ์ƒˆ 2025. 2. 22.

์šด์˜์ฒด์ œ(Operating System Concepts) ์ผ๋ช… ๊ณต๋ฃก์ฑ…๐Ÿฆ–์„ ํŽผ์ณค๋Š”๋ฐ ๊ธ€์ด ๋ธŒ๋ผํ‚ค์˜ค ๋ชฉ ๊ธธ์ด ๋งŒํผ ๊ธธ๋‹ค...๋‹คํ–‰ํžˆ ์ธํ”„๋Ÿฐ์— ๊ณต๋ฃก์ฑ…์„ ๋ถ€๊ต์žฌ๋กœ ํ•˜๋Š” ๊ฐ•์˜๊ฐ€ ์žˆ์–ด ํ•จ๊ป˜ ๋“ค์œผ๋ฉฐ ๊ณต๋ถ€ํ–ˆ๋‹ค. ์šด์˜์ฒด์ œ ์‹ค์Šต์„ ์œ„ํ•ด ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•˜๋ฉด์„œ ์œˆ๋„์šฐ์—์„œ๋„ ๋ฆฌ๋ˆ…์Šค ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋๋‹คโ€ผ๏ธ

โ€‹

WSL2(Window System for Linux2)์™€ VSCode(Visual Studio Code)๋ฅผ ์—ฐ๋™ํ•˜๋ฉด ๊ฐ€์žฅ ํŽธ๋ฆฌํ•œ ๋ฆฌ๋ˆ…์Šค ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฆฌ๋ˆ…์Šค์—์„œ gcc๋กœ C, C++ ์ปดํŒŒ์ผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

โ€‹

์–ด๋–ป๊ฒŒ ํ•˜๋ƒ๋ฉด!

โ€‹

1. WSL/๊ฐ€์ƒ๋จธ์‹  ๊ธฐ๋Šฅ ์ผœ๊ธฐ

 

์„ค์ •>๊ฒ€์ƒ‰>Windows ๊ธฐ๋Šฅ ์ผœ๊ธฐ/๋„๊ธฐ์—์„œ

๐Ÿ“Œ Linux์šฉ Windows ํ•˜์œ„ ์‹œ์Šคํ…œ ์˜ต์…˜ ์ฒดํฌ

๐Ÿ“Œ ๊ฐ€์ƒ๋จธ์‹  ํ”Œ๋žซํผ ์˜ต์…˜ ์ฒดํฌ

๊ทธ๋ฆฌ๊ณ  ์žฌ๋ถ€ํŒ…...(์•„๋†”)

โ€‹

2. WSL ์„ค์น˜

 

-๊ด€๋ฆฌ์ž ๋ชจ๋“œ๋กœ PowerShell์„ ์‹คํ–‰ํ•˜๊ณ  ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ˆ˜ํ–‰

wsl --install

(๋˜ ์žฌ๋ถ€ํŒ…...ใ…Ž)

โ€‹

3. ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฐฐํฌํŒ ๋ชฉ๋ก ํ™•์ธ ๋ฐ ์„ค์น˜

 

wsl --list --online
wsl --install -d <๋ชฉ๋ก ์ค‘ ์„ค์น˜ํ•˜๊ณ  ์‹ถ์€ ๋ฒ„์ „ ์ด๋ฆ„>
 

์ด๋ ‡๊ฒŒ ํ•ด์„œ ๋œจ๋Š” ๋ชฉ๋ก ์ค‘์— ํ•˜๋‚˜ ์„ ํƒํ•ด ์„ค์น˜ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋‚˜์˜ ๊ฒฝ์šฐ ๋ชฉ๋ก ์ค‘ Ubutu23์œผ๋กœ ์„ค์น˜ํ–ˆ๋‹ค.

โ€‹

4. ์šฐ๋ถ„๋‘ ์„ค์น˜ (์žˆ๋‹ค๋ฉด ์ƒ๋žต)

โ€‹

5. ์šฐ๋ถ„ํˆฌ์—์„œ GNU ํˆด์ฒด์ธ ์„ค์น˜

 

Ubutu์— ๋“ค์–ด๊ฐ€ ์ปค๋งจ๋“œ ์ฐฝ์—์„œ GNU ํˆด์ฒด์ธ์„ ์„ค์น˜ํ•œ๋‹ค. gcc/g++/gdb ์ปดํŒŒ์ผ๋Ÿฌ ๋“ฑ์˜ ๊ฐœ๋ฐœ๋„๊ตฌ๋“ค์„ ์„ค์น˜ํ•˜๋Š” ๋‹จ๊ณ„์ด๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์€ ๋ช…๋ น์–ด๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค.

cf) gcc/g++/gdb๋Š” ์ˆœ์„œ๋Œ€๋กœ c์ปดํŒŒ์ผ๋Ÿฌ, c++์ปดํŒŒ์ผ๋Ÿฌ, ๋””๋ฒ„๊ฑฐ์ด๋‹ค.

sudo apt-get update
sudo apt-get install build-essential gdb
 

๋‹ค ๋์œผ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์ž…๋ ฅ์–ด๋กœ ํ•œ ๋ฒˆ์”ฉ ์„ค์น˜๋œ ๋ฒ„์ „์„ ํ™•์ธํ•ด์ค€๋‹ค.

โ€‹

6. Remote-WSL ํ™•์žฅํŒฉ ์„ค์น˜

 

Visual Studio Code์— ๋“ค์–ด๊ฐ€(์—†๋‹ค๋ฉด ์„ค์น˜ ํ•„์š”) ์ขŒ์ธก ํ™•์žฅ(Extension)์—์„œ WSL์„ ๊ฒ€์ƒ‰ํ•ด ํ™•์žฅํŒฉ์„ ์„ค์น˜ํ•ด์ค€๋‹ค.

โ€‹

7. VSCode์—์„œ WSL ์—ฐ๊ฒฐํ•˜๊ธฐ

 

VSCode ์ขŒ์ธก ํ•˜๋‹จ ๊ตฌ์„์—์„œ ์›๊ฒฉ ์ฐฝ ์—ด๊ธฐ๋ฅผ ํด๋ฆญํ•œ๋‹ค. ์ ค ๊ตฌ์„์— ์ž‘๊ฒŒ ์žˆ๋‹ค... ๋ˆˆ ํฌ๊ฒŒ ๋– ์•ผ ํ•œ๋‹ค. ํด๋ฆญํ•œ ๋’ค Remote-WSL: New Window๋ฅผ ์„ ํƒํ•œ๋‹ค. ์ดํ›„ ํด๋” ์—ด๊ธฐ๋ฅผ ํ•˜๋ฉด ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์—ด๋ฆฌ๋Š”๋ฐ ์ด๊ฑด ์šฐ๋ถ„ํˆฌ์—์„œ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“  ๋’ค ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ์— ๋“ค์–ด๊ฐ€๋ฉด ๋œ๋‹ค. ๋””๋ ‰ํ† ๋ฆฌ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์€ ์šฐ๋ถ„ํˆฌ์—์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ํ•˜๋ฉด ๋œ๋‹ค. ์ดํ›„ ๋งŒ๋“  ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์ž์œ ๋กญ๊ฒŒ ์ฝ”๋”ฉํ•˜๊ณ  ๋ฆฌ๋ˆ…์Šค ๊ธฐ๋ฐ˜์œผ๋กœ ์ปดํŒŒ์ผ๋ง ํ•  ์ˆ˜ ์žˆ๋‹ค.

โ€‹

cf) ์˜ค๋ฅ˜ ๋ฐœ์ƒ... ์ฒ˜์Œ์— ์ด๋ ‡๊ฒŒ ํ•˜๋‹ˆ WSL ์—ฐ๊ฒฐ์ด ์•ˆ ๋๋‹ค๐Ÿšจ

์•„๋ž˜ ๊นƒํ—ˆ๋ธŒ ์ด์Šˆ ๋งํฌ๋ฅผ ํ†ตํ•ด ๋‚ด๊ฐ€ WSL ์„ค์น˜ ์ด์ „์— Docker๋ฅผ ์‚ฌ์šฉํ•ด์„œ WSL ๊ธฐ๋ณธ ์ด๋ฏธ์ง€๊ฐ€ ์šฐ๋ถ„ํˆฌ๊ฐ€ ์•„๋‹Œ Docker๋กœ ๋˜์–ด ์žˆ๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค.

https://github.com/microsoft/vscode-remote-release/issues/8730

wsl -l -v
wsl -s Ubuntu

powershell์„ ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰ํ•ด ์œ„์˜ ์ฝ”๋“œ ์ฒซ๋ฒˆ์งธ ์ค„๋กœ ํ˜„์žฌ ๊ธฐ๋ณธ WSL ์ด๋ฏธ์ง€๊ฐ€ Docker์ž„์„ ํ™•์ธํ•˜๊ณ  ๋‘๋ฒˆ์งธ ์ค„๋กœ ๊ธฐ๋ณธ ์ด๋ฏธ์ง€๋ฅผ Ubutu๋กœ ์žฌ์„ค์ • ํ•ด์คฌ๋‹ค.

โ€‹

์ด์ œ ๋โญโญโญ ์—ฌ๊ธฐ๊นŒ์ง€ ํ•ด์ฃผ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด VS Code์—์„œ ๋ฆฌ๋ˆ…์Šค ์šด์˜ ์ฒด์ œ ์•„๋ž˜ C์–ธ์–ด๋กœ ์ž‘์„ฑํ•œ ํŒŒ์ผ์„ ์ปดํŒŒ์ผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

cf) pwd: ํ˜„์žฌ ์ž‘์—…์ค‘์ธ ๋””๋ ‰ํ† ๋ฆฌ ์ถœ๋ ฅ, ls: ํŒŒ์ผ ๋ชฉ๋ก ํ‘œ์‹œ

โ€‹

์ด์ œ ํ™€๊ฐ€๋ถ„ํ•˜๊ฒŒ ์œˆ๋„์šฐ์—์„œ ์šด์˜ ์ฒด์ œ ์‹ค์Šต์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋๋‹ค.