리눅스 팁 & 테크
2018.03.25 11:18
Server 관련 News를 보고 싶다면?
조회 수 412 추천 수 0 댓글 4
https://www.cnx-software.com/
-
어셈블리 언어는 죽지 않았습니다.
많은 사람들이 지금은 어떤 시대인데 어셈블리 언어를 사용하냐고 비웃습니다.
과연 그럴까요?
스택오버플로어 2018년도 설문조사에 따르면 무려 7.4%의 점유율을 자랑합니다.
GO 언어, VB.NET, R 언어보다도 더 널리 사용된다는 얘기입니다.
정말일까요? 혹시 뻥이 아닌가 싶겠지만, 실제 개발자들이 설문 조사에 응한 결과이기 때문에 거짓으로 조작할 확률은 매우 낮습니다.
아직도 어셈블리는 살아있습니다. 그래서 어셈블리를 이용하여 만든 OS, 앱, 각종 도구들이 여전히 인기를 얻습니다. 개발자들은 힘들겠지만 최적화 문제에 있어서는 말 그대로 최적의 언어이기 때문입니다.
그리고 어셈블리도 다양하게 준비되어 있어서 개발자 입장에선 C 언어 다루는 것보다는 어려운 것은 사실이지만 전문가 입장에선 비슷한 경험입니다.
여하튼 우리가 아는 상식과 많이 현실 세계는 다르게 돌아간다는 것을 알아둘 필요가 있습니다.
그리고 어셈블리 언어를 소개하면 고개를 갸유뚱하는 이런 분위기가 많이 쇄신 되어야 하지 않을까 생각해 봅니다.
-
?
어셈블리가 죽지 않았다는 것은 사실입니다. 실제로 인라인 어셈같은 기술이 최적화기법으로 활용되고 있고 적용된경우가 많습니다.
다만 어셈블리언어의 최대 단점은 특정 아키텍쳐용이라는 것입니다. 멀리갈것도 없이 x86용으로 짜여진 어셈블리코드는 ARM에서 작동하지 않지요. 그리고 어셈블리는 CPU의 지원 비트수에도 영향을 받습니다. 한글96의 경우 16비트 어셈코드를 썼는데 덕분에 16비트지원이 제거된 2000후반 CPU에서는 작동하지 않습니다. 물론 한글96이 그 때까지 쓰일리가 없긴합니다만...
그래서 요즘은 인라인 어셈에대해서도 약간 회의적인 시각을 갖기도 합니다. 코드재활용이 어렵거든요. 유닉스의 장점이 C로 짜여져서 이식이 쉽다는 것이었습니다. 그 장점을 고스란히 받은 리눅스는 지금 여기저기에서 이식되어 구르고 있지요.
그래도 일단 API와 컴파일러만 공개되어있다면 필요에따라 쓰는 경우가 있기는 할겁니다. -
?
일단 서버라기 보다는 마이크로PC쪽 소식이 더 많네요. 일단 하나정도 갖고있으면 재미있습니다.(?)
임베디드 시스템 뉴스네요.
서버와 임베디드는 다릅니다.
여하튼 간에 참고가 될 것 같습니다.
리눅스는 임베디드 용으로 잘 활용되고 있습니다.
물론 다른 OS도 임베디드 용으로 포팅되어서 사용되는 OS가 생각보다 많습니다.
최적화 문제때문에 아무래도 리눅스가 애용되지요.
최소한의 메모리로 최적의 시스템 콜을 다루는 부분에선 콜리브리OS 임베디드 버전이 활용되고 있습니다.
어셈블리로 직접 모든 것을 컨트롤하니 한 마디로 말 그대로 최적입니다.
다만 대부분의 사람들이 어셈블리에 대해서 어려움을 많이 느낀다는 애로 사항이 있기는 합니다만...
참고 사항