본문 바로가기

학교수업/컴퓨터시스템

컴퓨터시스템 중간고사 예상

시험문제 10문제
객관식, 단답형 없음
채점기준: 빠진내용 틀린내용 1건당 -10퍼센트

 

1. BCD 코드(2진화 10진 코드)

10진수 0부터 9까지를 2진화한 코드로 표기는 2진수이지만 의미는 10진수. 계산결과가 9 초과시 계산 결과에 6(0110)을 더한다

 

2. 패리티 비트

데이터 전송과정에서 에러 검사를 위한 추가 비트. 에러 검출만 가능하지만 동시에 여러 비트에 에러 발생시 검출 안될 수 있음. 짝수패리티는 데이터에서 1의 개수를 짝수개로 맞춘다.

 

3. 1byte = 8bit

 

4. MSB Most significant bit(최상위비트) least significant bit

 

5. 양논리 또는 정논리: 5볼트를 1로 간주

 

6. NOT게이트: 한개의 입력과 1개의 출력 갖는 게이트. 입력의 반대 출력. 산타모자모양

AND 게이트: 2입력 모두 1인 경우에만 1출력. 논리기호 골무

NAND 게이트: 입력이 모두 1인 경우에만 0 출력. 논리기호 골무+산타모자

OR게이트: 2입력 모두 0인 경우에만 0 출력. 논리기호 뾰족한 골무

NOR 게이트: 입력이 모두 0인 경우에만 출력 1. 논리기호 뾰족골무 + 산타모자

XOR 게이트: 입력중 1의 개수가 홀수개면 1출력

 

7. 하이 임피던스(OPEN 상태)

V=IR이므로 R이 무한대가 되면 I는 0으로 수렴한다. 즉 회로는 연결되어있지만 전류가 흐르지 않는 상황

 

8. 병렬 가감산기

병렬가산기의 B입력을 부호 S(sign)와 XOR하여 전가산기의 압력으로 사용. 2의 보수를 활용한 덧셈기능 활용

 

 

9.CPU의 구성

ALU와 레지스터로 구성되어 있다.

ALU는 각종 산술 연산들과 논리 연산들을 수행하는 회로들로 이루어진 하드웨어 모듈이다.

레지스터는 액세스 속도가 가장 빠른 기억장치로 CPU 내 포함할 수 있는 레지스터의 수는 제한되어 있다.

레지스터의 종류

프로그램 카운터(PC): 다음에 인출할 명령어의 주소를 가진 레지스터로 분기 명령어 실행되는 경우 목적지 주소로 갱신된다. 각 명령어가 인출된 후에는 자동으로 일정크기만큼 증가한다.

누산기(ACC): 데이터를 일시적으로 저장하는 레지스터

명령어 레지스터(IR): 가장 최근에 인출된 명령어 코드가 저장되어 있는 레지스터

기억장치 주소 레지스터(MAR): PC에 저장된 명령어 주소가 출력되기 전 일시적으로 저장되는 레지스터

기억장치 버퍼 레지스터(MBR): 기억장치에 쓰여질 데이터 혹은 기억장치에서 읽혀진 데이터를 임시적으로 저장

 

10. 명령어 파이프라이닝

CPU의 프로그램 처리속도를 높이기 위해 CPU 내부 하드웨어를 여러 단계로 나누어 동시에 처리하는 기술

 

11. 인터럽트

프로그램 실행중 CPU의 현재 처리 순서를 중단시키고 다른 동작 수행을 요구

인터럽트가 들어오면 CPU는 어떤 장치가 인터럽트를 요청했는지 확인하고 그 경우에 해당하는 인터럽트 서비스 루틴을 호출한다. 그 서비스가 끝나면 원래 프로그램의 수행을 계속한다.

 

12. 슈퍼스칼라

CPU의 처리속도 증가를 위해 내부에 2개 이상의 명령어 파이프라인을 포함시킨 구조

 

13. 운영체제의 목표: 효율성, 안정성, 확장성, 편리성

 

14. 다중 프로그래밍

하나의 CPU로 동시에 작업을 실행하는 기술

 

15. 프로세스 제어 블록(PCB)

운영체제가 해당 프로세스를 위해 관리하는 자료 구조. 프로세스를 실행하는데 필요한 중요 정보를 보관하는 자료구조.

구성

  • 포인터: 준비상태나 대기상태의 큐를 구현할 때 사용
  • 프로세스 상태
  • 프로세스 구분자: 운영체제 내의 여러 프로세스 구현위한 구분자
  • 프로그램 카운터: 다음에 실행될 명령어 위치
  • 프로세스 우선순위: 프로세스 실행순서 결정
  • 각종 레지스터 정보
  • 메모리 관리 정보
  • 할당된 자원 정보
  • 계정정보
  • 부모 프로세스 구분자와 자식 프로세스 구분자

 

16. 프로세스 상태의 전개도와 각각의 기능 5가지
생성: 프로세스가 메모리에 올라와 운영체제에서 프로세스 제어 블록을 할당받고 실행 준비를 완료하여 자기 순서를 기다리는 상태

준비: 생성된 프로세스가 CPU를 얻을 때까지 자기 순서를 기다리는 상태. PCB는 준비 큐에서 기다리며 CPU스케줄러에 의해 관리된다. CPU스케줄러는 준비 상태에서 큐를 몇개 운영할지 결정. CPU 스케줄러가 어떤 PCB를 선택하는 작업은 dispatch(PID) 명령으로 처리. CPU 스케줄러가 dispatch(PID)실행시 해당 프로세스가 준비상테에서 실행 상태로 바뀌어 작업 이루어짐.

