오늘은 운영체제(OS, Operating System)에 대해 배워보겠습니다!
* 운영체제는 무슨 역할을 할까요?
앞서 우리는 CPU와 메모리, 보조기억장치 등을 배웠는데요,
venture-capital.tistory.com/16
컴퓨터의 구성요소 (CPU, 메모리, 보조기억장치)
컴퓨터는 어떻게 작동할까요? CPU, RAM(메모리), 기억장치 등을 컴퓨터를 구성하는 요소들을 메인보드라는 판에 끼우고 여기에 전원을 연결하면 작동됩니다. 오늘 포스팅에서는 컴퓨터의 구성요
venture-capital.tistory.com
운영체제는 바로 이 구성요소들을 컨트롤하면서 컴퓨터의 작동을 책임지는 소프트웨어입니다.
* 운영체제의 종류
운영체제는 크게 사용용도에 따라 2개로 나눌 수 있습니다.
1) PC에서 사용
- 윈도우(마이크로소프트)
- MAC OS(애플)
2) 모바일에서 사용
- 안드로이드(구글)
- iOS(애플)
삼성, LG등 휴대폰 제조사들은 구글에 한 푼도 내지 않고 안드로이드를 탑재한 휴대폰을 출시할 수 있습니다.
그럼 우리는 여기서 궁금증이 하나 생깁니다.
구글은 왜 본인들이 개발한 안드로이드를 무료로 삼성전자, LG전자에 제공해주는걸까요?
구글의 전략은 최대한 많은 사람들을 안드로이드로 끌어들이는 것입니다.
구글이 안드로이드 무료 배포를 통해 크게 3가지 방법에서 수익을 창출하는데요,
1) 구글은 제조사가 안드로이드를 이용하는 대신 유트브와 구글지도 같은 구글의 대표 앱을 의무적으로 탑재하게 합니다.
구글앱을 많은 사람들이 사용할수록 더 많은 데이터를 얻을 수 있고, 이를 통해 더 많은 광고를 표시하는 등 수익을 창출할 수 있죠.
2) 안드로이드 휴대폰은 구글의 앱스토어인 구글플레이를 첫 화면에 배치하는데요, 이를 통해 구글은 앱 구매 수수료로 상당한 수익을 얻습니다. 유료 앱을 다운로드받으면 구글이 결제액의 30%를 수수료로 떼가는 방식이죠.
3) 안드로이드 핸드폰에서 구글 검색엔진을 통해 검색을 하면 광고료가 전부다 구글의 몫이지만 iOS 운영체제인 애플에서 구글검색을 하면 수입의 상당부분이 애플에게 갑니다. 그러므로 구글입장에서는 아이폰이 아닌 안드로이드 폰에서 구글검색을 하는 것이 좋죠.
이런 3가지 이유로 구글은 제조사에게 안드로이드를 무료로 배포합니다.
* 예시로 운영체제의 개념 설명(Feat.카카오톡)
- 카카오톡을 예로 들어 운영체제를 쉽게 설명해보겠습니다.
카카오톡은 위 4개의 운영체제에서 다 작동하지만 똑같은 프로그램이 아닙니다.
카카오톡 개발자들이 위의 4개의 운영체제에서 작동될 수 있는 카카오톡 어플을 따로 개발한 것이죠.
위의 4개가 전세계 운영체제 시장을 차지하고 있으므로 카카오톡 입장에서는 그 외의 운영체제를 위한 카카오톡 어플을 개발할 필요는 없습니다.
- 카카오톡을 다운로드 할때 일어나는 일
카카오톡을 다운로드하면 어떤 일들이 일어나는지 순서대로 살펴보겠습니다.
1) 앱스토어에서 카카오톡을 검색하고 다운로드 버튼을 클릭.
2) 기지국으로 '카카오톡 설치 파일을 보내줘'라는 신호가 가고, 이 신호는 WAN(Wide Area Network)을 따라 이동함.
3) 신호는 애플이 가지고 있는 서버컴퓨터로 가고, 서버 컴퓨터가 카카오톡이 앱스토어(iOS)에 올려놓은 파일을 사용자의 컴퓨터로 보냄.
4) 이 설치파일이 보조기억장치(HDD, SSD)에 저장되고 설치를 실행하면, 설치에 필요한 파일들이 메모리로 옮겨지고 CPU가 이를 처리함.
* 운영체제에 따른 개발자 분류
각각 운영체제에 따라 개발자의 종류를 아래와 같이 나눌 수 있습니다.
* 운영체제와 프로그래밍 언어
그럼 각 운영체제에서 작동하는 어플을 만드려면 어떤 프로그래밍 언어를 사용해야 할까요?
운영체제를 만드는 회사에서 지정한 언어를 사용해야 합니다.
예를 들어 애플의 운영체제(Mac OS, iOS)에서 작동되는 응용프로그램을 만들기 위해서는 Ojective-C 혹은 스위프트라는 언어를 사용해야 합니다.
* JVM의 출현
- Java라는 프로그래밍 언어를 만든 팀은 운영체제 위에서 작동하는 JVM(Java Virtual Machine)이라는 소프트웨어를 만들었습니다.
- JVM이 혁명적인 이유는 운영체제별로 여러 개의 프로그램을 만들 필요 없이 자바로만 만들면 JVM이 알아서 그 운영체제에 맞게 작동할 수 있도록 하기 때문입니다.
- JVM과 마찬가지로 파이썬도 운영체제와 무관하게 작동할 수 있도록 돕는 소프트웨어입니다.
→ 이런 이유로 우리가 처음 코딩을 배울 때 추천받는 언어가 운영체제에 독립적인 JAVA와 파이썬인 것입니다.
- Java는 전 세계적으로 가장 인기있는 언어로, "한번 작성하면 어디서든 실행된다."는 슬로건이 유명합니다.
- 하지만 이런 프로그램의 단점도 있습니다.
바로 운영체제 위에 프로그램을 돌리고 그 위에서 또 프로그램을 돌려야하므로 작동 속도가 더 오래걸린다는 것이죠.
※ 본 포스팅은 '비전공자를 위한 이해할 수 있는 IT지식', 'IT 좀 아는사람' 책의 내용을 바탕으로 작성하였습니다.
해당 책 내용을 직접 읽고 쓴 포스팅으로, 책 내용과 다르거나 틀린부분이 있을 수 있습니다.
최근댓글