IT의 정석

1과목_컴퓨터 구조와 디지털 저장매체_01 컴퓨터의 구조 본문

디지털 포렌식 전문가 2급 필기

1과목_컴퓨터 구조와 디지털 저장매체_01 컴퓨터의 구조

D_HK 2020. 4. 6. 18:04

1. 컴퓨터 구조

1) 컴퓨터 구조의 발전

▶ 컴퓨터의 구성 장치와 기본 구조

  - 하드웨어 : 컴퓨터의 기계장치 의미

  - 소프트웨어 : 하드웨어의 동작을 제어, 지시하는 역할을 하는 모든 종류의 프로그램을 의미

 

▶ 세대별 컴퓨터 특징

  1. 1세대(1946~1959) : 진공관 세대

     - 주요소자 : 진공관

     - 주기억 장치 : 자기드럼, 수은지연회로

     - 보조기억장치 : 천공카드, 종이테이프

     - 처리속도 : ms

     - 사용언어 : 기계 중심의 기계어 - 어셈블리어

     - 특징 : 부피가 크고 고장이 잦음 / 수치계산, 통계 등에 사용 / 하드웨어 개발 중점 / UNIVAC - I, ENICAC\ 개발

  2. 2세대(1960~1963) : 트렌지스터 세대

     - 주요소자 : 트랜지스터(TR)

     - 주기억장치 : 자기코어

     - 보조기억장치 : 자기드럼, 자기디스크

     - 사용 언어 : 고급언어 개발 (COBOL, FORTRAN,ALGOL 등)

     - 특징 : 트랜지스터의 사용으로 부피가 감소되고, 신뢰성이 높아짐 / 운영체제 개념 도입 / 소프트웨어 개발에 주력/

               온라인 실시간 처리방식 도입 / 다중 프로그래밍 기법 사용 / 과학계산, 일반 사무에 사용

  3. 3세대(1964~1970) : IC(intergrated sirsuit) 직접회로

     - 주요소자 : 직접 회로 (IC)

     - 주기억장치 : 직접회로 (IC), RAM과 ROM사용

     - 보조기억장치: 자기디스크, 자기테이프

     - 처리속도 : ns

     - 사용언어 : 고급언어 (LIPS, PASCAL, BASIC, PL/1)

     - 특징 : 시분할시스템 사용 / OMR, OCR, MICR 도입 / MIS 도입

  4. 4세대(1970~1980) : LSI

     - 주요소자 : 고밀도 직접회로 (LSI)

     - 주기억장치 : 고밀도 직접회로 (LSI)

     - 보조기억 장치 : 자기디스크, 자기테이프

     - 처리속도 : ps

     - 사용언어 : 고급언어 (ADA등), 문제지향적 언어

     - 특징 : 마이크로프로세서 개발로 가정에서도 컴퓨터 사용이 가능해짐, pc의 등장 / 네트워크 발달

  5. 제 5세대(1980년대 이후) : VLSI

     - 주요소자 : 초고밀도직접회로(VLSI)

     - 주기억장치 : 초고밀도직접회로(VLSI)

     - 보조기억장치 : 자기디스크, 광디스크

     - 사용언어 : 객체지향언어 (C++, java)

     - 특징 : 인터넷의 확산 퍼지 / 인공지능 / 음성인식 / 페턴인식 등의 신기술 개발

  하드웨어 특징

