공부/컴시

컴시 기말고사 정리

GalaKrond 2022. 12. 13. 22:57
728x90

순차 접근 방식(Sequential Access) - 슬롯 1부터 순차적으로 진행하며 접근함

직접 접근 방식(Random Access) - 저장 위치에 관계없이 접근함

 

알고리즘 - 문제 해결 과정에서 규칙성을 찾아 논리적인 순서로 설명,

표현하는 문제 해결 절차나 방법을 말한다.

 

입 / 출력 : 외부에서 데이터 제공 필요, 1개 이상의 결과가 출력되어야  한다.

명확성: 각 명령어는 그 의미가 명확해야 하며, 모호할 수 없다.

유한성: 알고리즘의 명령대로 실행하면 언젠가는 실행이 종료되어야 한다.

수행 가능성: 모든 명령은 오류 없이 수행 가능해야 한다.

 

정확성 - 실행 결과가 정확한가?

단순성 - 알고리즘의 구조나 흐름이 이해하기 쉬운가?

수행시간 비교 - 알고리즘이 동작하는데 걸린 시간

기억장소 사용량 - 차지하는 기억 장소의 크기

 

보조 기억 장치 관리

보조 기억 장치의 개념 -  

주 기억 장치에 비해 속도가 느리기에 스케줄링 기법이 중요하다

 

 

디스크 스케줄링의 개념 - 

디스크 여러 곳에 흩어진 프로그램과 데이터에 접근하기 위해서 움직이는 것

응답 시간의 차이가 많이 나지 않도록 하는 목적을 가짐

1. FCFS(First Come First Service) = FIFO(First In First Out)

- FCFS는 가장 간단한 스케줄링으로, 디스크 대기 큐에 가장 먼저 들어온 트랙에 대한 요청을 먼저 서비스하는 기법이다.

선 입 선 출

 

 

 

 

2. SSTF(Shortest Seek Time First)

- SSTF는 탐색 거리(Seek Distance)가 가장 짧은 트랙에 대한 요청을 먼저 서비스하는 기법이다.

최근거리 탐색.

- 현재 헤드 위치에서 가장 가까운 거리에 있는 트랙으로 헤드를 이동시킨다.

 

 

 

 

3. SCAN

- SCAN은 SSTF가 갖는 탐색 시간의 편차를 해소하기 위한 기법이다.

엘레베이터처럼 가장 가까운 곳으로 가서 그 방향의 모든 요청을 해결한다.

- 현재 헤드의 위치에서 진행 방향이 결정되면 탐색 거리가 짧은 순서에 따라 그 방향의 모든 요청을 서비스하고,

끝까지 이동한 후 역방향의 요청 사항을 서비스한다.

 

 

 

 

4. C-SCAN(Circular SCAN)

- C-SCAN은 항상 바깥쪽에서 안쪽으로 움직이면서 가장 짧은 탐색 거리를 갖는 요청을 서비스하는 기법이다.

아래로만 내려가는 엘레베이터, 1층에 도착하면 맨 위로 올라간다.

- 헤드는 트랙의 바깥쪽에서 안쪽으로 한 방향으로만 움직이며 서비스하여 끝까지 이동한 후,

안쪽에 더 이상의 요청이 없으면 헤드는 가장 바깥쪽의 끝으로 이동한 후 다시 안쪽으로 이동하면서 요청을 서비스한다.

 

 

 

 

//출처 https://jess2.tistory.com/83

 

가상 기억 장치 

데이터가 주 기억 장치보다 크거나 공간이 부족할 때 필요한 부분만 주 기억 장치에 두는 것을 말함

이를 통해서 시스템 관리적 측면의 장점을 가지고 있고, 사용자 입장에서 세부사항을 고려하지 않는다.

다만 추가적인 소프트웨어를 통해 관리해야 한다는 것이 흠.

 

입출력 자원 관리와 스풀링

메모리 / 통신 / 프로세스 / 파일 을 관리하는 장치 관리자

입출력 명령을 만나게 되면 전용 프로세서가 처리하게 된다

 

스풀링(spooling)  - 스풀러 프로그램이 인쇄하기 위한 파일을 저장하고 순서대로 출력하는 방식

-> 중앙처리장치 <-> 입출력 장치 간의 속도 차로 발생하는 대기 시간을 줄이기 위한 기법.

 

입출력 버퍼링

단일 / 더블 (두개) / 순환 (순환 큐 데이터 구조를 사용, 일 계속 함)

 

파일의 자원 관리

 

디스크의 분할 및 포맷

파일과 폴더 생성 / 이름 변경 / 복사, 삭제, 이동

드라이브와 폴더 내용 출력

 

· 문제 해결 과정 

 

1. 문제 이해 및 분석하기

- 문제를 분석하여 도식화하고 구조화하여 문제 해결 방법을 찾는 데 활용한다.

 

2. 문제 해결 방법 찾기

- 거꾸로 해결하기, 작은 문제부터 해결하기, 여러 번의 시도와 실수를 통해 해결하기 등

  다양한 방법을 이용한다

 

3. 문제 해결하기 

- 2단계에서 선택한 방법을 이용, 문제를 해결한다. 컴퓨터를 이용할 때는 문제를 프로그램으로 구현한다.

 

4. 문제 해결 방법에 대해 평가하기

- 문제 해결 시간, 기억 장소의 사용량 등을 검사하여 문제 해결 방법을 평가 후 필요할 때는 다시 돌아간다.

 

글로 표현 / 표로 표현 / 그림과 기호로 표현

 

프로그래밍을 할 때는 3 / 4 단계가 바뀌는데

 

3. 알고리즘 설계

- 자연어 표현 / 의사 코드 표현 / 순서도 표현 / 프로그래밍 언어 표현

 

4. 프로그램 작성 

 

- 프로그램을 작성, 오류 수정

 

 

· 추상화 

 

문제를 해결하기 위해서 문제를 분해하고 중요한 부분을 끌어내는 것을 통해서 문제를 단순하고 쉽게 변환하는 과정.

연속적인 데이터를 이산적인 데이터로, 실제 현상을 절차화된 언어 / 숫자 / 수식으로 변환하는 것이 그 예시.

 

문제의 분해 - 주어진 문제를 여러 개로 쪼개자

 

모델링 - 문제 속 구성 요소를 단순화하고 구조화하는 것이다

 

· 알고리즘

 

문제를 해결하기 위한 절차나 방법을 알고리즘이라고 한다.

컴퓨터는 어떤 동작을 어떤 순서대로 할 지를 알지 못하기에 우리가 직접 논리적이고 체계적으로 정리해 알려줘야 한다.

 

 

 

자연어 표현 방법 - 일상 언어로 표현함, 쉽게 이해 가능하나 모호한 표현을 사용하면 이해하기 힘듬

 

순서도 표현 방법 - 미리 약속된 기호로 표현함, 흐름을 이해하기 쉽고 오류가 쉽게 발견되나, 커질수록 힘듬.

 

의사 코드 표현 방법 - 프로그래밍 언어처럼 적기, 특정 프로그래밍 언어를 몰라도 이해 가능. 다만 기초 지식은 필요

 

프로그래밍 언어 표현 방법 - 바로 실행 가능, 그러나 문법 이해 필요

 

순차 구조 - 시작부터 끝까지 

선택 구조 - 조건에 따라 처리 내용이 달라짐

반복 구조 - 루프

 

 

 

728x90