실행: 준비 상태에 있는 프로세스 중 하나가 CPU를 얻어 실제 작업을 수행하는 상태. 실행상태의 프로세스는 타임 슬라이스 동안만 작업 가능. 작업완료 전 시간 전부 사용시 timeout(PID)가 실행되어 준비상태로 옮김. 실행상태동안 작업 완료시 exit(pid)가 실행되어 프로세스 정상 종료. 실행상태의 프로세스가 입출력 요청시 cpu는 입출력 관리자에게 입출력 요청하고 block(pid)실행

대기: 실행상태의 프로세스가 입출력 요청시 입출력 완료까지 기다리는 상태. 대기 상태의 프로세스는 입출력장치별로 마련된 큐에서 기다리다가 완료되면 인터럽트 발생, 대기 상태의 여러 프로세스 중 해당 인터럽트로 깨어날 프로세스 찾음(wakeup(pid))

완료: 실행 상태의 프로세스가 주어진 시간 동안 작업을 마치면 진입하는 상태. 코드와 사용데이터 메모리에서 삭제, pcb폐기. 정상적인 종료는 exit()처리. 오류나 다른 프로세스에 의해 비정상적으로 종료되면 디버깅을 위해 종료 직전의 메모리 상태를 저장장치로 옮기는데 코어 덤프라고 함.

 

17. 자료구조파트 큐,덱간단하게 나오고 트리 이후로는 안나옴
스택(LIFO): top에서만 접근 가능. last in first out

큐(FIFO): 뒤에서는 삽입만 하고 앞에서는 삭제만 가능한 구조. FIFO

 

18. 다단계 큐 스케줄링

우선순위에 따라 준비큐를 여러개 사용. 우선순위에 따라 해당 우선순위의 큐에 삽입. 우선순위는 고정형 우선순위 사용, 상단 큐의 모든 프로세스 작업이 끝나야 다음 우선순위 큐의 작업이 시작됨.

 

19. 다단계 피드백 큐 스케쥴링

프로세스가 CPU를 한번씩 할당받아 실행될 때마다 프로세스의 우선순위를 낮춰서 다단계 큐에서 우선순위가 낮은 프로세스의 실행이 연기되는 문제를 완화. 그러나 우선순위가 낮아진다고 해서 커널 프로세스가 일반 프로세스의 큐에 삽입되지는 않음. 우선순위에 따라 타임 슬라이스의 크기가 다름. 우선순위가 낮을 수록 CPU를 얻을 확률이 적으므로 우선순위가 낮은 경우 타임 슬라이스를 크게 함. 마지막 큐의 프로세스는 무한대 타임 슬라이스. 마지막 큐는 FCFS 스케쥴링 방식으로 동작함


반가산기FCS,라운드로빈,

19. 인터럽트 처리과정
입출력을 요청하고 입출력이 완료되면 이벤트를 발생시켜 알림

동기적 인터럽트: 프로세스가 실행중인 명령어로 인해 발생

비동기적 인터럽트: 하드웨어적 오류에 의해 발생

인터럽트 발생시 현재 실행중인 프로세스는 일시정지 상태가 되며 재시작을 위해 현재 프로세스 정보를 임시로 저장한다. 인터럽트 컨트롤러가 인터럽트 처리 순서를 결정한다. 처리 순서에 따라 인터럽트 벡터에 등록된 인터럽트 핸들러가 실행된다. 핸들러가 인터럽트 처리를 마치면 일시정지된 프로세스가 다시 실행되거나 종료된다.


20. 프로세스 간 통신의 종류3가지

  • 프로세스 내부 데이터 통신: 하나의 프로세스 내에 2개 이상의 스레드가 존재하는 경우. 이 스레드는 전역 변수, 파일을 이용해 데이터 주고받음
  • 프로세스 간 데이터 통신: 같은 컴퓨터에 있는 여러 프로세스끼리 통신하는 경우. 공용파일 또는 운영체제가 제공하는 파이프를 사용하여 통신
  • 네트워크를 이용한 데이터 통신: 여러 컴퓨터가 네트워크로 연결되어 있을 때 소켓을 이용해 데이터를 주고받음
  • 통신 방향에 따른 분류
    • 양방향 통신: 일반적
    • 반양방향 통신: 데이터 양방향 전송이 가능하지만 동시 전송은 불가능 
    • 단방향 통신: 모스 신호처럼 한쪽 방향으로만 데이터 전송 가능
  • 통신 구현에 따른 분류
    • 대기가 있는 통신: 동기화 지원. 데이터 도착할 때까지 자동으로 대기상태
    • 대기가 없는 통신: 동기화 지원 안함. 데이터 받는 쪽은 바쁜 대기를 사용해 데이터 도착 여부를 직접 확인

 

21. 세마포어

임계 구역에 진입하기 전 스위치를 사용 중으로 두고 임계구역으로 들어감. 이후 도착하는 프로세스는 이전의 프로세스가 작업 마칠때까지 기다림. 프로세스 작업 완료시 다음 프로세스에 임계구역 사용하라는 동기화 신호 보냄


22. 모니터

공유 자원을 내부적으로 숨기고 공유 자원에 접근하기 위한 인터페이스만 제공하여 자원을 보호하고 프로세스 간 동기화를 시킴.

'학교수업 > 컴퓨터시스템' 카테고리의 다른 글

1. 컴퓨터의 데이터 표현 방식과 연산  (0) 2022.06.02