본문 바로가기
IT Study/정보처리기사

2020 정보처리기사 (10-1장. 응용 SW 기초 기술 활용)

by dev_huhu 2020. 9. 28.
반응형

운영체제의 개념

: 컴퓨터 시스템의 자원들을효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임

- 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어의 일종으로, 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공해준다.


운영체제의 목적

: 처리 능력 향상, 사용 가능도 향상, 신뢰도 향상, 반환 시간 단축

 

- 처리능력: 일정 시간 내에 시스템이 처리하는 일의 양

- 반환 시간: 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간

- 사용 가능도: 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도

- 신뢰도: 시스템이 주어진 문제를 정확하게 해결하는 정도


운영체제의 기능

- 프로세서 기억장치, 입출력장치, 파일 및 정보 등의 자원을 관리

- 자원을 효율적으로 관리하기 위해 자원의 스케줄링 기능을 제공

- 사용자와 시스템 간의 편리한 인터페이스를 제공

- 시스템의 각종 하드웨어와 네트워크를 관리'제어한다.

- 데이터를 관리하고, 데이터 및 자원의 공유 기능을 제공

- 시스템의 오류를 검사하고 복구한다.

- 자원 보호 기능을 제공

- 입출력에 대한 보조 기능을 제공

- 가상 계산기 기능을 제공


운영체제의 주요 자원 관리

- 프로세스 관리: 프로세스 스케줄링 및 동기화 관리 담당, 프로세스 생성과 제거, 시작과 정지, 메시지 전달 등의 기능 담당

- 기억장치 관리: 프로세스에게 메모리 할당 및 회수 관리 담당

- 주변장치 관리: 입출력장치 스케줄링 및 전반적인 관리 담당

- 파일 관리: 파일의 생성과 삭제, 변경, 유지 등의 관리 담당


운영체제의 종류

 

Windows

- GUI

- 선점형 멀티태스킹: 동시에 여러 개의 프로그램을 실행하는 멀티태스킹을 하면서 운영체제가 각 작업의 CPU 이용 시간을 제어

- PnP: 컴퓨터 시스템에 프린터나 사운드 카드 등의 하드웨어를 설치했을 때, 해당 하드웨어를 사용하는 데 필요한 시스템 환경을 운영체제가 자동으로 구성해 주는 기능

- OLE: 다른 여러 응용 프로그램에서 작성된 문자나 그림 등의 개체를 현재 작성 중인 문서에 자유롭게 연경하거나 삽입하여 편집할 수 있게 하는 기능

- 255자의 긴 파일명

- Single-User 시스템: 컴퓨터 한 대를 한 사람만이 독점해서 사용한다.


UNIX

- 시분할 시스템을 위해 설계된 대화식 운영체제, 소스가 공개된 개방형 시스템이다.

- 대부분 C언어로 작성되어 있어 이식성이 높으며 장치, 프로세스 간의 호환성이 높다.

- 크기가 작고 이해하기 쉽다.

- 다중 사용자(Multi-User), 다중 작업(Multi-Tasking)을 지원한다.

- 많은 네트워킹 기능을 제공하므로 통신망 관리용 운영체제로 적합

- 트리 구조의 파일 시스템

- 전문적인 프로그램 개발에 용이

- 다양한 유틸리티 프로그램들이 존재

 

UNIX 시스템의 구성

- 커널

  • UNIX의 가장 핵심적인 부분이다
  • 컴퓨터가 부팅될 때 주기억장치에 적재된 후 상주하면서 실행된다
  • 하드웨어를 보호하고, 프로그램과 하드웨어 간의 인터페이스 역할을 담당
  • 프로세스 관리, 기억장치 관리, 파일 관리, 입출력 관리, 프로세스간 통신, 데이터 전송 및 변환 등 여러 가지 기능을 수행한다.

- 쉘(Shell)

: 사용자의 명령어를 인식하여 프로그램을 호출하고 명령을 수행하는 명령어 해석기

  • 시스템과 사용자 간의 인터페이스를 담당한다.
  • 주기억장치에 상주하지 않고, 명령어가 포함된 파일 형태로 존재하며 보조 기억장치에서 교체 처리가 가능하다.
  • 파이프라인 기능을 지원하고 입출력 재지정을 통해 출력과 입력의 방향을 변경할 수 있다.

- 유틸리티 프로그램

  • 일반 사용자가 작성한 응용 프로그램을 처리하는데 사용
  • DOS에서의 외부 명령어에 해당된다
  • 유틸리티 프로그램에는 에디터, 컴파일러, 인터프리터, 디버거 등이 있다.

LINUX

- 프로그램 소스 코드가 무료로 공개되어 있기 때문에 프로그래머가 원하는 기능을 추가할 수 있고, 다양한 플랫폼에 설치하여 사용이 가능하며, 재배포가 가능하다.

- UNIX와 완벽하게 호환된다.

- 대부분의 특징이 UNIX와 동일하다.


MacOS

- 아이맥과 맥북 등 애플 사에서 생산하는 제품에서만 사용이 가능하다.

- 드라이버 설치 및 install과 uninstall의 과정이 단순하다.


운영체제의 기본 명령어



기억장치 관리

: 보조기억장치의 프로그램이나 데이터를 주기억장치에 적재시키는 시기, 적재 위치 등을 지정하여 한정된 주기억장치의 공간을 효율적으로 사용하기 위한 것

- 기억장치 관리 전략의 종류에는 반입 전략, 배치 전략, 교체 전략이 있다.


반입 전략

: 보조기억장치에 보관중인 프로그램이나 데이터를 언제 주기억장치로 적재할 것인지를 결정하는 전략

  • 요구 반입: 실행중인 프로그램이 특정 프로그램이나 데이터 등의 참조를 요구할 때 적재하는 방법
  • 예상 반입: 실행중인 프로그램에 의해 참조될 프로그램이나 데이터를 미리 예상하여 적재하는 방법

