#1 운영체제의 역할 | 기본

HYUN·2021년 2월 15일
1

OS | 운영체제

목록 보기
1/13
post-thumbnail
post-custom-banner

운영체제는 왜 필요할까?

항상 그렇듯이 왜?는 중요합니다. 이유를 알고 있는것과 아닌것의 차이는 분명합니다.

보통 우리는 운영체제가 시스템 자원(System resourse)을 관리하기 위해 필요하다고 알고 있습니다.

시스템 자원

하드웨어의 자원이라고 생각할 수 있는데 여러가지 하드웨어 중 인간의 두뇌라고 말하는 중요한 CPU(중앙 처리 장치)는 프로그램을 실행시켜주는 매우 중요한 역할을 합니다.

하지만 이렇게 중요한 부품인 (똑똑한)CPU도 스스로는 할 수 있는게 없습니다. 운영체제에 의해서 어떠한 프로그램이 어느정도의 CPU를 사용해야 하는지 정해주지 않는다면 (비싸고 똑똑한)CPU는 고철에 불과합니다.

Memory(주기억장치) 역시 매우 중요한 하드웨어 부품이지만 운영체제에 의해 어떠한 프로그램이 혹은 어떠한 데이터가 어느 주소에 저장되어야 하는지 또 어느 정도의 공간을 확보해줘야 하는지 스스로 결정할 수 없습니다.

영구적으로 데이터를 저장하는 HDD/SSD는 어떨까요? 단지 데이터를 저장할 수 있는 하드웨어일 뿐이지 어디에 어떤 방식으로 저장할지 운영체제 없이는 알지 못합니다.

즉 컴퓨터를 사용하기 위해서 다른 말로 하드웨어를 관리(사용)하기 위해서는 운영체제가 꼭 필요하다는 말입니다.

만약 운영체제 없이 컴퓨터에 전원을 켜면 운영체제를 설치해달라는 문구를 보실 수 있을 겁니다.


어떤 운영체제를 선택해야하나?

일반적인 사용자라면 사용자들이 가장 많은 대표적인 운영체제인 Windows OS(윈도우)를 선택하면 됩니다. 무료는 아니지만 일반적인 사용자가 사용하기 가장 편한 인터페이스를 제공한다는 장점이 있습니다.

혹은 Mac OS(맥)를 선택할 수 도 있겠죠. 윈도우와 비교하자면 익숙하지 않은 인터페이스를 경험하겠지만 일반적인 사용자들도 사용하기에 불편한 점은 크게 없습니다. 개발자의 입장에서는 오히려 CLI 환경과 GUI 환경을 더 편하게 사용할 수 있다고 생각하시는 분들도 많습니다.

그리고 개발자라면 앞의 두 운영체제의 기반이 된 UNIX(유닉스)와 UNIX와 사용법이나 구조가 비슷한 LINUX OS(리눅스)가 있습니다. 개발을 목적으로 운영체제를 선택한다면 리눅스의 운영체제 중 무료인 ubuntu를 사용할 수 도 있습니다.

실제로 ubuntu를 사용중이며 크게 불편한 점은 없습니다.
이러한 운영체제들은 사용자들에게 제공하는 인터페이스는 조금씩 다르지만 사용자와 컴퓨터의 하드웨어가 대화를 할 수 있게 도와주는 중요한 역할을 합니다.


운영체제와 응용 프로그램

일반적으로 컴퓨터를 사용하는 목적은 어떠한 응용 프로그램을 사용하기 위함인데 운영체제는 이러한 프로그램에게도 필수적으로 필요합니다.

응용 프로그램
application software, application program 혹은 애플리케이션이라고 이야기 하며, 모바일 환경에서는 줄여서 앱(app)이라고 이야기 합니다.

응용 프로그램들은 운영체제 위에서 동작하기 때문인데요. 운영체제도 하나의 프로그램 즉, 소프트웨어 이지만 다른 응용 프로그램들과는 다르게 하드웨어와 소프트웨어를 관리하는 소프트웨어 전체라고 할 수 있습니다.

앞서 이야기한대로 운영체제는 응용 프로그램들을 관리하는데 여기서 관리응용 프로그램의 실행부터 응용 프로그램의 일반적인 기능 이외에 조금 더 많은 기능을 사용할 수 있는 권한(관리자 권한으로 실행) 그리고 이러한 응용 프로그램을 사용하는 사용자 또한 운영체제에 의해 관리가 됩니다.

또한 다른 사용자에 의해 만들어진 응용 프로그램들을 실행시에 일어나는 많은 리스크(악용 코드, 프로그램의 다운, 사용자의 데이터 손실 등)을 운영체제가 막아주기도 합니다.

즉, 운영체제는 사용자에게는 응용 프로그램을 효율적으로 사용할 수 있게 해주며 응용 프로그램에게는 해당 프로그램이 요청하는 시스템 리소스를 효율적으로 분배하고 지원할 수 있게 도와주는 소프트웨어라고 할 수 있습니다.

profile
자바스크립트를 좋아합니다. | 이유를 알고 있는 것과 모르는 것의 차이는 분명하다.
post-custom-banner

0개의 댓글