[C++] 운영 체제(OS)

2024. 3. 12. 21:57Programming Language/C++

운영 체제(OS)

운영체제는 실질적인, 물리적인 영향력을 행사하는 것이 아니라 컴퓨터에 깔려있는 두뇌 같은 것이다.

운영체제는 소프트웨어에, pc 기기 자체는 하드웨어에 해당한다.
ex) 운동선수

신체 능력도 중요하지만 신체운동지능도 중요하다.

아무리 신체능력이 월등해도 머리가 별로라면 신체능력을 제대로 활용하지 못할 것이다.

신체운동지능은 소프트웨어, 신체 능력은 하드웨어에 해당한다.


Visual Studio를 열면 솔루션을 생성하고 하위 폴더로 프로젝트들이 생성된다.

프로젝트를 빌드할 때 솔루션 플랫폼이라는 것이 있는데 솔루션은 무엇이고 플랫폼이란 무엇일까?

솔루션(solution)

쉽게 말해서 여러 개의 프로젝트가 모인 것이다.

프로젝트는 프로그램의 실체이다.

솔루션을 열었을 때 프로젝트가 있고 프로젝트가 빌드되면 실행 프로그램이 나온다.

프로젝트 폴더 안에는 헤더 파일과 cpp 파일 등이 들어있다.


플랫폼(platform)

안드로이드(Android), 스팀(Steam) 같은 것을 우리는 플랫폼이라고 한다. 즉, 무언가가 실행될 수 있는 기반이다.

안드로이드라는 운영체제 하에 실행되는 프로그램들을 만들기 때문에 그 자체가 하나의 기반이 되는 플랫폼이다.

애플 제품들이 사용하는 운영체제인 iOS도 마찬가지다. 안드로이드처럼 iOS 프로그램도 따로 만들어줘야 한다.

 

우리가 사용하고 있는 윈도우(window)도 플랫폼이다.

프로그램을 만들어서 판매하는 개발자는 pc기반에서 실행될 수 있는 프로그램을 어느 운영체제, 플랫폼을 타깃으로 하는 것이 좋을까?

당연히 사람들이 많이 사용하는 윈도우일 것이다.

 

스팀, 에픽 게임즈(Epic Games), GOG, EA, UPlay처럼 윈도우 안에서도 게임을 판매하는 경우가 있다.

만약 스팀에서 산 게임을 EA에서 플레이할 수 있을까? ➜ X

스팀 기반 게임이라서 스팀에서만 플레이 가능하기 때문에 스팀을 플랫폼이라고 한다.

 

윈도우 운영체제는 32비트와 64비트가 있는데, 요즘은 거의 다 64비트를 사용한다.

비주얼 스튜디오에서 우리가 만든 프로그램이 32비트 기반에서 실행될 것인지 아니면 64비트 기반에서 실행될 것인지 선택할 수 있고 그것을 타깃으로 한 프로그램을 빌드한다.

그래서 솔루션 플랫폼이라는 것을 보면 32비트 기반인지 64비트 기반인지 고를 수 있게 되어있다.

솔루션 플랫폼 : x64, x86, 구성 관리자...

64비트는 x64로 표시되는 것은 다 알고 있을 것이다.

근데 왜 32비트는 x86으로 표시되어 있을까?

32비트가 있던 시절에 cpu 이름이 x86이었다고 한다.

더 찾아보니까 32비트 cpu의 이름8086이었다. 그래서 이 숫자를 cpu 제품명에 붙여서 지금까지도 x86으로 불리고 있다.

 

x86는 OS의 데이터 처리 단위를 말하는데 이게 작아지면 메모리에 문제가 생긴다.

요즘 게임들의 사양이 높아져서 하드웨어가 좋아도 cpu가 하드웨어의 성능을 따라가지 못한다.

요즘은 64비트를 거의 다 쓴다고 말했었는데 애초에 요즘 출시되는 게임들을 보면 64비트를 지원한다.

때문에 솔루션 플랫폼을 x86으로 변경할 일은 없다.