컴퓨터 구조(Computer Architecture)의 컴퓨터 소프트웨어 [2]

busybean3·2021년 9월 24일
0

컴퓨터 구조

목록 보기
2/2

소프트웨어는 명령(command)의 집합으로 구성된 컴퓨터 프로그램 및 그와 관련된 문서를 총칭하는 개념입니다. 즉, 컴퓨터 시스템의 구성 요소 중에서 하드웨어를 제외한 무형의 부분을 가리킵니다. 소프트웨어는 데디터의 이동 방향와 데이터 처리의 종류를 지정하며, 또한 이와 같은 이벤트가 발생하는 시간을 지정하는 명령의 집합 자체입니다.

이 소프트웨어의 품질은 컴퓨터 하드웨어의 사용 효율과 사용 환경을 결정합니다. 소프트웨어는 크게 시스템 소프트웨어와 응용 소프트웨어로 구분됩니다.

1. 시스템 소프트웨어(system software)

시스템 소프트웨어는 컴퓨터 하드웨어의 기능을 실행하기 위해 필수적인 작업(명령어 해석, 하드디스크에 데이터 저장, 주변장치와의 통신 등)을 하거나 응용 소프트웨어의 실행을 지원하는 소프트웨어를 말합니다. 대표적인 시스템 소프트웨어로는 운영체제, 장치 드라이버, 컴파일러와 인터프리터와 같은 번역기, 링커, 로더 등이 있습니다.

  • 운영체제(operating system) : 컴퓨터 리소스를 관리하고 응용 프로그램의 실행 환경을 제공하는 소프트웨어
  • 장치 드라이버(device driver) : 컴퓨터에 온라인으로 연결된 주변기기를 제어하는 운영체제 모듈
  • 컴파일러(compiler) 와 인터프리터(interpreter) : 고급언어로 작성된 resource program을 컴퓨터가 이해하는 저급언어로 변환하는 소프트웨어로서 일종의 번역기
  • 링커(linker) : 다수로 분할하여 작성된 프로그램에 의해 생성된 object program 또는 라이브러리 루틴을 결합하여 실행 가능한 하나의 프로그램으로 연결하는 소프트웨어
  • 로더(loader) : 디스크와 같은 저장장치에 보관된 프로그램을 읽어 메인 메모리에 적재한 후 실행 가능한 상태로 만드는 소프트웨어

위 그림은 고급언어 프로그램의 실행 과정을 보여줍니다. 고급언어 프로그램은 컴파일러를 거쳐 object program인 기계어 모듈로 변환됩니다. 그런데 기계어 모둘은 일반적으로 다른 일부 루틴을 참조하거나 여러 개로 분할되어 있기 때문에 실행할 수 있는 완전한 기계어 프로그램이 아닙니다. 링커는 다수의 모듈 혹은 라이브러리 루틴을 결합하여 실행 가능한 하나의 프로그램으로 연결하여 실행 가능한 프로그램을 생성합니다. 여기서 라이브러리 루틴은 컴퓨터 시스템에서 자주 사용되는 기계어 루틴을 별도로 관리하기 위해 모아둔 목적 프로그램을 의미합니다. 로더는 저장장치에 보관되어 있는 실행 프로그램을 읽어서 메인 메모리에 적재한 후 수행시킵니다.

2. 응용 소프트웨어(application software)

응용 소프트웨어는 컴퓨터 시스템을 특정 분야에 사용하기 위해 제작된 소프트웨어를 말하며 애플리케이션, 앱, 어플이라고도 합니다. 이는 컴퓨터를 통해 최종 사용자가 원하는 작업을 수행하도록 해주며, 사용자가 직접 사용하는 최상위 계층의 소프트웨어입니다. 이 응용 소프트웨어의 종료는 사무, 그래픽 작업, 멀티미디어, 게임, 통신 및 네트워크 등 다양합니다.

REFERENCE

해당 포스팅의 모든 레퍼런스는 "컴퓨터 아키텍처:컴퓨터 구조 및 동작 원리" 입니다.

https://coupa.ng/b7MwAA

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

profile
엉덩이 무거운 개발자가 되기 위해서 몸무게를 찌웠다...

0개의 댓글