습관처럼

SE - 시스템 소프트웨어 종류 본문

CS/SE

SE - 시스템 소프트웨어 종류

dev.wookii 2020. 5. 29. 21:02

소프트웨어는 크게 두 가지로 분류할 수 있다.

  • 시스템 소프트웨어(System software)
  • 응용 소프트웨어(Application software)

시스템 소프트웨어는 하드웨어를 컨트롤할 수 있는 소프트웨어로, 대표적으로 운영체제(OS)가 있다. 

 

예를 들어, 곰플레이어로 영상을 보고 싶다고 가정해보자. 곰플레이어는 모니터에게 '영상을 출력해'라고 말할 권한이 없기 때문에 운영체제에게 요청해야 한다. 곰플레이어가 운영체제에게 '운영체제야, 모니터에 영상을 출력해주면 안될까?'라고 요청하면 운영체제는 받아들인다. 그제야 하드웨어는 운영체제의 명령을 받아 모니터에 영상을 출력한다. 

 

이렇게 하드웨어를 컨트롤할 수 있는 소프트웨어가 '시스템 소프트웨어'이다. 즉, 장치를 움직이게 하는 소프트웨어다. 그리고 시스템 소프트웨어의 도움을 받아 사용자가 원하는 작업을 처리해주는 소프트웨어를 '응용 소프트웨어'라고 한다. 다른 말로 애플리케이션, 솔루션이라고 한다. 파워포인트, 인터넷, 게임 등 다양한 응용 소프트웨어는 운영체제의 도움을 받아 실행된다. 

시스템 소프트웨어의 종류

  • 운영체제(OS, operating system)
  • 링커(linker)
  • 로더(loader)
  • 컴파일러(compiler)
  • 어셈블러(assembler)
  • 유틸리티(utility)

운영체제

하드웨어를 움직이게 할 수 있는 권한은 운영체제만 가질 수 있다. 운영체제는 CPU 메모리, 하드디스크 등의 하드웨어를 관리해주고, 내 컴퓨터와 다른 컴퓨터들이 대화할 수 있도록 도와주는 등 많은 일들을 해주는 소프트웨어다.

 

운영체제가 있기 때문에 마우스가 어떻게 컴퓨터에서 인식되는지, 마우스 움직임이 모니터 화면에 어떻게 표시되는지, 카톡에서 보낸 메시지가 저 멀리 떨어진 다른 컴퓨터로 어떻게 보내지는지, 모니터에 사진이 어떻게 나타나는 지 신경 쓸 필요가 없다. 운영체제는 상용 소프트웨어인 윈도우(Window), 프리웨어인 리눅스(Linux) 등이 있다.

 

링커(linker) 

하나의 결과를 출력하기 위해 작성된 서로 다른 작은 프로그램들을 연결하여 실행 가능한 하나의 프로그램으로 만들어준다.

 

로더(loader) 

하드디스크와 같은 보조기억장치에 저장되어 있는 특정 프로그램을 CPU가 실행하기 위해 주기억장치에 적재하는 과정을 담당한다.

 

참고사항.....

 

펌웨어(firmware)

응용 소프트웨어처럼 별도의 설치 과정을 거치는 것이 아니라 하드웨어의 롬(ROM)에 저장되어 하드웨어를 제어하는 역할을 수행하는 소프트웨어 

 

미들웨어(middleware) 

서로 다른 기종의 하드웨어나 프로토콜, 통신 환경 등을 연결하여 응용 프로그램과 그 프로그램이 운영되는 환경 간에 원만한 통신이 이루어질 수 있게 하는 소프트웨어

 

플러그 앤드 플레이 
컴퓨터를 구입하면 함께 주는 드라이버 CD를 본 적이 있을 것이다. 프린터와 컴퓨터를 케이블로 연결해도 프린터가 곧바로 동작하지 않는다. 그 이유는 컴퓨터와 프린터가 서로 대화를 나누도록 도와주는 소프트웨어가 설치되지 않았기 때문이다. 프린터로 "100장 인쇄해"라고 명령을 보내려면, 운영체제에 드라이버(driver)라는 작은 소프트웨어가 설치되어 있어야 한다. 프린터를 살 때 항상 '드라이버 CD'를 제공하는 이유가 바로 이런 이유이다.