๐Ÿ’ป IT Study/Knowledge

[์šฉ์–ด์ •๋ฆฌ] ์–ธ์–ด ๋ฐ ์ฝ”๋“œ

eeeeee_joo 2022. 4. 12. 20:46

โ€ป ์œ„ ์ด๋ฏธ์ง€๋Š” ์ดํ•ดํ•œ ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ๊ทธ๋ ค๋‚ธ ๋„ํ‘œ์ž…๋‹ˆ๋‹ค. ์ž˜๋ชป๋œ ๋ถ€๋ถ„์ด ์žˆ์œผ๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š” :-)

 

์ €๊ธ‰์–ธ์–ด vs ๊ณ ๊ธ‰์–ธ์–ด 

๊ณ ๊ธ‰์–ธ์–ด (High-Level Language) : ์‚ฌ๋žŒ์ด ์•Œ๊ธฐ ์‰ฝ๋„๋ก ์”Œ์–ด์ง„ ์–ธ์–ด 

- ์‚ฌ์šฉ์ž ์œ„์ฃผ์˜ ์–ธ์–ด 

- ๊ฐ€๋…์„ฑ์ด ๋†’์œผ๋ฉฐ ๋‹ค๋ฃจ๊ธฐ ๊ฐ„๋‹จํ•˜๋‹ค. 

- ์ปดํŒŒ์ผ๋Ÿฌ๋‚˜ ์ธํ„ฐํ”„๋ฆฌํ„ฐ์— ์˜ํ•ด ์ €๊ธ‰์–ธ์–ด๋กœ ๋ฒˆ์—ญ๋˜์–ด ์‹คํ–‰๋œ๋‹ค. 

ex) FORTRAN, COBOL, Java, C++ …

 

์ €๊ธ‰์–ธ์–ด (Low-Level Language) ์ปดํ“จํ„ฐ ๋‚ด๋ถ€์—์„œ ๋ฐ”๋กœ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅํ•œ ์–ธ์–ด 

- ํ•˜๋“œ์›จ์–ด ์œ„์ฃผ์˜ ์–ธ์–ด 

- ํ”„๋กœ๊ทธ๋žจ ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค. 

ex) ๊ธฐ๊ณ„์–ด. ์–ด์…ˆ๋ธ”๋ฆฌ์–ด

 

์ €๊ธ‰์–ธ์–ด  - ๊ธฐ๊ณ„์–ด vs ์–ด์…ˆ๋ธ”๋ฆฌ์–ด

1) ๊ธฐ๊ณ„์–ด(Machine Language) : 0๊ณผ 1๋กœ ๊ตฌ์„ฑ๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ ์ฝ”๋“œ 

- ๊ธฐ๊ณ„์–ด๊ฐ€ ์ด์ง„์ฝ”๋“œ๋กœ ์ด๋ฃจ์–ด์กŒ์„ ๋ฟ. ๋ชจ๋“  ์ด์ง„์ฝ”๋“œ๊ฐ€ ๊ธฐ๊ณ„์–ด๋Š” ์•„๋‹ˆ๋‹ค. (๋ฐ”์ด๋„ˆ๋ฆฌ์ฝ”๋“œ != ๊ธฐ๊ณ„์–ด)

- ๊ธฐ๊ณ„์–ด๋Š” ํŠน์ • ์–ธ์–ด๊ฐ€ ์•„๋‹ˆ๋‹ค. 

- CPU ์ œ์กฐ ์‹œ CPU์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด ์ง‘ํ•ฉ์„ '๊ธฐ๊ณ„์–ด'๋กœ ๋ถ€๋ฅผ ๋ฟ. 

- ์ปดํ“จํ„ฐ ๊ตฌ์กฐ์— ๋”ฐ๋ผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๊ณ„์–ด๊ฐ€ ๋‹ฌ๋ผ์ง„๋‹ค.

 

