본문 바로가기

새싹반∙̑◡∙̑/정보처리기능사 독학반

정보 처리 기능사 독학하기!소프트웨어

반응형

그냥 외워...

 

01) 소프트웨어의 기본

♬ 소프트웨어의 기본 구성

software의 soft는 '부드러운'이라는 뜻에서 '눈에 보이지 않는'의 의미로, 눈에 보이지 않고 만질 수 없는 프로그램을 말한다.하드웨어를 움직여 주는 프로그램으로 인간의 두뇌(정신)에 해당하는 역할을 맡고 있다.시스템 소프트웨어와 응용 소프트웨어로 구성된다.

 

♬ 시스템 소프트 웨어

-컴퓨터 시스템의 전반적인 운영을 위한 '기본적인' 소프트웨어 이며 운영체제(OS),언어번역기,유틸리티 프로그램이 있다.

 

- 운영체제(OS; Operating System)

컴퓨터 하드웨어의 성능을 최대한 효율적으로 운영하기 위해서 하드웨어와 사용자 사이에 있는 프로그램이다.제어와 처리 프로그램으로 구성되어 있다.

 

*제어 프로그램

감시 프로그램 : 컴퓨터 시스템 전체의 작동 상태를 감시하고 감독하는 프로그램

작업 관리 프로그램 : 작업 관련 데이터의 준비와 처리를 관리하는 프로그램

데이터 관리 프로그램 : 여러 종류의 데이터와 파일을 관리 해 주는 프로그램

 

*처리 프로그램

언어 번역 프로그램 : 기계어로 번역하기 위한 프로그램

서비스 프로그램 : 유틸리티,정렬/병합 프로그램과 같이 사용 빈도가 높은 프로그램들을 제작회사에서 미리 프로그램화하여 제공하는 프로그램

문제 처리 프로그램 : 사용자가 업무에 적용하여 그에 따라 작성한 프로그램

 

- 언어번역기의 종류

컴파일러 : 고급 언어를 기계어로 번역하는 프로그램(FORTRAN, COBOL, PL/1, PASCAL, C언어)로 전체를 한번에 번역

어셈블러 : 어셈블리 언어를 기계어로 번역하는 프로그램

              어셈블리어 ( Assembly ) : 어셈블리어는 기계어의 단점을 개선한 언어로 상징화된 기호를 사용하며, 번역 프로그램을 통해 번역되어 실행하게 된다.

인터프리터 : 대화식 언어로 작성된 프로그램을 필요할 때마다 매번 기계어로 번역하여 실행하는 프로그램(BASIC ,LISP, SNOBOL, APL등)행 단위로 번역된다.

 

컴파일러와 인터프리터의 차이점

컴파일러는 입력된 내용을 한번에 번역하며 목적 프로그램을 생성한다 효율성을 중요하게 여기기때문에 수행 속도도 빠르다 인터프리터는 컴파일러와는 다르게 행 단위로 번역하며 목적 프로그램도 생성하지 않는다 수행 속도도 느리고..

 

○ 프리프로세서 ( Preprocessor ,전처리기 ) : 고급 언어로 작성된 프로그램을 다른 고급언어로 번역 해 주는 프로그램 ( 기호 변환 작업, Macro 확장 작업 등)

 

○ 크로스 컴파일러 ( Cross compiler ) : 교차 컼ㅁ파일러로 다른 기종의 컴퓨터에서 실행할 수 있는 목적 프로그램을 만들기위한 컴파일러이다

 

○ 디버깅(Debugging ) : 사용자가 프로그램을 작성해서 실행하는 도중에 문법상의 오류나 논리적인 오류가 발생되는 것을 버그( Bug )라고 하는데,에러가 발생된 부분을 찾아 올바르게 수정하는 과정을 디버깅이라 한다.

 

 

-언어 번역 과정

원시 프로그램 → 목적 프로그램 → 로드 모듈 → 실행

 

원시 프로그램 (Source Program ) : 사용자가 프로그램 언어 ( 고급 언어,어셈블리어 ) 로 작성한 프로그램

언어 번역기( Language Translator ) : 특정 프로그래밍 언어로 작성된 내용을 컴퓨터가 이해할 수 있는 기계어로 바꾸어 주는 프로그램 (Compiler, Assenbler, Interpreter )

목적 프로그램 (Object Program ) : 컴파일러에 의해 기계어로 번역된 프로그램

연계 편집 (Linkage Editor) : 목적 프로그램을 실행 가능한 프로그램으로 만드는 과정

로드 모듈 ( Load Module ) : 실행 가능한 상태의 프로그램

로더 ( Loader ) : 로드 모듈 프로그램을 주기억 장치 내로 옮겨서 실행 해 주는 소프트웨어

로더 (Loader ) 의 기능 : 할당 (Allocation ),연결 (Linking ), 재배치 (Relocation),적재( Loading )

 

 

 

♬ 응용 소프트웨어 ( Application software )

실제 업무처리를 위해 개발된 프로그램을 의미하며 워드프로세서 , 스프레드시트, 프레젠테이션, 데이터베이스 등이 있다

 

♬ 프로그래밍 언어

저급 언어 : 기계가 이해하기 쉽게 구성된 언어로,처리 속도가 빠르며 어셈블리어와 기계어가 있다

고급 언어 : 인간 중심의 언어로 번역기에 의해 기계어로 번역 해 처리하므로 속도가 느리다

 

* 고급언어의 종류와 특징

COBOL : 사무 처리용

FORTRAN : 과학 기술 계산용, 정밀도를 요하는 수치 계산용

C : 시스템용 , UNIX dnsdudcpwp rngus djsdj

PASCAL : 교육용, 알고리즘 표현이 용이

ALGOL : 블록 구조를 가진 최초의 언어,pascal 언어의 모체

LISP , SNOBOL : 인공지능(AI)용

ADA : 시스템용,병렬 처리 언어

PL/1 : ALGOL, FOTRAN, COBOL의 장점을 복합한 언어

BASIC : 대화형,다목적용 언어

C++ : c언어 기반의 객체 지향 개념을 결합해 만든언어

JAVA : 객체 지향 프로그래밍언어,특정 컴퓨터 구조와 무관한 가상 바이트 코드를 사용하고 플랫폼이 독립적이다

 

 

 

기출문제

1. 로더(lOADER )가 수행하는 기능으로 옳지 않은 것은?

① 재배치가 가능한 주소들을 할당된 기억 장치에 맞게 변환한다.

② 로드 모듈은 주기억 장치로 읽어 들인다

③ 프로그램의 수행 순서를 결정한다

④ 프로그램을 적재할 주기억 장치 내의 공간을 할당한다

 

 

2. 다음 프로그래밍 언어의 쓰임새에 대한 설명 중 가장 올바르지 않은 것은?

① COBOL - 사무 처리용 언어로 사용

② JAVA - 시스템용 언어로 UNIX 운영체제를 구현하는데 사용된 언어

③ ADA - 병렬 처리 언어

④ BASIC - 대화형 언어이자 다목적 언어로 주로 사용됨

 

 

 

 

 

정답!

 

1. ③ 2. ②