본문 바로가기
컴퓨터공학

컴퓨터 시스템의 구성과 기능

by hckim21c11 2022. 9. 30.

컴퓨터 하드웨어를 이해하는 첫걸음은 컴퓨터 본체를 분해해 보는 것이다. 먼저 케이스 외부에 있는 장치를 살펴보자. 출력장치로 모니터와 프린터가 있고 입력장치로는 키보드와 마우스가 있다. 다음으로 케이스 내부에 존재하는 장치를 살펴보면, 대용량 보조기억장치인 CD-ROM과 Hard Disk(HDD) 등이 있는 것을 확인할 수 있다. 그리고 메인보드(Main Board)가 존재한다. 메인보드에는 중앙처리장치(CPU)가 있고, 주기억장치인 RAM과 ROM이 있다. 그리고 확장 슬롯에는 확장 카드가 있다. 확장 카드는 컴퓨터에서 사용하는 목적에 따라 그래픽 카드, 사운드 카드, 비디오 카드, 네트워크 카드, 모뎀 카드 등이 장착된다. 확장 카드들은 케이스 외부에 존재하는 장치들과 연결되어 고유의 업무를 수행한다. 그래픽 카드는 모니터와 연결된다. 그리고 사운드 카드는 스피커 또는 마이크와 연결될 수 있으며, 비디오 카드는 TV, 캠코더, 디지털카메라 등과 연결될 수 있다. 그리고 네트워크 카드는 LAN 선과 연결되고 모뎀 카드는 전화선과 연결될 것이다. 메인보드 내에 존재하는 각각의 구성 요소는 각각의 버스로 연결되어 데이터를 송수신한다. 케이스 내부에는 추가로 전원 공급 장치와 중앙처리장치를 위한 냉각 송풍기, 케이블과 전선들이 존재한다. 컴퓨터 시스템은 하드웨어와 소프트웨어로 구성된다. 먼저 전자회로와 그 밖의 장치로 이루어진 하드웨어(Hardware)는 컴퓨터 정보들의 전송 통로를 제공하고, 그 정보에 대한 처리가 실제 일어나게 하는 물리적인 실체를 말한다. 하드웨어만으로 구성된 시스템을 생각해보자. 여러 부품을 모아서 필요한 기능을 수행하도록 연결하는 프로그래밍의 한 형식을 하드와이어 프로그램(hardwired program)이라고 하는데 특정 목적에만 사용되고 또 다른 목적을 위해서는 부품을 새롭게 다시 연결한다. 따라서 하드웨어만의 컴퓨터 시스템은 융통성이 없다. 그래서 소프트웨어가 필요하다. 범용목적의 하드웨어는 연결 상태를 변경할 필요 없이, 새로운 제어 신호들만 제공하면 제어 신호에 따라 다양한 작업을 처리할 수 있다. 하드웨어가 특정 작업을 수행하도록 제어 신호들을 제공하는 일련의 코드들(codes), 혹은 명령어들(instructions)의 집합을 소프트웨어(software)라고 부른다. 그리고 하드웨어와 소프트웨어의 중간 단계에 해당하는 펌웨어(Firmware)가 있다. 이것은 소프트웨어를 하드웨어화시킨 것이다. 컴퓨터에서 정보들이 이동하는 방향과 정보처리의 종류를 지정하고, 그러한 동작들이 일어나는 시간을 지정하는 명령(command)의 집합이 소프트웨어다. 이러한 소프트웨어는 시스템 소프트웨어(system software), 응용 소프트웨어(application software)로 분류된다. 시스템 소프트웨어는 명령어를 해석하고, 데이터를 디스크에 저장한다. 그리고 주변 장치와 통신을 수행하여 화면에 정보를 표시하거나 프린터에 데이터를 보내는 등의 작업을 수행한다. 즉 컴퓨터 하드웨어의 기능 수행에 필수적인 작업을 수행한다. 운영체제는 시스템 소프트웨어의 대표적인 프로그램이다. 그래서 운영체제(Operating System : OS)는 시스템의 자원인 CPU, RAM, HDD, I/O 장치, 네트워크 등을 효율적으로 관리하고 운영하여 사용자와 컴퓨터 하드웨어 간 인터페이스 역할을 한다. 운영체제의 기능을 살펴보면, 컴퓨터 내의 하드웨어와 소프트웨어 자원을 관리한다. 프로세스란 현재 컴퓨터의 기억장치에서 수행 중인 프로그램 상태를 말하는데 이것을 관리하는 것을 말한다. 이것을 프로세스(Process) 관리라 한다. 운영체제는 이런 프로세스의 생성, 삭제, 동기화 등에 관여한다. 다음으로 주기억장치 관리를 통해서 주기억장치의 할당과 회수를 관리한다. 그리고 보조기억장치의 사용을 관리하며 입출력장치를 관리한다. 마지막으로 파일 관리를 통해서 기억장소의 할당, 빈 곳의 관리, 디스크의 스케줄링 등을 담당한다. 두 번째 기능으로는 컴퓨터에 사용자가 쉽게 접근할 수 있는 인터페이스를 제공한다. 예전 도스의 불편한 인터페이스에서 윈도의 창과 아이콘을 이용하여 쉬운 접근 인터페이스를 제공하게 되었다. 그리고 기본적인 입출력을 제어하고 장치 고장을 탐색한다. 오류가 발생하면 오류를 처리하며 보안을 유지한다. 운영체제의 성능이 발전할수록 기능이 확대되고 있다. 시스템 소프트웨어에는 유틸리티, 장치 드라이버, 컴퓨터 프로그래밍 언어도 포함된다. 유틸리티는 운영체제의 능력을 향상하는 시스템 소프트웨어이다. 그래서 사용자에게 하드웨어 자원의 사용을 제어하는 방법을 제공한다. 점차 유틸리티의 기능도 운영체제에 포함되고 있다. 장치 드라이버는 주변 장치를 설치할 때, 컴퓨터에 주변 장치를 어떻게 사용하는지 알려주는 시스템 소프트웨어이다. 마지막으로 컴퓨터 프로그래밍 언어는 프로그래머가 프로그램을 작성해서 명령어를 컴퓨터가 처리할 수 있는 형태로 변환해주는 역할을 한다. 컴퓨터가 많은 다른 작업을 수행할 수 있도록 하는 소프트웨어이다. 응용 소프트웨어는 사용되는 방법에 따라서 문서 작성, 그래픽, 발표, 수치 분석, 데이터 관리, 정보 및 참조, 연결, 교육 및 훈련, 게임, 회계 및 재무, 기업 소프트웨어 등으로 분류된다.

댓글