2) ์–ด์…ˆ๋ธ”๋ฆฌ์–ด(Assembly Language) : ๊ธฐ๊ณ„์–ด์™€ ์ผ๋Œ€์ผ๋Œ€์‘ ๋˜๋Š” ๋‹ˆ๋ชจ๋‹‰ ๊ธฐํ˜ธ(mnemonic symbol)๋ฅผ ์ด์šฉํ•œ ์ฝ”๋“œ

- ๊ฐ ๋ช…๋ น์–ด์— ๋Œ€ํ•ด ๋‹ˆ๋ชจ๋‹‰ ๊ธฐํ˜ธ๋ฅผ ์ •ํ•ด ์‚ฌ๋žŒ์ด ์ข€ ๋” ์‰ฝ๊ฒŒ ์ปดํ“จํ„ฐ์˜ ํ–‰๋™์„ ์ œ์–ด ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•จ.

- ์ตœ์†Œํ•œ์˜ ๋ช…๋ น์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์–ธ์–ด๋กœ ๋งค์šฐ ์„ธ๋ฐ€ํ•˜๊ฒŒ ๋ช…๋ น์„ ๋‚ด๋ฆผ

*๋‹ˆ๋ชจ๋‹‰๊ธฐํ˜ธ๋Š” ์ด์ง„์ฝ”๋“œ๋ณด๋‹ค ์‚ฌ๋žŒ์ด ์•Œ์•„๋ณด๊ธฐ ์‰ฝ๋‹ค. 


์›์‹œ์ฝ”์Šค vs ๋ชฉ์ ์ฝ”๋“œ 

์›์‹œ์ฝ”๋“œ(Source Code) : ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ํ…์ŠคํŠธ 

- ์‚ฌ๋žŒ์ด ์ž‘์„ฑํ•˜๋Š” ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ์ฝ๊ธฐ ์ข‹์€ ์ฝ”๋“œ 

 

๋ชฉ์ ์ฝ”๋“œ(Object Code) : ์ปดํŒŒ์ผ๋Ÿฌ์— ์˜ํ•ด ๋ฒˆ์—ญ๋œ ์†Œ์Šค์ฝ”๋“œ 

- ์ปดํŒŒ์ผ๋Ÿฌ๋‚˜ ์–ด์…ˆ๋ธ”๋Ÿฌ์— ์˜ํ•ด ์ƒ์„ฑ๋œ ์ฝ”๋“œ 


๋ฐ”์ดํŠธ์ฝ”๋“œ vs ๋ฐ”์ด๋„ˆ๋ฆฌ์ฝ”๋“œ

๋ฐ”์ดํŠธ์ฝ”๋“œ(Byte Code) : ๊ฐ€์ƒ๋จธ์‹ (Virtual Machine)์ด ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋Š”์ฝ”๋“œ

- ์†Œ์Šค์ฝ”๋“œ๊ฐ€ ์ž๋ฐ” ์ปดํŒŒ์ผ๋Ÿฌ์— ์˜ํ•ด ๋ณ€ํ™˜๋˜๋Š” ์ฝ”๋“œ์˜ ๋ช…๋ น์–ด ํฌ๊ธฐ๊ฐ€ 1Byte์ด๊ธฐ ๋•Œ๋ฌธ

- ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๊ฐ€์ƒ๋จธ์‹ ์ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์ค‘๊ฐ„์ฝ”๋“œ๋กœ ์ปดํŒŒ์ผ ํ•œ ๊ฒƒ.

- ๋ฐ”์ดํŠธ ์ฝ”๋“œ๋Š” ๋‹ค์‹œ ์‹ค์‹œ๊ฐ„ ๋ฒˆ์—ญ๊ธฐ or JIT(Just-In-Time) ์ปดํŒŒ์ผ๋Ÿฌ์— ์˜ํ•ด ๋ฐ”์ด๋„ˆ๋ฆฌ ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜ 

 

๋ฐ”์ด๋„ˆ๋ฆฌ์ฝ”๋“œ(Binary Code) : ์ปดํ“จํ„ฐ(CPU)๊ฐ€ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋Š” 0๊ณผ 1๋กœ ๊ตฌ์„ฑ๋œ ์ด์ง„์ฝ”๋“œ

 


