본문 바로가기

~2023/일상

내가 보려고 정리하는 정보보안기사 예상문제

반응형

 

 

 

1. CPU의 구성요소에 대해 설명하시오

답: ALU(연산장치), 레지스터(소규모 데이터나 중간결과 저장), 제어장치(프로그램 명령어 해석 및 실행), 내부 CPU 버스(ALU와 레지스터간 데이터 이동)

 

2. 레지스터의 종류에 대해 설명하시오

답: PC(다음 명령어 저장), MAR(주기억장치의 번지를 기억), MBR(입출력할 자료 기억), IR(명령코드 기억)

 

3. 버스의 종류와 기능에 대해 설명하시오.

답: 데이터 버스(데이터 전송) / 주소 버스(기억장소의 위치) / 제어 버스(제어 신호 전송)

 

4. CPU의 명령 실행주기(Instruction Cycle)에 대해 설명하시오

답: 인출(메모리 로드), 간접(메모리 간접주소 방식 일 경우, 한번 더 조회), 실행(CPU가 연산 수행), 인터럽스(예기치 않은 문제 발생 시)

 

5. 메모리 계층 구조를 빠른 순으로 말해보시오

답: 레지스터 -> 캐시 -> 주기억장치 -> 보조기억장치

 

6. 캐시 메모리 사상 방식에 대해 말해보시오

답: 직접 사상(구역 분할 방식) / 연관사상(어느 블록에도 매핑가능) / 집합 연관 사상(캐시와 메모리가 1대 M)

 

7. 캐시 메모리 교체 알고리즘에 대해 설명하시오

답: Random / FIFO / LFU(빈도수 적은) / LRU(오랫동안 미사용) / Optimal(가장 참조되지 않을 Page) / NUR(최근 사용되지 않은) / SCR(교체 되기 전 2번 기회 줌)

 

8. 페이지 교체 관리 시 문제점은?

답: Page Fault 발생(기억장치에 없을 때) / Demand Paging(요구될 때만 Process가 Page 적재) / Thrashing 발생(너무 교체가 자주 되면 시간이 많이 소요됨)

 

9. 가상 메모리란 무엇인가?

답: 물리적 메모리 크기의 한계를 극복하기 위해 실제 물리적 메모리보다 더 큰 용량의 메모리 공간을 제공하는 메모리 관리 기법이다.

 

10. 가상 메모리 관리 단위는 무엇인가?

답: 페이지(동일한 크기의 최소 논리 분할 단위) / 세그먼트(주소 공간을 용도별로 논리적 단위로 나눈 것)

 

11. 가상 메모리 관리 정책에는 무엇이 있는가

답: 할당 / 호출 / 배치 / 교체 기법

 

12. 가상 메모리 할당 정책에는 무엇이 있는가?

답: 연속 할당(고정분할, 가변분할) / 비연속 할당(Paging, Segmentation)

 

13. 가상 메모리 관리 기법

답: Paging 기법 / Segmentation 기법 / Paged Segmentation 기법

 

14. DMA(Direct Memory Access)란?

답: CPU의 개입 없이 IO 장치와 기억장치 사이의 데이터를 전송하는 접근 방식

 

15. I/O Processor란?

답: IO장치의 다양함과 복잡함 때문에 DMA제어기로는 한계가 있어 별로 전용 처리 기능의 프로세서를 탑재하여 IO 프로세서 사용

 

16. I/O Processor의 구성요소는 무엇인가?

답: 프로세서 / 지역 기억장치 / 버스 인터페이스 / 버스 중재회로

 

17. 운영체제의 목적은 무엇인가?

답: 1. 처리능력의 향상: 시간당 작업 처리량 개선

2. 신뢰성 향상: 실패 없이 주어진 기능 수행 능력

3. 응답 시간의 단축: 사용자가 시스템에 의뢰한 작업의 반응 시간 단축

4. 자원 활용률 향상: 자원 공유, 상호배제를 통해 자원 효율적 활용

5. 가용성 향상: 고장과 오류가 발생해도 운영 영향 최소화

 

18. 프로세스와 스레드에 대해서 설명하시오.(짱 중요)

답: 프로세스: 레지스터, 스택, 포인터 ,실행중인 프로그램, 데이터 등의 집합체이다.

스레드: 제어의 흐름을 의미하는 것으로, 프로세스에서 실행의 개념만을 분리한 개념이다.

 

19. 프로세스와 스레드를 비교하시오.