배치 전략

: 새로 반입되는 프로그램이나 데이터를 주기억장치의 어디에 위치시킬 것인지를 결정하는 전략

  • 최초 적합: 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 첫 번째 분할 영역에 배치시키는 방법
  • 최적 적합: 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 단편화를 가장 작게 남기는 분할 영역에 배치시키는 방법
  • 최악 적합: 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 단편화를 가장 많이 남기는 분할 영역에 배치시키는 방법

교체 전략

: 주기억장치의 모든 영역이 이미 사용중인 상태에서 새로운 프로그램이나 데이터를 주기억장치에 배치하려고 할 때, 이미 사용되고 있는 영역 중에서 어느 영역을 교체하여 사용할 것인지를 결정하는 전략


프로세스 관리

프로세스: 일반적으로 프로세서에 의해 처리되는 사용자 프로그램, 시스템 프로그램, 즉 실행중인 프로그램을 의미


프로세스 상태 전이

: 프로세스가 시스템 내에 존재하는 동안 프로세스의 상태가 변하는 것을 의미

  • 제출: 작업을 처리하기 위해 사용자가 작업을 시스템에 제출한 상태
  • 접수: 제출된 작업이 스풀 공간인 디스크의 할당 위치에 저장된 상태
  • 준비: 프로세스가 프로세서를 할당받기 위해 기다리고 있는 상태 (프로세스는 준비상태 큐에서 실행을 준비)
  • 실행: 준비상태 큐에 있는 프로세스가 프로세서를 할당받아 실행되는 상태
  • 대기: 프로세스에 입출력 처리가 필요하면 현재 실행 중인 프로세스가 중단되고, 입출력 처리가 완료될 때까지 대기하고 있는 상태
  • 종료: 프로세스의 실행이 끝나고 프로세스 할당이 해제된 상태

데이터베이스 개념

- 데이터베이스는 특정 조직의 업무를 수행하는 데 필요한 상호 관련된 데이터들의 모임이다.

  • 통합된 데이터: 검색의 효율성을 위해 중복이 최소화된 데이터의 모임
  • 저장된 데이터: 컴퓨터가 접근할 수 있는 저장 매체에 저장된 데이터
  • 운영 데이터: 조직의 고유한 업무를 수행하는 데 존재 가치가 확실하고 없어서는 안 될 반드시 필요한 데이터
  • 공용 데이터: 여러 응용 시스템들이 공동으로 소유하고 유지하는 데이터

DBMS(DataBase Management System; 데이터베이스 관리 시스템)

: 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고, 데이터베이스를 관리해 주는 소프트웨어

- DBMS의 필수 기능에는 정의, 조작, 제어 기능이 있다.

  • 정의 기능: 모든 응용 프로그램들이 요구하는 데이터 구조를 지원하기 위해 데이터베이스에 저장될 데이터의 형(Type)과 구조에 대한 정의, 이용 방식, 제약 조건 등을 명시하는 기능
  • 조작 기능: 데이터 검색, 갱신, 삽입, 삭제 등을 체계적으로 처리하기 위해 사용자와 데이터베이스 사이의 인터페이스 수단을 제공하는 기능
  • 제어 기능: 데이터베이스를 접근하는 갱신, 삽입, 삭제 작업이 정확하게 수행되어 데이터의 무결성이 유지되도록 제어하는 기능

DBMS의 종류

계층형 DBMS - 트리 구조를 이용해서 데이터의 상호관계를 계층적으로 정의한 DBMS
- 개체 타입 간에는 상위(Owner)와 하위(Member) 관계가 존재하며, 일 대 다(1:N) 대응 관계만 존재한다.
망형 DBMS - 그래프를 이용해서 데이터 논리 구조를 표현한 DBMS
- 상위(Owner)와 하위(Member) 레코드 사이에서 1:1, 1:N, N:M 대응 관계를 모두 지원한다.
관계형 DBMS - 가장 널리 사용되는 DBMS로, 계층형 DBMS와 망형 DBMS의 복잡한 구조를 단순화시킨 DBMS
- 파일 구조처럼 구성한 2차원적인 표(Table)를 하나의 DB로 묶어서 테이블 내에 있는 속성들 간의 관계를 설정하거나 테이블 간의 관계를 설정하여 이용한다.

DBMS의 장단점

- 장점

  • 데이터의 논리적, 물리적 독립성이 보장된다.
  • 데이터의 중복을 피할 수 있어 기억공간이 절약된다.
  • 저장된 자료를 공동으로 이용할 수 있다.
  • 데이터의 일관성을 유지할 수 있다.
  • 데이터의 무결성을 유지할 수 있다.
  • 보안을 유지할 수 있다.
  • 데이터를 표준화할 수 있다.
  • 데이터를 통합하여 관리할 수 있다.
  • 항상 최신의 데이터를 유지한다.
  • 데이터의 실시간 처리가 가능하다.

- 단점

  • 데이터베이스의 전문가가 부족하다.
  • 전산화 비용이 증가한다.
  • 대용량 디스크로의 집중적인 Access로 과부하(Overhead)가 발생한다.
  • 파일의 예비(Backup)와 회복(Recovery)이 어렵다.
  • 시스템이 복잡하다.

ER(Entity Relationship) 모델

: 개념적 데이터 모델의 가장 대표적인 것으로, 1976년 피터 첸(Peter Chen)에 의해 제안되었다.

- 개체, 속성, 관계 등에 대하여 용이하게 표현할 수 있는 ER 도형을 정의하고 있다.


반응형

댓글