* ์ฐธ๊ณ ์‚ฌ์ดํŠธ

https://greendreamtrre.tistory.com/65

 

์ปดํŒŒ์ผ๋Ÿฌ, ๋ชฉ์  ํŒŒ์ผ, ๋ฐ”์ดํŠธ ์ฝ”๋“œ, ๋ฐ”์ด๋„ˆ๋ฆฌ ์ฝ”๋“œ, ์–ด์…ˆ๋ธ”๋ฆฌ์–ด, ๊ธฐ๊ณ„์–ด

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด(Programing language) : ์‚ฌ๋žŒ์ด ์ž‘์„ฑํ•˜๋Š” ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ์ฝ๊ธฐ ์ข‹์€ ์ฝ”๋“œ.... C, C++, Java, Python, Swift, Go... ์ปดํŒŒ์ผ(Compile) : ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๊ธฐ๊ณ„์–ด ํ˜น์€ ๊ธฐ๊ณ„์–ด์™€ ์œ ์‚ฌํ•œ Low Leve..

greendreamtrre.tistory.com

https://shrtorznzl.tistory.com/82

 

๋ฐ”์ดํŠธ์ฝ”๋“œ์™€ ๋ฐ”์ด๋„ˆ๋ฆฌ ์ฝ”๋“œ์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ผ๊นŒ?

C์–ธ์–ด๋Š” ์ปดํŒŒ์ผ๋Ÿฌ์— ์˜ํ•ด ์†Œ์ŠคํŒŒ์ผ(*.c)์ด ๋ชฉ์ ํŒŒ์ผ(*.obj)๋กœ ๋ณ€ํ™˜๋ ๋•Œ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ, ์ฆ‰ 0๊ณผ 1๋กœ ์ด๋ฃจ์–ด์ง„ ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜๋œ๋‹ค. ์ฆ‰, ์ปดํŒŒ์ผ ํ›„์— ์ด๋ฏธ ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์ด์ง„์ฝ”๋“œ๋กœ ๋ณ€ํ™˜๋˜๋Š”

shrtorznzl.tistory.com

 

https://velog.io/@dsunni/Java-JVM%EC%9D%80-%EB%AC%B4%EC%97%87%EC%9D%B4%EB%A9%B0-%EC%9E%90%EB%B0%94-%EC%BD%94%EB%93%9C%EB%8A%94-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%8B%A4%ED%96%89%ED%95%98%EB%8A%94-%EA%B2%83%EC%9D%B8%EA%B0%80

 

[Java] JVM์€ ๋ฌด์—‡์ด๋ฉฐ ์ž๋ฐ” ์ฝ”๋“œ๋Š” ์–ด๋–ป๊ฒŒ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ธ๊ฐ€

2. JVM์€ ๋ฌด์—‡์ด๋ฉฐ ์ž๋ฐ” ์ฝ”๋“œ๋Š” ์–ด๋–ป๊ฒŒ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ธ๊ฐ€

velog.io

https://ko.wikipedia.org/wiki/%EC%96%B4%EC%85%88%EB%B8%94%EB%A6%AC%EC%96%B4

 

์–ด์…ˆ๋ธ”๋ฆฌ์–ด - ์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „

์–ด์…ˆ๋ธ”๋ฆฌ์–ด(์˜์–ด: assembly language) ๋˜๋Š” ์–ด์…ˆ๋ธ”๋Ÿฌ ์–ธ์–ด(assembler language)[1]๋Š” ๊ธฐ๊ณ„์–ด์™€ ์ผ๋Œ€์ผ ๋Œ€์‘์ด ๋˜๋Š” ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์ €๊ธ‰ ์–ธ์–ด์ด๋‹ค. ์ปดํ“จํ„ฐ ๊ตฌ์กฐ์— ๋”ฐ๋ผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๊ณ„์–ด๊ฐ€ ๋‹ฌ๋ผ์ง€๋ฉฐ, ๋”ฐ

ko.wikipedia.org