4차시

입출력 장치·소프트웨어·운영체제·프로그래밍

Part 1. 컴퓨터 일반 · 출제 빈도 ★★☆

이 차시를 공부하는 이유

이 차시는 비슷한 이름을 정확히 구분하는 능력을 봅니다. 셰어웨어 vs 프리웨어, 듀얼 vs 듀플렉스, 컴파일러 vs 인터프리터처럼 짝을 지어 외우면 실수가 줄어듭니다.

2급에서 먼저 보면 좋은 내용

2급의 소프트웨어 분류를 바탕으로 운영체제 성능 평가, 운영 방식, 객체 지향 특징까지 다룹니다.

학습 목표

모니터·프린터 관련 단위와 업그레이드 판단 기준을 설명할 수 있다.
사용권에 따른 소프트웨어 종류를 구분할 수 있다.
운영체제의 목적(성능 평가 기준), 구성, 운영 방식을 이해한다.
주요 프로그래밍 언어·번역기와 객체 지향 기법의 특징을 설명할 수 있다.

핵심 개념

1. 입출력 장치 용어와 업그레이드
용어/단위의미
픽셀(Pixel)화면을 이루는 최소 단위 점. 픽셀 수가 많을수록 해상도가 높음
해상도모니터 화면의 선명도. 가로×세로 픽셀 수로 표시
재생률(Hz)1초에 화면이 다시 그려지는 횟수. 높을수록 깜빡임이 줄어듦
점 간격(Dot Pitch)픽셀 사이의 간격. 작을수록 선명
CPS / LPM / PPM초당 인쇄 문자 수 / 분당 인쇄 줄 수 / 분당 인쇄 페이지 수
DPI1인치에 찍히는 점의 수. 인쇄·스캔 해상도 단위
IPM / MMS잉크젯 분당 인쇄 매수(표준 모드) / 3D 프린터 출력 속도(초당 mm)
  • 3D 프린터는 입력한 도면대로 3차원 물체를 만듭니다. 방식: 층을 쌓는 적층형, 덩어리를 깎는 절삭형. 단계: 모델링 → 프린팅 → 후처리
  • 업그레이드 판단: 하드디스크 RPM은 클수록, 접근 시간(ms)·RAM 접근 속도(ns)는 작을수록, CPU 클럭(Hz)은 클수록 좋습니다.
  • RAM을 늘릴 때는 메인보드가 지원하는 종류·핀 수·용량을 먼저 확인해야 합니다.
2. 사용권에 따른 소프트웨어 분류
종류특징
상용 소프트웨어정해진 금액을 내고 사용
셰어웨어기능 또는 기간 제한을 두고 무료로 배포, 계속 쓰려면 구입
프리웨어무료로 사용·배포 가능하나 개작(소스 수정)은 불가
오픈 소스소스 코드를 공개해 누구나 수정·재배포 가능
데모 버전정식 프로그램을 홍보하기 위해 기능 일부만 사용하도록 만든 버전
트라이얼 버전정식 프로그램의 기능을 일정 기간만 사용
알파 / 베타 버전개발사 내부 테스트용 / 정식 출시 전 일반인 테스트용
패치 프로그램이미 배포된 프로그램의 오류 수정이나 성능 향상을 위해 일부를 변경
번들 프로그램하드웨어나 소프트웨어를 구입할 때 끼워 주는 프로그램
시험 함정 포인트
'셰어웨어는 기간·기능 제한 없이 영구 무료'는 프리웨어 설명입니다. 알파와 베타의 테스트 주체(내부 vs 외부)도 자주 뒤바뀌어 나옵니다.
3. 운영체제의 목적과 구성

처리 능력(Throughput) 향상

일정 시간 내에 처리하는 일의 양을 늘림

응답 시간(Turnaround Time) 단축

작업을 의뢰한 뒤 결과를 받기까지의 시간을 줄임

사용 가능도(Availability) 향상

시스템 자원을 필요할 때 즉시 사용할 수 있는 정도를 높임

신뢰도(Reliability) 향상

주어진 문제를 오류 없이 정확하게 해결하는 정도를 높임

구성프로그램역할
제어 프로그램감시 프로그램, 작업 관리 프로그램, 데이터 관리 프로그램시스템 전체 동작 감시, 작업 순서 지정, 데이터 관리
처리 프로그램언어 번역 프로그램, 서비스 프로그램, 문제 처리 프로그램제어 프로그램의 지시를 받아 실제 데이터를 처리
시험 함정 포인트
운영체제의 성능 평가 기준에 '비용(Cost) 절감'이나 '처리 시간 증가'는 포함되지 않습니다. 응답 시간은 '단축'이 목표입니다.
4. 운영체제의 운영 방식
방식특징
일괄 처리데이터를 모아 두었다가 한꺼번에 처리 (급여 계산, 공공요금)
실시간 처리데이터가 발생하는 즉시 처리 (좌석 예약, 은행 온라인 업무)
시분할 시스템CPU 시간을 잘게 나눠 여러 사용자가 동시에 대화식으로 사용하는 것처럼 처리 (라운드 로빈)
다중 프로그래밍하나의 CPU로 여러 프로그램을 동시에 실행하는 것처럼 처리
다중 처리여러 개의 CPU로 여러 작업을 동시에 처리
분산 처리여러 대의 컴퓨터를 네트워크로 연결해 작업과 자원을 나누어 처리
듀얼 시스템두 CPU가 같은 작업을 동시에 수행하며 결과를 비교, 한쪽 고장 시 다른 쪽이 계속 처리
듀플렉스 시스템한 CPU가 작업할 때 다른 CPU는 대기하다가 고장 나면 즉시 이어받음
임베디드 시스템기계나 기기에 특정 기능을 수행하는 컴퓨터 시스템을 내장 (가전, 자동차)
5. 프로그래밍 언어와 번역기
구분컴파일러인터프리터
번역 단위프로그램 전체를 한 번에 번역한 줄씩 번역하며 바로 실행
목적 프로그램생성함생성하지 않음
실행 속도빠름느림
번역 속도·메모리번역은 느리고 메모리 많이 사용번역은 빠르고 메모리 적게 사용
대표 언어C, C++, Java(바이트 코드 컴파일)Python, BASIC, JavaScript
  • 언어 번역 과정: 원시 프로그램 → (컴파일) → 목적 프로그램 → (링커) → 로드 모듈 → (로더) → 실행
  • Java: 객체 지향, 네트워크 환경 분산 작업, 바이트 코드로 플랫폼 독립적 실행 (JVM)
  • Python: 인터프리터식 객체 지향 언어, 문법이 쉽고 AI·데이터 분석에 활용
  • 웹 언어: HTML5(플러그인 없이 동영상·그래픽 표현), XML(사용자가 태그를 정의, 구조적 문서), JavaScript(브라우저에서 해석되는 스크립트), ASP·JSP·PHP(서버 측 스크립트), VRML(3차원 가상 공간), WML(무선 단말기용)
