검색
색인
시스템 소프트웨어, system software
동의어 : 시스템 프로그램(system program)
사용자가 컴퓨터 하드웨어 및 각종 장치 정보를 효율적으로 사용할 수 있도록 지원하는 소프트웨어.

컴퓨터 시스템의 개별 하드웨어(HW) 요소들을 직접 제어, 통합, 관리하는 소프트웨어로서 사용자가 컴퓨터 하드웨어의 물리적인 특성이나 구조를 전부 알지 못하더라도 컴퓨터 시스템을 사용할 수 있게 도와주는 역할을 하는 소프트웨어를 말한다.

시스템 소프트웨어에는 운영 체제(operating system), 링커(linker)나 로더(loader), 컴파일러(compiler), 어셈블러(assembler)와 같은 언어 처리 프로그램, 유틸리티(utility) 등이 있다.
- 운영 체제(operating system): 컴퓨터의 주기억 장치 내에 상주하면서 중앙 처리 장치, 주기억 장치, 보조 기억 장치, 입출력 장치, 네트워크 등의 컴퓨터 시스템 자원(resource)들을 효율적으로 제어하고 관리할 뿐만 아니라 사용자로부터 명령을 받아들이고 이를 해석하여 CPU에 전달할 수 있는 인터페이스를 제공하는 소프트웨어다.
- 링커(linker)와 로더(loader): 링커는 하나의 결과를 출력하기 위해 작성된 서로 다른 작은 프로그램들을 연결하여 실행 가능한 하나의 프로그램으로 만들어주는 프로그램이며, 그 연결 과정을 링킹(linking)이라고 한다. 로더는 하드디스크와 같은 보조기억장치에 저장되어 있는 특정 프로그램을 중앙 처리 장치(CPU)가 실행할 수 있도록 주기억 장치에 적재하는 과정을 담당한다. 로더에는 재배치 로더(relocating loader), 절대 로더(absolute loader), 링킹 로더(linking loader) 등이 있다.
- 언어 처리 프로그램(language processing program): 프로그래밍 언어로 작성된 프로그램을 컴퓨터가 이해할 수 있는 0과 1의 이진 체계 언어인 기계어(machine language)로 변환해주는 프로그램이다. 언어 처리 프로그램에는 컴파일러, 어셈블러 등이 있다. 컴파일러는 고급 언어를 기계어로 번역해주는 작업을 하고, 어셈블러는 저급 언어인 어셈블리어(Assembly Language)로 작성된 프로그램을 기계어로 번역해주는 작업을 한다.
- 유틸리티(utility): 컴퓨터 시스템 동작을 도와주는 작은 규모의 프로그램을 지칭한다. 컴퓨터 하드웨어(HW), 운영 체제(OS), 응용 소프트웨어를 관리하는 데 도움을 준다. 자주 사용되는 유틸리티는 디스크 조각 모음, 파일 압축, 백업과 복구, 장치 드라이버 등이 있다.
  · 디스크 조각 모음: 컴퓨터 하드 디스크(HDD)의 조각난 파일을 통합하여 컴퓨터를 더 효율적으로 실행할 수 있도록 해주는 도구다.
  · 파일 압축: 파일 압축 프로그램을 사용하여 프로그램 파일이나 데이터 파일의 크기를 축소함으로써 이들 파일을 저장하는 디스크의 기억 공간을 절감하고 전송하는 데 필요한 시간을 단축하기 위한 작업이다.
  · 백업(backup)과 복원(restore): 컴퓨터 시스템 사용 중에 일어날 수 있는 사용자의 크고 작은 실수나 바이러스에 의한 파일 손상 또는 소프트웨어나 하드웨어의 오류로 인한 파일 손상에 대비하거나, 특정 시점이나 상황으로 시스템 작동을 유지하기 위해 원본과 다른 복사본 파일을 저장해주는 작업을 말한다. 백업은 파일 백업시스템 백업으로 구분하며, 백업된 내용으로 컴퓨터 시스템을 다시 복구하는 작업을 복원이라고 한다.
  · 장치 드라이버: 컴퓨터 시스템에 부착된 장치를 제어하기 위한 프로그램이다. 장치 드라이버운영 체제가 전달하는 명령어들을 각각의 장치가 이해할 수 있는 명령으로 변경하여 작업을 실행할 수 있도록 제어한다.