답: 

구분 스레드 프로세스
상호통신 - Library Call
- 요청 Thread만 Blocking
- System Call
- Call 종료 시까지 전체 자원 Blocking
처리 방식 - CPU를 이용하는 기본 작업
- 단위로 구분
자원 할당을 위한 기본 구분 단위
부하 프로세스보다 상대적으로 부하 적음 - Context Switching으로 인한 부하 발생
- 프로세스 자원 할당 시 부하 발생

 

20. PCB(Process Control Block)란 무엇인가?

답: 운영체제가 프로세스를 제어하기 위해 정보를 저장해 놓는 곳으로, 프로세스의 상태 정보를 저장하는 구조체이다.

 

21. CPU 스케쥴링 점유 방식에 대해 설명하시오.

답: 선점과 비선점이 있다.

선점: 프로세스가 CPU 점유 중에도 다른 프로세스가 CPU 점유 가능(Round-robin, SRT)

비선점: 프로세스가 CPU를 해제할 때까지 다른 프로세스는 대기(FCFS, SJF, HRN)

 

22. CPU 스케쥴링 기법에 대해 설명하시오.

FCFS: 대기 큐에 도착한 순서대로 CPU 할당

SJF(Shortes Job First): 수행시간이 가장 짭다고 판단된 것 먼저 수행

라운드 로빈: FCFS에 의해서 프로세스들이 내보내지며 각 프로세스는 같은 크기의 CPU 시간을 할당

SRT(Shortes Remaining Time): 처리가 완료되는 데까지 가장 짧은 시간이 소요된다고 판단되는 프로세스 먼저 수행

Multi Level Queue: 여러 개의 큐를 이용하는 스케쥴링 기법

Multi Level Feedback Queue: 새로운 프로그램이 들어오면 높은 우선순위를 할당해 주어 단계 1에서 즉시 수행하고 ,점차 낮은 우선순위를 부여하며 단계가 N쯤 되는 나중에는 그 잡업이 완료될 때까지 라운드로빈으로 순환한다.

 

23. 상호배제 기법의 정의는 무엇인가요?

답: 다수의 프로세스가 동일 자원에 접근 시 무결성을 보장하기 위한 기법이다.

 

24. 임계영역이란 무엇인가요?

답: 한순간에 반드시 프로세스 하나만 진입해야 하는데, 프로그램에서 임계 자원을 이용하는 부분으로 공유 자원의 독점을 보장하는 코드 영역을 의미한다.

do {
	wait(mutex); // 진입구역
임계구역
	signal(mutex); // 출구 구역
    나머지 구역
    } while()

 

25. 교착상태란 무엇인가?

답: 하나 또는 둘 이상의 프로세스가 더 이상 계속할 수 없는 어떤 특정 사건을 기다리고 있는 상태를 말한다.

 

26. 교착상태의 발생조건은 무엇인가?

답: 상호배제: 한 번에 한 프로세스만이 자원 사용 가능

점유와 대기: 부분 할당, 다른 종류의 자원을 부가적으로 요구하면서, 이미 어떤 자원을 점유하고 있음

비선점: 자원들은 그들을 점유하고 있는 프로세스로부터 도중에 해제되지 않음

환형대기: 프로세스와 자원들이 원형을 이루며, 각 프로세스는 자신에게 할당된 자원을 가지면서, 상대방 프로세스의 자원을 상호 요청하는 경우

 

27. 디스크 관리의 개념은 무엇인가?

답: 디스크는 가장 많이 사용하는 보조기억장치 중 하나로 마치 레코드판을 여러 개 중첨해서 놓은 것과 비슷하다.

 

28. Disk Scheduling의 종류에 대해 설명하시오.

답: FCFS: 가장 먼저 도착한 요청을 우선적으로 처리

SSTF: 탐색 거리가 가장 짧은 트랙에 대한 요청을 먼저 서비스함

SCAN(엘리베이터 알고리즘): Head가 이동하는 방향의 모든 요청을 서비스하고, 끝까지 이동한 후 역방향의 요청을 서비스함

C-SCAN: 바깥쪽에서 안쪽으로 이동, 끝에 도달하면 바깥쪽으로 이동하여 요청을 다시 처리

C-LOOK: C-SCAN의 보완, 대기시간을 좀 더 균형 있게 함, 헤드 이동 방향의 마지막 입출력 요청을 처리한 후 디스크 헤드를 처음 위치로 이동하여 다음 입축력 요청을 처리

 