시험 함정 포인트
'JavaScript는 서버에서 실행되는 스크립트 언어'는 틀린 설명입니다. 서버 측은 ASP·JSP·PHP, 클라이언트(브라우저) 측은 JavaScript입니다.
6. 프로그래밍 기법: 객체 지향

프로그램을 객체(데이터 + 메서드) 단위로 구성해 재사용성과 유지보수성을 높이는 기법입니다. C++, Java, Python 등이 대표적입니다.

캡슐화

데이터와 그 데이터를 처리하는 메서드를 하나로 묶고, 내부 구현은 숨기는 것(정보 은닉)입니다.

상속성

상위 클래스의 속성과 메서드를 하위 클래스가 물려받아 재사용하는 것입니다.

다형성

같은 이름의 메서드가 객체에 따라 다르게 동작하는 것(오버로딩·오버라이딩)입니다.

추상화

불필요한 부분은 생략하고 핵심적인 특징만 뽑아 모델로 표현하는 것입니다.

  • 절차적 프로그래밍: 순서대로 명령을 실행 (C, Pascal) / 구조적 프로그래밍: 순차·선택·반복 구조만 사용, GOTO 문 지양
  • 비주얼 프로그래밍: 아이콘과 마우스로 GUI 환경에서 프로그래밍 (Visual Basic 등)

확인 문제

1 / 5
문제 1
다음 중 셰어웨어(Shareware)에 대한 설명으로 옳은 것은?
①
누구나 무료로 사용하고 소스 코드까지 수정할 수 있다.
②
기능이나 사용 기간에 제한을 두고 무료로 배포하는 프로그램이다.
③
정식 출시 전 일반인에게 테스트를 목적으로 배포하는 프로그램이다.
④
이미 배포된 프로그램의 오류를 수정하기 위한 프로그램이다.
💡 정답 ② 해설: 셰어웨어는 기능·기간 제한이 있는 무료 배포 프로그램입니다. ①은 오픈 소스, ③은 베타 버전, ④는 패치 프로그램입니다.
문제 2
다음 중 운영체제의 성능 평가 기준으로 옳지 않은 것은?
①
처리 능력(Throughput) 향상
②
응답 시간(Turnaround Time) 단축
③
사용 가능도(Availability) 향상
④
처리 비용(Cost) 증가
💡 정답 ④ 해설: 운영체제의 성능 평가 기준은 처리 능력 향상, 응답 시간 단축, 사용 가능도 향상, 신뢰도 향상입니다.
문제 3
두 개의 CPU 중 한 CPU가 작업을 처리하는 동안 다른 CPU는 대기하다가, 작업 중인 CPU가 고장 나면 즉시 대기 중인 CPU가 작업을 이어받는 시스템은?
①
듀얼 시스템
②
듀플렉스 시스템
③
시분할 시스템
④
다중 프로그래밍 시스템
💡 정답 ② 해설: 듀플렉스 시스템은 한쪽이 대기 상태로 있다가 장애 시 이어받습니다. 듀얼 시스템은 두 CPU가 같은 작업을 동시에 수행합니다.
문제 4
컴파일러와 인터프리터에 대한 설명으로 옳지 않은 것은?
①
컴파일러는 프로그램 전체를 번역하여 목적 프로그램을 생성한다.
②
인터프리터는 프로그램을 한 줄씩 번역하여 실행한다.
③
인터프리터는 목적 프로그램을 생성하므로 실행 속도가 빠르다.
④
컴파일러 방식은 번역 후 실행 속도가 빠르다.
💡 정답 ③ 해설: 인터프리터는 목적 프로그램을 생성하지 않고 한 줄씩 번역해 실행하므로 실행 속도가 느립니다.
문제 5
객체 지향 프로그래밍에서 상위 클래스의 속성과 메서드를 하위 클래스가 물려받아 사용하는 특징은?
①
캡슐화
②
상속성
③
다형성
④
추상화
💡 정답 ② 해설: 상속성은 상위 클래스의 속성과 메서드를 하위 클래스가 그대로 물려받는 것으로, 코드 재사용성을 높입니다.
0/5
훌륭합니다!
모든 문제를 정확히 풀었습니다.

4차시 문제 더 풀기

확인문제와 실전 모의고사에서 이 차시 범위 문제만 모아 해설과 함께 볼 수 있습니다.

주제별 문제 보기
이전 차시
3차시. 컴퓨터 하드웨어
다음 차시
5차시. 네트워크·인터넷·ICT 신기술