본문 바로가기
Computer Science/Computer architecture

4. 소프트웨어의 역할

by 나는 유찌 2020. 5. 10.

 

 

 

1. 역할 구분

 

1) 응용 프로그램 (Application Program, 애플리케이션)

- 사용자 서비스를 위한 것이다.

- 문서 편집이나 자료관리 등 사용자의 목적에 맞게 특정한 작업을 수행하는 프로그램이다.

사용자

문서 파일 (ex. hello.doc, test.hwp)

응용 프로그램

워드 프로세서 프로그램

운영체제

윈도우 운영체제

하드웨어

PC

 

 

 

 

2) 시스템 소프트웨어 (System Software)

- 하드웨어를 효율적으로 다루기 위한 것이다.

- 하드웨어 구동과 관련되어 컴퓨터 시스템을 효율적으로 다루기 위한 프로그램들의 집합이다.

 

 

① 종류

˙ 로더 (Loader) : 프로그램을 메모리에 넣어 실행을 준비한다.

˙ 진단 (Diagnostic) : 하드웨어나 응용프로그램의 상태를 진단한다.

˙ 유틸리티 (Utility) : 디버거(Debuffer), I/O 프로그램 등

˙ 언어처리기 (Language Processor) : 번역 프로그램

˙ 라이브러리 (Library) : 표준 서브루틴 (Subroutine)

˙ 운영체제 (Operating System, OS) : 하드웨어나 소프트웨어를 관리 운영한다. 대표적인 시스템 소프트웨어다.

 

 

② 시스템 소프트웨어의 역할

 

 

 

3) 운영체제 (Operating System, OS)

- 컴퓨터를 운영하는 프로그램을 가상으로 표현한 말이다.

- 컴퓨터 사용자, 하드웨어, 소프트웨어 사이의 중재자로서 인터페이스를 제공한다.

- 시스템 자원의 효율이 전반적으로 최대가 되도록 하드웨어나 소프트웨어를 총괄한다.

- CPU에 일을 시키고 디스크에 자료를 저장하고 화면에 글자를 나타내는 등 기본적이며 필수적인 서비스와 명령을 받아들여 처리한다.

 

 

① 장치 드라이버

- 컴퓨터 시스템의 하드웨어나 주변장치를 구동시킬 때 운영체제가 요구하는 정보가 들어있는 소프트웨어 파일이다.

- 즉, 하드웨어를 구동시킬 때 필요한 파일이다.

 

 

② 커널과 시스템 호출

 

· 커널 (Kernel)

- 운영체제의 핵심부항상 주기억장치에 상주한다.

- 하드웨어와 소프트웨어 요소들 사이의 통신과 시스템 자원을 관리한다.

- 운영체제의 다른 부분에서 공통적으로 필요한 서비스를 제공한다.

- 운영체제가 기본적으로 해야 할 대부분의 작업들을 수행한다.

 

 

· 시스템 호출 (System Call)

- 커널에 운영체제의 서비스를 요청하는 절차다.

 

 

 

③ 쉘과 유틸리티

 

· 쉘 (Shell, 명령어 해석기, Command Interpreter)

- 사용자가 운영체제의 내부 커널을 인터페이스 한다.

- 까다로운 프로그램이나 운영체제의 사용 불편을 개선하기 위해 메뉴 구동형의 사용자 인터페이스를 제공하는 일종의 유틸리티 프로그램이다.

- 커널 사이트를 이용할 수 있도록 명령어 라인이나 그래픽 인터페이스를 통해 사용자의 명령을 처리한다.

- ex) 사용자가 HTML 코드를 몰라도 웹 페이지를 통해 메일을 보낼 수가 있다.

 

 

· 유틸리티 (Utility, 도구, 서비스 프로그램)

- 컴퓨터의 하드웨어, 운영체제, 응용 프로그램을 관리하고 조화시킬 목적으로 설계된 소프트웨어다.

'Computer Science > Computer architecture' 카테고리의 다른 글

6. 컴퓨터 언어  (0) 2020.05.24
5. 윈도우 운영체제  (0) 2020.05.24
3. 메인보드  (0) 2020.05.09
2. 하드웨어 구성요소  (0) 2020.05.09
1. 컴퓨터 구성요소  (0) 2020.05.09