[컴퓨터 개론] 소프트웨어 이해하기
업데이트:
플랫폼의 파편화
플랫폼이란 프로그램이 실행되는 하드웨어, 소프트웨어 환경을 말한다.
예를 들어, 애플리케이션은 운영체제가 제공해주는 환경 위에서 실행되기 때문에 운영체제는 애플리케이션의 플랫폼이 된다.
운영체제는 여러 하드웨어 위에서 동작하는데, 하드웨어는 운영체제의 플랫폼이 된다.
프로그램을 만들 때 항상 플랫폼을 고려해서 맞춤형으로 만들어야 한다.
하나의 OS를 위해 만들어진 애플리케이션은 다른 OS에서 실행을 할 수 없는 것 처럼, 플랫폼이 맞지 않으면 아예 실행이 되지 않는다.
그렇기 때문에, 프로그램을 다운받을 때 운영체제별로 프로그램이 나눠져 있는 것을 볼 수 있다.
이렇게 프로그램일 만들때나, 실행할 때 플랫폼에 영향을 받는 것을 플랫폼 의존성
이라고 한다.
플랫폼 의존성 때문에 프로그램을 만들 때 플랫폼의 개수 만큼 만들어야 한다.
플랫폼 의존성 단계는 하드웨어 >> 운영체제 >> 애플리케이션 >> 사용자
순 으로 더욱 복잡해지며, 애플리케이션에서 가장 힘이 든다.
운영체제를 만들 때는 CPU를 고려해서 생성해야되고, 애플리케이션을 만들 때는 운영체제와, CPU를 모두 고려해야 한다.
-
모바일 애플리케이션
모바일 운영체제를 크게 iOS와 Android로 나눴을 때, iOS에도 아이폰, 아이패드등이 여러 버전으로 나눠질 수 있고, Android도 제조사 별로 많은 모델과 버전으로 나뉠 수 있다.
이렇게 여러 가지로 나뉘는 것이 모두 다른 플랫폼이기 때문에 애플리케이션을 개발하는 회사 입장에서는 모든 것에 맞춰 개발하고자하면 비용과 시간이 많이 소요되며, 유지보수도 힘들다.
그렇기 때문에 특정 플랫폼은 포기하고 일부 플랫폼만 지원하는 애플리케이션도 많다.
이런 상황이 플랫폼 의존성의 고충이고, 이런 상황을 플랫폼이 파편화 되었다고 한다.
표준의 필요성
크로스 플랫폼 (가상 머신)
크로스 플랫폼 (웹)
네이티브 애플리케이션과 웹 애플리케이션
웹을 활용하는 여러 가지 방법
[코드잇-컴퓨터 개론]https://www.codeit.kr/courses/intro-to-computer
공유하기
Twitter Google+ LinkedIn
댓글남기기