컴퓨터 공학/운영체제(3)
-
(운영체제) API? ABI? 리눅스 시스템 프로그래밍
책을 읽다가 사람들이 별로 모를거 같은 ABI가 나와서 ABI에 대해서 문서화를 하려고 한다. 개발자라면 모두가 원하는게 있을 것이다. 바로 작성한 프로그램이 잘 동작하는 것...! 어떤 환경에서도 프로그램이 잘 동작하길 원할 것이고, 이것이 시스템 프로그래밍의 영역으로 왔을 때는 영향을 주는 2가지를 고려하게 된다. 바로 API와 ABI이다. 🧐What is API? API란 뭘까? API는 소프트퉤어의 소스 코드 레벨에서 서로 인터페이스 하는 방식을 정의한다. 일반적으로 API의 표준 인터페이스는 함수이며 상위 레벨의 소프트웨어에서 더 하위 레벨의 소프트웨어를 호출할 수 있다. - 리눅스 시스템 프로그래밍, 36p API는 Application Programming Interface(애플리케이션 프로..
2022.10.25 -
(운영체제) 부동 소수점과 이에 따른 문제점(vs 고정 소수점)
오늘은 면접에서 질문 받은 것 중에서 기억에 남는 부동 소수점에 관련된 문제에 대해서 얘기해보려 한다. (사실 카테고리가 운영체제가 맞는지도 의문이다.) 뭐든지 그 세부사항을 알려면 그 단어의 의미를 먼저 파악해야 한다. '부동 소수점'은 무엇을 말하는 것일까? 먼저 '부동'이 뭔지 살펴보자. 🧐 안 움직이는 건가요? 한자로는 浮動(Not 不動) 이다. 그러니까 떠다니며 움직인다는 뜻이다. (반대어로는 고정 소수점이 있다.) 안 움직이는 것이 아니다. 왜 '뜰 부'를 써서 표현 했을까?(영어로는 float) 당연하게도 소수점의 위치를 고정하지 않고 그 위치를 나타내는 수이기 때문이다. 소수점의 위치를 고정하지 않는다! 이것은 또 무슨 말인가? 단어가 이해가 가지 않을때는 반대어를 생각하면 좋다. 바로 고..
2022.07.21 -
(운영체제) 운영체제의 개요
운영체제는 프로그래밍의 기본이 되는 것이라고 할 수 있다. 운영체제를 통해서 메모리 구조나 프로그램이 실행되는 방식을 이해하게 되면 코드를 작성할 때, 좀 더 유연한 사고방식으로 코드를 작성할 수 있다. 이 글을 쓰는 이유는 본질적으로 컴퓨터의 구조가 궁금해서 작성하는 것과 동시에 내가 공부한 내용을 정리하고, 면접에 조금이나마 도움이 되기 위해서 작성한다. 🏴 운영체제는 뭘까? 1960년대의 운영체제는 '하드웨어를 제어하는 소프트웨어' 정도에 지나지 않았다. 하지만 지금은 그 이상의 역할을 하고 있는 것이 사실이다. 그럼에도 불구하고 변하지 않는 진실이 있다. 바로 운영체제가 사용자와 하드웨어 사이에 중개자 역할을 한다는 것이다. 그럼 운영체제가 하드웨어에게 어떤 것을 제공할 수 있는지, 사용..
2022.07.07