정보처리기사 실기 공부log - 20201004

2020. 10. 4. 10:23컴퓨터언어

728x90
반응형

 

운영체제 

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

 

운영체제의 목적 

처리 능력 Throughput : 일정 시간 내에 시스템이 처리하는 일의 양 => “향상" 

반환 시간 Turn Around Time : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간 => “단축" 

사용 가능도 Availability : 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도 => “향상" 

신뢰도 Reliability : 시스템이 주어진 문제를 정확하게 해결하는 정도 => “향상" 

 

운영체제의 기능 

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

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

사용자와 시스템 간 인터페이스 제공 

시스템의 각종 하드웨어와 네트워크를 관리/제어 

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

시스템의 오류를 검사하고 복구 

자원 보호 기능을 제공 

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

가상 계산기 기능 제공 

 

운영체제의 주요 자원 관리 

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

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

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

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

 

운영체제 계층 구조 

하드웨어 - CPU 관리 - 기억장치 관리 - 프로세스 관리 - 주변장치 관리 - 파일 시스템 관리 - 사용자 프로세스  

 

Windows 

1990년대 Microsoft 개발 

GUI : 키보드로 명령어를 직접 입력하지 않고, 마우스로 아이콘이나 메뉴를 선택하여 모든 작업을 수행하는 방식 

선점형 멀티태스킹 : 동시에 여러 개의 프로그램을 실행하는 멀티태스킹을 하면서 운영체제가 각 작업의 CPU 이용 시간을 제어하여 응용 프로그램 실행 중 문제가 발생하면 해당 프로그램을 강제 종료시키고 모든 시스템 자원을 반환하는 방식 

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

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

255자의 긴 파일명 

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

 

UNIX 

1960년대 AT&T, MIT, General Electric 공동개발 

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

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

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

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

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

트리 구조의 파일 시스템을 갖는다. 

전문적인 프로그램 개발에 용이하다. 

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

*시분할 시스템 : 여러 명의 사용자가 사용하는 시스템에서 컴퓨터가 사용자들의 프로그램을 번갈아가며 처리해 줌으로써 각 사용자에게 독립된 컴퓨터를 사용하는 느낌을 주는 것으로, 라운드 로빈 방식이라고도 함. 

 

UNIX 시스템의 구성 

커널 

UNIX의 가장 핵심적인 부분 

컴퓨터가 부팅될 때 주기억장치에 적재된 후 상주하면서 실행된다. 

하드웨어를 보호하고, 프로그램과 하드웨어 간 인터페이스 역할을 담당한다. 

프로세스(CPU 스케줄링) 관리, 기억장치 관리, 파일 관리, 입출력 관리, 프로세스 간 통신, 데이터 전송 및 변환 등 여러 가지 기능을 수행한다. 

 

 

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

시스템과 사용자 간의 인터페이스를 담당 

DOS의 COMMAND.COM과 같은 기능을 수행 

주기억장치에 상주하지 않고, 명령어가 포함된 파일 형태로 존재하며 보조기억장치에서 교체 처리가 가능하다. 

파이프라인 기능을 지원하고 입출력 재지정을 통해 출력과 입력의 방향을 변경할 수 있다. 

공용 Shell이나 사용자 자신이 만든 Shell을 사용할 수 있다. 

 

*파이프라인 

둘 이상의 명령을 함께 묶어 처리한 결과를 다른 명령의 입력으로 전환하는 기능 

 

유틸리티 프로그램 

일반 사용자가 작성한 응용 프로그램을 처리하는 데 사용 

DOS에서의 외부 명령어에 해당됨 

에디터, 컴파일러, 인터프리터, 디버거 등이 있음 

 

기억장치 관리 전략 

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

 

반입 Fetch 전략 

보조기억장치에 보관중인 프로그램이나 데이터를 언제 주기억장치로 적재할 것인지를 결정하는 전략으로, 요구 반입(Demand Fetch)과 예상 반입(Anticipatory Fetch)이 있다. 

 

요구 반입 : 실행중인 프로그램이 특정 프로그램이나 데이터 등의 참조를 요구할 때 적재 

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

 

배치 Placement 전략 

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

프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 ~ 

최초 적합 First Fit : 첫 번째 분할 영역에 배치시키는 방법 

최적 적합 Best Fit : 단편화를 가장 작게 남기는 분할 영역에 배치시키는 방법 