소프트웨어 특징`

1세대 진공관 일괄처리
2세대 트랜지스터 다중 프로그래밍
3세대 직접회로 시분할 처리
4세대  LSI (고밀도 직접회로) 인공지능 전문가 시스템
5세대 VLSI (초고밀도직접회로) 병렬처리 자연언어 처리

 

2) 프로세스 구조 

프로세스 : 현재 실행 중이거나 곧 실행 가능한 프로세스 제어 블록(PBC)를 가진 프로그램으로 실행 중인 프로그램, 비동기적 활동, 살아있는 프로그램, 프로세스 제어 블록(PCB)을 가진 프로그램, 언제든 실행 가능한 프로그램을 모두 프로세스라고 정의 된다.

 -> 프로그램 코드와 프로세스 제어 블록(PCB)로 구성

 

▶ 프로세스는 살아 있는동안 이벤트에 의해서 3가지의 상태 변화가 일어남

  - 실행 상태 : 현재 프로세스를 할당 받아 수행 중인 프로세스를 의미

  - 준비 상태 : 실행 준비가 되어 프로세서가 처리해 주기를 기다리는 상태

  - 블록 상태 : 입출력 종료와 같은 외부 신호를 기다리고 있는 상태

1. 프로세스 제어 블록 (PCB) : 프로세스 관현 정보를 포함하는 자료구조

  - 목적 : OS에게 프로세스 관리를 위한 정보를 제공

  - 프로세스 상태 파악을 위해 유지, 관리 되며, 프로세스의 현재 상태, 이름, 우선순위, 메모리 주소, 할당자원 목록 등을 포함한다.

  - 프로세스 생성 시 PCB는 생성되고 프로세스가 파괴될 때 함께 제거됨

  - PCB는 하드웨어 레지스트리를 사용하여 구현됨

 

2. 프로세스 관련 작업

creation

프로세스 생성 관련 작업 / OS가 디스크 내 프로그램 선택 후 PCB를 만드는 프로세스 생성

destory PCB를 회수하고 프로세스를 제고하는 역할 / 부모프로세스가 없어지면 자식프로세스 자동 소멸
suspend 어떤 상태에서 자신이 하던 작업을 멈추고 대기
resume 대기중인 프로세스가 이전 상태로 돌아감

3. 대기와 재동작

  - 컴퓨터 실행 줄 overflow 등 예기치 않은 이벤트로 인해 프로세스가 대기 상태가 될 수 있다.

  - 일정 시간이 지나 원인 해결시 재동작

 

4. 인터럽트 처리

  - 컴퓨터 작동 중 예끼치 않은 문제 발생 시 인터럽트 처리 루틴이 작동하여 응급 상태를 해결하고 이전 상태로 복귀

  - CPU의 모든 상태는 PSW에서 유지되는데 인터럽트를 알리는 5bit가 있고 5가지 인터럽트 서비스 루틴(ISP)가 운영체제 일부에 존제 

  - 인터럽트 처리 중 다른 인터럽트 발생 시, 우선순위에 의해 인터럽트 처리

  ▷기본적인 인터럽트 우선 순위

    전원 공급이 이상 → CPU의 기계적인 오류 → 외부 신초에 의한 인터럽트 → 입출력 전송 요청 및 전송 완료,

  전송오류 → 프로그램 검사 인터럽트 →슈퍼바이저호출(SVC인터럽트)

 

※ 명령어 구조에 따른 프로세서

  CISC RISC
주요 특징

복합명령어

하드웨어 복잡

명령어에 따른 실행속도 상이

고정 명령구조(32bit)

하드웨어 간단

복잡한 명령을 단순한 여러개의 명령으로 처리

실행속도 일정

CPU 명령

명령어 개수 많음

길이가 다양하여 실행 사이클도 다양

명령어 길이 고정

실행 사이클 동일

회로구성 복잡 단순 (CISC 대비)
메모리 사용 효율적 비효율적
프로그램 코드 사이즈 Small(130~140) Large(160~180)
프로그램 측면 명령어를 적게 사용 상대적 많은 명령어
컴파일러 다양한 명령을 사용으로 컴파일러 복잡 명령어 개수가 적어 컴파일러 단순

  캐시 메모리

   - 컴퓨터에서 CPU와 주기억장치 사이에 설치되어 있는 고속 버퍼 메모리

   - 빈번히 사용되는 명령이나 데이터를 빠르게 처리하기 위한 메모리

  DMA (Direct Memory Access)

   - 컴퓨터 내부의 전송 버스가 지원하며, CPU를 통하지 않고 데이터를 메모리와 메모리 또는 메모리와 입출력장치 간에 직접 전송하는 방식

   - 데이터 전송 시 CPU의 개입이 없어 효율성이 높아짐

 

※ 폰 노이반과 하바드 아키텍쳐 비교

  폰 노이만(Von Veumann)   하바드 (Harvard)
구조 CU(Control Unit)가 메모리에서 명령어를 가져와 연산(ALU)을 하고 다시 메모리에 결과를 저장하는 방식  명령어 메모리에서 명령을 가져와 분석 실행하고 참조/결과에 대한 저장을 데이터 메모리에 별도로 하는 구조 (명령어와 데이터 메모리 동시 접근)
특징

프로그램 내장방식

CPU는 단 하나의 명령어만 순차적 실행

데이터와 명령어의 메모리 공유

CPU는 메모리로부터 명령어와 데이터를 동시 사용 가능

현재 명령을 마치는것과 동시에 다음명열을 가져 올 수 있기 때문에 속도가 더 빠를 수 있음

데이터 메모리와 프로그램 메모리가 분리되어 각각의 주소/DB 를 소유

메모리를 분리하여 파이프라인 사용 시 최적환경

문제점

CPU의 비효율적인 사용(한번에 하나)

주기억 장치 병목현상

( 명령어, 데이터 모두 주기억장치에 저장)

 

 

Comments