3차시
컴퓨터 소프트웨어
Part 1. 컴퓨터 일반 - Chapter 3
핵심 요약 음성 강의
화면을 보며 설명을 함께 들어보세요.
학습 목표
소프트웨어의 종류와 특징을 이해할 수 있다.
운영체제의 역할과 기능을 설명할 수 있다.
사용권에 따른 소프트웨어 분류를 구분할 수 있다.
유틸리티 프로그램의 종류와 역할을 파악할 수 있다.
프로그래밍 언어의 기본 개념을 이해할 수 있다.
핵심 개념
1. 소프트웨어의 분류
소프트웨어
시스템 소프트웨어
운영체제 (OS)
장치 드라이버
유틸리티 프로그램
응용 소프트웨어
일반용 (MS Office)
전문용 (CAD)
웹 브라우저
게임
2. 운영체제 (Operating System)
운영체제의 역할
사용자와 컴퓨터 사이의 중계자 역할 (Man-Machine Interface)
컴퓨터 자원의 효율적 관리 및 스케줄링
사용자에게 편리한 인터페이스 제공
운영체제의 주요 기능
프로세스 관리
실행 중인 프로그램들의 관리와 스케줄링 담당
기억장치 관리
메모리 할당 및 관리를 통해 효율적인 자원 사용 보장
주변장치 관리
입출력 장치들을 제어하고 관리하는 기능 제공
파일 관리
파일 시스템을 관리하고 생성, 삭제, 읽기/쓰기 제어
운영체제의 목적 (성능 평가 기준)
응답시간 단축
Turnaround Time
빠른 처리 속도
빠른 처리 속도
처리능력 증대
Throughput
단위 시간당 처리량 증가
단위 시간당 처리량 증가
신뢰도 향상
Reliability
시스템 안정성 확보
시스템 안정성 확보
사용 가능도 증대
Availability
시스템 가용성 향상
시스템 가용성 향상
3. 사용권에 따른 소프트웨어 분류
상용 소프트웨어
Commercial Software
정식으로 대가를 지불하고 사용하는 소프트웨어입니다. 완전한 기능과 기술 지원을 제공받을 수 있습니다.
예시:
- MS Office (Word, Excel)
- Adobe Photoshop
- Windows 운영체제
셰어웨어
Shareware
기능이나 사용 기간에 제한을 두어 배포하는 소프트웨어입니다. 정식 버전 구매를 유도하기 위한 체험판 성격입니다.
특징:
- 제한된 기능 또는 사용 기간
- 트라이얼(Trial) 버전 포함
- 데모(Demo) 버전
프리웨어
Freeware
무료로 사용 또는 배포가 가능한 프로그램입니다. 개인 사용자에게는 무료이지만 상업적 용도는 제한될 수 있습니다.
예시:
- 한컴오피스 뷰어
- Google Chrome
- VLC 미디어 플레이어
오픈소스
Open Source Software
소스 코드가 공개된 소프트웨어입니다. 누구나 자유롭게 사용, 수정, 재배포할 수 있습니다.
예시:
- Linux 운영체제
- Firefox 웹 브라우저
- MySQL 데이터베이스
기타 소프트웨어 버전
알파(Alpha) 버전
회사 내부 테스트용 초기 버전
베타(Beta) 버전
일반 사용자 대상 테스트 버전
패치(Patch) 버전
오류 수정이나 성능 향상 업데이트
번들(Bundle)
하드웨어와 함께 제공되는 프로그램
4. 프로그래밍 언어의 이해
번역 방식별 언어 분류
컴파일러 (Compiler)
전체 프로그램을 한 번에 목적 프로그램(기계어)으로 번역한 후 실행하는 방식입니다.
- 실행 속도가 매우 빠름
- 전체를 번역하므로 번역 속도는 느림
- 목적 프로그램(실행 파일)을 생성함
대표 언어:
C, C++, Java, FORTRAN, COBOL 등
인터프리터 (Interpreter)
프로그램을 한 줄씩 번역하면서 즉시 실행하는 방식입니다.
- 프로그램 수정 및 대화식 처리가 쉬움
- 실행 속도가 상대적으로 느림
- 목적 프로그램을 생성하지 않음
대표 언어:
Python, JavaScript, BASIC, LISP 등
세대별 프로그래밍 언어 발전
1세대
기계어
0과 1로만 구성
2세대
어셈블리어
기호(단어) 사용
3세대
고급 언어
절차적 언어 (C, Java)
4세대
비절차적/문제지향
SQL (DB 질의어)
5세대
자연어/AI
인공지능, 전문가 시스템
확인 문제
1 / 10
문제 1
다음 중 시스템 소프트웨어에 해당하는 것은?
💡 해설: 시스템 소프트웨어는 컴퓨터 하드웨어를 제어하고 사용자가 컴퓨터를 쓸 수 있게 해주는 기반 프로그램으로, '운영체제(Windows)'가 대표적입니다.
문제 2
운영체제의 목적(성능 평가 기준)이 아닌 것은?
💡 해설: 운영체제의 주요 목적은 처리능력 증대, 응답시간 단축, 사용 가능도 증대, 신뢰도 향상입니다. 파일 크기 감소는 압축 프로그램의 목적입니다.
문제 3
소스 코드가 공개되어 누구나 자유롭게 사용할 수 있는 소프트웨어는?
💡 해설: 누구나 제한 없이 소스 코드를 보고 수정, 재배포 할 수 있는 것을 '오픈소스(Open Source) 소프트웨어'라고 합니다.
문제 4
다음 중 운영체제(OS)의 주요 기능이 아닌 것은?
💡 해설: 문서 작성, 이미지 편집 등은 사용자의 목적을 달성하기 위한 '응용 소프트웨어'의 기능입니다.
문제 5
프로그램 전체를 한 번에 목적 프로그램(기계어)으로 번역하는 방식은?
💡 해설: 전체를 한꺼번에 번역하여 실행 파일(.exe)을 생성하므로 '실행 속도가 빠른' 번역 방식은 컴파일러입니다.
문제 6
운영체제가 컴퓨터 동작 중 항상 상주하며 실행되는 곳은?
💡 해설: 운영체제는 부팅 시 보조기억장치(HDD)에서 주기억장치(RAM)로 올라와 전원이 꺼질 때까지 항상 상주합니다.
문제 7
기능이나 사용 기간에 제한을 두어 배포하며, 정품 구매를 유도하는 소프트웨어는?
💡 해설: 셰어웨어(Shareware)는 일정 기간 무료로 사용해보고 마음에 들면 구매하도록 하는 '체험판' 성격의 소프트웨어입니다.
문제 8
인터프리터(Interpreter) 언어의 특징으로 올바른 것은?
💡 해설: 인터프리터는 한 줄씩 즉시 번역하여 실행하므로 실행 속도는 느리지만 오류를 바로 수정(디버깅)하기 쉽습니다.
문제 9
정식 프로그램 출시 전, '일반 사용자'들을 대상으로 테스트하기 위해 배포하는 버전은?
💡 해설: 회사 내부 직원 테스트용이 '알파' 버전이고, 일반 대중에게 공개하여 테스트하는 것이 '베타' 버전입니다.
문제 10
다음 중 데이터베이스에 질의를 하기 위한 비절차적 언어인 4세대 프로그래밍 언어의 대표적 예는?
💡 해설: 4세대 언어(4GL)는 문제 해결 중심의 비절차적 언어로 데이터베이스 관리 등에 주로 사용되며, SQL이 가장 대표적입니다. (기계어=1세대, 어셈블리=2세대, C언어=3세대)
0/10
훌륭합니다!
모든 문제를 정확히 풀었습니다.