29. 파일시스템이란 무엇인가?

답: 운영체제의 중요한 기능 중 하나로 사용자가 생성한 파일을 저장소에 어떻게 저장하고 관리할 것인지를 결정하는 것이다.

 

30. 파일시스템의 종류에 대해 설명하시오.

답: FAT16(File Allocation Table): 대부분의 Microsoft 운영체제에서 호환되며 단순한 구조이다.

최대 2GB까지만 지원한다.

FAT32: FAT16을 보강한 것으로, 최대 2TB까지 지원한다. 암호화 및 압축이 불가능하다.

NTFS(New Technology File System): 암호화 및 압축을 지원하며, 대용량 파일 시스템을 지원한다. 가변 클러스터 크기(512 ~ 64KB)이며, 기본값은 4KB이다.

EXT(Extended File System): MINIX File System을 보완하여, 최대 2GB까지 파일 시스템 크기를 지원한다.

EXT2: 파일 시스템은 2GB까지, 볼륨 크기는 32TB까지 지원되며, 서브 디렉터리 개수 제한이 대폭 증가(32,768개)하였다. FSCK를 사용한 파일 시스템 오류 수정을 지원한다.

EXT3: EXT2d에 저널링 기능 추가 및 온라인 파일 시스템이 증대됐다. 파일 시스템 변경 시 저널에 먼저 수정 내용을 기록한다.(갑작스런 다운 시 빠르게 오류 복구)

EXT4: 16TB까지 파일 시스템을 지원하며, 볼륨은 1엑사바이트(Exabyte)까지 지원한다. Blobk Mapping 방식 및 Extends 방식을 지원한다. 저널 Checksum 기능이 추가되어 안전성이 강화되었다. 온라인 조각 모음: 조각화 방지를 위한 커널 레벨의 기술.

 

31. RAID란 무엇인가?

답: 디스크 고장 시 그대로 복구할 수 있도록 2개 이상의 디스크에 데이터를 저장하는 기술이다.

저용량, 저성능, 저가용성인 디스크를 배열 구조로 중복 구성함으로써 고용량, 고성능, 고가용성 디스크를 대체하고자 한다.

 

32.RAID의 종류에 대해 설명하시오.

답: RAID 0: 최소 2개의 디스크로 구성된다. 중복 저장하지는 않기 때문에 디스크 장애 발생 시 복구할 수 없다.

RAID 1: 완전 이중화하여 저장하는 방식, RAID에서 가장 좋은 방식이지만 비용이 많이 발생한다.

RAID 2: Hamming Code를 이용하여 오류를 복구한다.

RAID 3: Parity 정보를 Disk에 저장한다. 1개의 디스크 장애 시 Parity를 통해 복구 가능하다.

RAID 4: 데이터는 Block 단위로 데이터 디스크에 분산 저장한다. Parity 정보를 별도의 Disk에 저장한다.

RAID 5: 분산 Parity를 구현하여 안정성이 향상되었다. 최소 3개의 디스크가 요구된다.

RAID 6: 분산 Parity가 적용된 RAID 5의 안전성 향상을 위해 Parity를 다중화하여 저장한다.

 

33. RAID와 가장 반대되는 개념이라고 할 수 있는 것은 무엇인가?

답: Disk Spanning: 여러개의 디스크를 하나의 논리적인 단위로 묶는 방법이다.

 

34. 리눅스의 특징에 대해 설명하시오.

답:

다중 사용자: 여러 명의 사용자가 네트워크를 통해서 접속하여 컴퓨터 시스템을 사용할 수 있는 환경이다.

다중 작업: 여러 개의 프로세스를 동시에 실행시켜 CPU를 스케쥴링하여 사용할 수 있다.

다중 처리기: 컴퓨터 시스템에 한 개 이상의 CPU가 탑재되어 있는 경우 여러 개의 CPU를 지원해 주는 다중 처리기를 지원한다.

다중 플랫폼: 여러 종류의 CPU를 지원한다.

계층형 파일시스템: 리눅스 파일 시스템은 루트를 기반으로 하위 디렉터리를 이루는 계측형 파일 시스템이다.

POSIX과 호환: POSIX은 유닉스 시스템의 표준 인터페이스를 정의한 것으로 리눅스는 POSIX 표준을 따른다.

우수한 네트워킹: 리눅스의 강력한 네트워킹 기능은 TCP.IP, IPX/SPC, Appletalk, Bluetooth 등 다양한 프로토콜을 지원한다.