최악 적합 Worst Fit : 단편화를 가장 많이 남기는 분할 영역에 배치시키는 방법 

 

교체 Replacement 전략 

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

 

단편화 

주기억장치의 분할된 영역에 프로그램이나 데이터를 할당할 경우, 분할된 영역이 프로그램이나 데이터보다 작거나 커서 생기는 빈 기억공간 

 

dd if=/dev/zero of=[파일명] bs=[용량] count=[반복횟수] 

 

프로세스 

프로세서에 의해 처리되는 사용자 프로그램, 시스템 프로그램, 실행중인 프로그램 

PCB를 가진 프로그램 

실기억장치에 저장된 프로그램 

프로세서가 할당되는 실체로서 디스패치가 가능한 단위 

프로시저가 활동중인 것 

비동기적 행위를 일으키는 주체 

지정된 결과를 얻기 위한 일련의 계통적 동작 

운영체제가 관리하는 실행 단위 

목적 또는 결과에 따라 발생되는 사건들의 과정 

 

*Dispatch 

준비 상태에서 대기하고 있는 프로세스 중 하나가 프로세서를 할당받아 실행 상태로 전이되는 과정 

 

*Wake Up 

입출력 작업이 완료되어 프로세스가 대기 상태에서 준비 상태로 전이되는 과정 

 

프로세스 상태 전이 

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

제출, 접수, 준비, 실행, 대기. 

주요 : 준비, 실행, 대기. 

 

제출 Submit : 작업을 처리하기 위해 사용자가 작업을 시스템에 제출한 상태 

접수 Hold : 제출된 작업이 스풀 공간인 디스크의 할당 위치에 저장된 상태 

준비 Ready : 프로세스가 프로세서를 할당받기 위해 기다리고 있는 상태. 프로세스는 준비상태 큐에서 실행을 준비하고 있다. 접수 상태에서 준비 상태로의 전이는 Job 스케줄러에 의해 수행된다. 

실행 Run : 준비상태 큐에 있는 프로세스가 프로세서를 할당받아 실행되는 상태. 프로세스 수행이 완료되기 전에 프로세스에게 주어진 프로세서 할당 시간이 종료(Time Run Out)되면 프로세스는 준비 상태로 전이된다. 

대기 Wait / 보류,블록 Block : 프로세스에 입출력 처리가 필요하면 현재 실행 중인 프로세스가 중단되고, 입출력 처리가 완료될 때까지 대기하고 있는 상태 

 

Proc 디렉터리 

보조기억장치에 실제 존재하는 파일이 아닌 메모리에 저장되어 있는 데이터를 확인할 수 있는 가상 디렉터리 

 

Top 

현재 CPU와 메모리 사용률을 모니터링 

 

Ps 

PID를 확인 

 

데이터베이스 

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

 

통합된 데이터 Integrated Data : 검색의 효율성을 위해 중복이 최소화된 데이터의 모임 

저장된 데이터 Stored Data : 컴퓨터가 접근할 수 있는 저장 매체에 저장된 데이터 

운영 데이터 Operational Data : 조직의 고유한 업무를 수행하는 데 존재 가치가 확실하고 없어서는 안 될 반드시 필요한 데이터 

공용 데이터 Shared Data : 여러 응용 시스템들이 공동으로 소유하고 유지하는 데이터 

 

DBMS 

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

 

데이터베이스를 관리하기 위한 필수 기능 

정의 : 데이터의 타입과 구조, 데이터가 데이터베이스에 저장될 때의 제약 조건 등 명시 

조작 : 체계적 데이터 처리를 위해 데이터 접근 기능을 명시 

제어 : 데이터의 정확성과 안전성을 유지하기 위해 무결성, 보안 및 권한 검사, 병행 제어 등 명시 

 

DBMS의 장점 

데이터의 일관성을 유지할 수 있다 

데이터의 논리적, 물리적 독립성이 보장된다 

데이터의 실시간 처리가 가능하다 

 

DBMS의 단점 

데이터베이스의 전문가가 부족하다 

전산화 비용이 증가한다 

시스템이 복잡하다 

 

ER 모델 

1976년 피터 첸 

 

개체 타입, 관계 타입, 속성 

 

기본키 

개체 타입에서 개체를 유일하게 식별해 주는 속성 또는 속성 집합 

728x90
반응형