가상 콘솔: 리눅스는 기본적으로 6개의 가상콘솔이 있어서 각 창마다 서로 다른 작업을 수행할 수 있다.

가상 기억장치: 주기억장치의 한계를 극복하기 위해 보조 기억장치를 마치 주기억장치처럼 사용할 수 있도록 한다.

 

35. 리눅스 운영체제의 기능

답: 작업관리자, 메모리 관리자, 파일 시스템 관리자, 네트워크 관리자, 장치 관리자

 

36. 리눅스 운영체제 핵심 구성요소

답: 커널, 셸, 파일 시스템

 

37. 리눅스 전역 설정파일에 대해 설명하시오.

답:

.bash_profile: 사용자 홈 디렉터리에있는 파일

.bashrc: 사용자 정의 변수, 함수 alias를 정의

.bash_logout: 사용자가 로그아웃할 때 실행되는 파일을 정의

 

38. 셸 환경변수란 무엇인가?

답: 환경변수라는 것은 특정한 의미로 설정된 값을 의미한다. 예를 들어 HOME이라는 사용자 계정의 홈 디렉터리를 가지고 있고 이를 사용하려면 $HOME으로 입력하면 된다.

 

39. inode란 무엇인가?

답: 리눅스 커널이 현재 사용하는 자료구조(파일 정보)를 유지하는 구조체이다. 리눅스는 파일에 접근 시 아이노드를 통해서 파일을 참조한다.

 

40. inode가 가지고 있는 정보에 대해서 나열하시오.

답: 파일 소유자의 사용자 ID, 파일 소유자의 그룹 ID, 파일 크기, 파일이 생성된 시간, 최근 파일이 사용된 시간, 최근 파일이 변경된 시간, 파일이 링크된 수, 접근 모드, 데이터 블록 주소.

 

41. inode의 기능에 대해 설명하시오.

답: 할당 및 적용 / 파일생성 / 파일링크 / 파일삭제

 

42. inode의 구조에 대해 설명하시오

답: 심볼릭 링크는 마치 윈도우의 바로가기와 비슷한 기능으로 파일명이 너무 길면 심볼릭 링크를 만들어서 짧은 파일명으로 사용할 수 있다.

긴 파일명과 긴 디렉터리명을 대신해서 사용할 때 링크정보만 가지고 있는 새로운 inode가 만들어지고 inode는 원래 파일의 포인터(주소) 정보만을 가지고 있다.

 

43. 리눅스 파일 시스템 종류에 대해 설명하시오.

답: 리눅스 파일 시스템은 ext(extend)2, ext3, ext4가 있으며 현재 대부분의 리눅스는 ext4를 지원한다.

 

44. 리눅스 Booting 순서에 대해 설명하시오.

답: 1. 리눅스의 서버 전원을 켠다.

2. ROM BIOS를 읽고 디스크의 MBR에 있는 부트로더가 실행된다.

3. 부트로더는 보조 기억장치에 저장되어 있는 리눅스 커널을 찾고 리눅스 커널을 실행한다.

4. 리눅스 커널은 하드웨어를 확인하고 root의 읽기전용으로 마운트를 수행한다.

5. 그 다음 디스크를 검사하고 root의 쓰기 전용으로 다시 마운트를 수행한다.

6. 작업이 완료되면 리눅스 커널은 init 프로세스를 실행하고 PID 1번을 할당한다. 

7. init 프로세스는 자신의 설정 파일인 /etc/initab 파일을 읽어서 디바이스 및 프로세스를 활성화한다.

8. init 프로세스의 작업 수행은 리눅스의 Run 레벨에 따라 다르게 부팅한다.

 

45. 리눅스 Run Level에 대해 설명하시오

답:

실행단계 내용
0 PROM 감사단계
1 관리 상태의 단계, 사용자 로그인의 접근이 불가능한 단일 사용자 단계로 여러 개의 파일 시스템이 로드되어 있음, 암호를 변경할 때 사용
2 공유된 자원을 갖지 않은 다중 사용자 단계
3 기본 실행단계로 공유 자원을 가진 다중 사용자 단계(텍스트 유저모드)
4 현재 사용되지 않음
5 Run Level 3로 기동 후에 그래픽 모드인 X-Windows를 실행
6 재부팅 단계로 실행단계 3의 상태로 재부팅

46. 리눅스 디렉터리 구조에 대해 설명하시오.

 

 

 

반응형