2016년 11월 23일 수요일

10강 os

메인 메모리보다 대용량 기억장치에서 파일을 할당하는 비트맵을 사용해야하는 이유는?
: 비트 맵이 메인 메모리에 저장되면 시스템 고장(메모리 오류)인 경우라도 빈 공간 리스트가 손실 되지 않는다

연속 할당 정책,연결 할당 정책, 인덱스 할당 정책을 지원하는 시스템이 있다. 할당 정책을 선택하는 기준과 특정 파일에서는 어떤 할당 정책을 이용해야 하는지 설명하시오.
:
연속 할당은 디스크에 연속적인 주소에 할당을 하며 연결할당은 각 파일들은 디스크 블록들의 리스트가 연결되어있어 순차적으로 엑세스가 되어있다.인덱스 할당 정책은  모든 포인터를 인덱스 블록이라는 하나의 장소에서 관리하여 직접 액세스를 지원한다.

파일의 엑세스 속도에서 할당 방법을 평가한다면?
:연속 할당이 가장 빠르다. 디스크 헤드가 파일의 액세스 사이를 이동해야 할 수도 있기 때 문에 링크는 느리다. 전체 인덱스가 항상 메모리에 보존 할 수없는 경우 인덱스 할당은 최저 이다. 그렇지 않다면, 파일 인덱스의 다음 블록을 액세스 할 때 추가 시간이 필요하다.


각 디스크 블록이 8KB(213바이트)인 128GB(237바이트) 디스크의 파일 시스템이 있는 컴퓨터를 가정하자. 이 컴퓨터의 운영체제가 FAT를 사용할 때 FAT가 사용하는 최소 메모리 크기는?
:각 디스크 블록에 FAT 항목이 있으므로 디스크는 237바이트, 디스크 블록은 213바이트이다. 따라서 디스크 블록의 수 즉 FAT 항목 수는 237/213 = 224이다. 그러므로 224 항목에 대한 블록 번호(디스크 주소)는 log(224) = 24비트 즉 최소 3바이트를 필요로 한다. FAT에 의해 점유 된 공간의 최소 크기는 항목당 3바이트이므로 224 ☓ 3 = 16MB ☓ 3 = 48MB


파일을 포함한 디스크 블록을 구성하는 많은 방법이 있다. 다음 물음에 답하시오.
1) 연속 할당이 인덱스 할당보다 어떤 장점이 있는지 설명하시오
 :인덱스 블록은 메모리가 많이 필요하지만 연속 할당은  인덱스 구조의 복잡한 대신 첫 번째 블록과 길이에 대한 포인터만 저장하므로 단순하다. 또, 다음 블록 에 대한 포인터를 얻기 위해 다시 인덱스 계속 할 필요가 없으므로 파일 액 세스에 빠르다.

2)인덱스 할당이 연속 할당보다 어떤 장점이 있는지 설명하시오
:인덱스 할당은 큰 연속 공간에 대한 필요성이 없기 때문에 파일 공간 확장이 쉽고 연속 할 당 가능하고 외부 단편화를 방지할 수 있다.

디스크 크기가 40GB라고 하자. 파일에서 다음 블록의 블록 번호 4바이트가 필요로 하고, 기타 데이터 2바이트가 필요로 한다면 각 블록의 크기가 1K일때 FAT 테이블 크기는?
:디스크 블록 수 = FAT 의 항목 수 = 40GB/1KB = 40 ☓ 1024 ☓ 1024
 FAT 크기= 6 ☓ 40 ☓1024 ☓1014 = 240MB

2016년 11월 16일 수요일

동사

동사에는 여러 종류가 있는데 그 중 하나엔 be동사가 있다.

be동사는 be동사 + 전치사(부사)로 표현된다.

이런 방식으로 여러가지 표현으로 되어 어려운 단어를 대신하는 경우가 많다.

애매하게 뭔가 표현을 하고 싶은데 하기 힘든 경우 be동사와 전치사로 해결되는 것이 많다.

예를 들자면 불이 켜지다같은 경우 turn on으로 표현하기보단 be+ on으로 표현을 할 수 있고

취소되다고 cancle보단 off으로 쓰곤 한다.

글을 쓸때는 어려운 단어를 쓰더라도 말할때는 be동사로 간편하게 말하자.

다른 동사 사용법에 대해 말하자

예를 들어서 그는 춤을 잘춥니다를 영어로 표현하면 어떨까?

He is a good dancer가 맞다.

다른 표현이 틀린건 아니다. 단지 좀 더 영어식 표현이라는 거다.

형용사 + 명사 구조를 더 선호한다는 거다.

영어가 명사를 좋아하다보니  have,give를 더 많이 사용하다보니 사물이 아닌 것도 가지고 줄 수 있는 소유의 대상으로 표현을 한다.

예를 들어보면  have a long face 또는 have poor eyesight 이렇게 사용이 된다는 거다.

추가적으로 말하자면  우리나라 말은 한자표현이 많다.

한자는 글자마다 뜻을 갖고있어 의미가 압축적으로 표현된다.

일대일로 대응하는 우리말을 찾기란 쉽지않다.

한자 표현을 영어로 쉽게 표현하기 위해서는 먼저 그 표현을 쉬운 우리말 뜻을 풀어내는 것이 좋다.

순수 우리말의 경우도 우리말을 그대로 영어로 표현하지 말고 핵심적인 내용을 담아 풀어서 말하려는 훈련을 해보자.

2016년 11월 15일 화요일

주어-(1)

영어를 말하는데 애를 먹는 것중 하나가 주어이다.

주어를 말할때 영어와 한국어가 표현이 다른 경우가 많기 때문에 애를 먹는데

첫번째로, 우리말은 주어가 생략되더라도 의미가 통하지만 영어는 주어를 생략하면 아니된다. 우리말은 주어를 쓰지 않아도 틀린 문장이 아니며, 오히려 주어를 쓰지 않아야 더 자연스럽게 들린다.

Do you have plans?
Can i eat these cookies?

이 문장들을 해석해보거라. 전부 다 해석하면  첫번째 문장은 당신 약속 있나요? 이렇게 해석할 수 있고 두번째 문장은 제가 이 쿠키를 먹어도 되나요? 이렇게 해석된다.
그런데 이 문장에서 주어를 해석하지 않아야 좀 더 자연스럽게 해석된다.

때로는 주어가 다르게 해석되기도 한다.

 They serve good steak

You can see the beach from here

우리 말은 장소를 나타내는 거기라던지 여기라는 말로 해석이되기 때문이다.

무엇보다도 우리나라 말은 은/는/이/가 가 붙으면 주어로 생각하지만, 영어는 동사를 직접 행하는 명사가 주어 자리에 주로 온다는 점을 알아야한다.

영어에는 우리말과 달리 물주구문이 발달해 있다.
물주구문이란 사물이 주어로 쓰이는 문장을 말한다.

물론 우리말도 사물이 주어가 되는 경우는 많지만 영어는 have,give 등의 동사와 빈번하게 함께 쓰여서 사물 주어가 마치 사람 주어처럼 의지를 가진 것처럼 의지를 가진것 처럼 표현되는 점이다.

This camera has a zoom lens

This room has a great view

it gives me a headache

이렇게 사물주어는 부사의 형태로 표현되는 경우도 많다.

가장 좋은 예가 What이다.

what brings you here

이런 사물 주어가 가지는 특징은 의지가 없는 사물을 주체로 표현한다는 것으로 우리말로 해석하면 어색한 표현이 많다는 것이다. 그냥 영어는 영어로 받아들이자.

2016년 11월 14일 월요일

의문문(2)

수동태 문장

수동태란 본래 문장의 핵심을 목적어에 주는 형태를 말한다. 쉽게 말해서 우리가 말하는 능동태는 어느 대상의 시점에서 문장을 이끌어 나간다. 그래서 이때 주어는 스스로 행위를 할 수 있는 대상이 된다. 이런 문장의 주체를 목적의 대상으로 바꾸게 되는 것이 수동태이다.
솔직히 다 필요없고 수동태는 수동태로 보는게 맞다. 그런데 이렇게 설명한 이유는 다른게 아니라 좀 더 이해하기 쉬우라고 한거다.

주어와 동사의 관계가  수동일 때 쓰인다. 형태는 Be동사 + P.P이다.

예시를 들자면 A woman was killed on the street yesterday

This dress is made of cotton

이렇게 쓰인다.

거의 이렇게 쓰이지는 않지만 새로운 정보를 제시 할 때는 수동태와 함께 by+행위자를 쓰기도 한다.

Who directed the movie?

It was directed by Spielberg

이렇게 by를 써서 ~에 의하여 이렇게 해석을 할수 있다.

가정법은 현재의 사실에 반대되거나 이루지지 않은 사실을 말할때 말한다.
당연한거겠지만....

우선 현실의 현재는 가상의 과거시제로 나타낸다. 따라서 if+주어+과거동사, 주어+would(조동사)+원형으로 나타낸다.

예시를 들자면 if had time, I would help you

if i were you, i wouldn't go there.

과거에 있었던 현실을 반대로 가정하는 경우, 현실의 과거를 가상의 과거 완료시제로 나타낸다.
if +주어+과거완료, 주어 + would+ have+p.p로 나타낸다.

if I had had time, i would have helped you

if i had been you, i would not have gone there

이를 볼때 가정법은 말하고자 하는 시제 보다 이전의 시대를 가정하여 그 상황을 역설하는 방식이라 하겠다.

2016년 11월 7일 월요일

9강 os

입출력 모듈의 기능을 간략하게 설명하시오
: 입출력 모듈 기능은 프로세서가 여러 입출력 장치를 쉽게 제어하도록 하는데 목적이 있다.
이를 위해 첫쨰로 내부 자원과 데이터 입출력 등 다양한 동작을 제어하고 타이밍 기능을 제공한다. 둘째로 프로세서에서 명령을 전달 받고 관련된 메세지를 인식하는 기능을 제공하며 버퍼링을 이용하여 전송속도를 조절한다. 마지막으로 오류를 검출하는 기능을 제공한다.

DMA를 설명하시오
:DMA란 프로세서의 도움없이 직접 메인 메모리를 제어하여 데이터를 전송하는 형태를 말하며 데이터를 DMA제어기에 전달하여 입출력을 요청하면 이를 직접 처리하는데 즉, 입출력장치에서 메모리로 데이터를 블록단위로 전송 할 수 있다.


DMA 방법은 어떻게 병렬 처리 시스템의 성능을 향상시키는가? 하드웨어 설계가 복잡해지는 이유는?
: DMA 제어기가 데이터를 전송하는 동안 프로세서는 다른 작업을 수행할 수 있어 스틸링이 이루어 지게 된다. 스틸링은 입출력 작업을 DMA에 전담 시키기 때문에 시스템의 전체성능은 올라간다. 이 하드웨어 디자인 하는 것은  DMA제어기가 그 시스템으로 통합되야만 하고 그 통합된 시스템은 DMA 제어기가 버스 마스터가 되어야 하기 때문에 복잡하다.

디스크 엑세스 시간(속도)을 결정하는 요소는?
:탐색시간과 회전 지연시간, 전송시간이다. 이동 디스크 데이터 액세스시간은 탐색시간과 회전 지연시간, 전송시간을 더한 값이며 고정헤드의 디스크 시스템의 값은 회전 지연시간과 전송시간의 합이다.

디스크 입출력에 필요한 정보는?
:입력 동작인지, 출력 동작인지 하는 정보. 디스크 주소. 메모리 주소. 전송할 정보의 총량.

프로세스 속도를 높일 때 시스템 버스와 장치 속도 크기를 증가 시켜야 하는 이유는? 입출력에 50%와 연산 50%를 수행하는 하나의 시스템을 고려하여 설명하시오
:프로세서 수행을 더블링(doubling)하는 것은 전체 시스템 수행을 단지 50% 까지 증가시킬 것이다. 두 개의 시스템측면들을 더블링하면 수행을 100%까지 증가시킬 것 이다. 일반적으로, 개별적인 시스템 구성요소들의 수행을 증가시키는 것보다 최근 시스템 병 목현상을 제거하고, 전체시스템 수행을 증가시키는 것이 중요하다

디스크 스케줄링 방법 중 최소 탐색시간 우선 스케줄링을 설명하시오
:디스크 요청을 처리하려고 헤드가 먼 곳까지 이동하기 전에 현재 헤드 위치에 가까운 모든 요구를 먼저 처리하는 방법이다.

최소 탐색 시간 우선 스케줄링은 실린더의 너무 안쪽이나 바깥쪽 보다 중간쯤이 좋다. 그 이유를 설명하시오
:디스크의 중심은 모든 다른 트랙들에 대해 가장 작은 평균적인 거리에 위치한다. 그러므로 그 알고리즘이 첫 번째 요청을 서비스 한 후에는 또 다른 특정한 트랙보다 좀 더 중심트랙 에 가까워지며 그 결과 그 알고리즘은 처음 그 위치로 더 자주 가게 된다.

선입선처리 스케줄링의 문제점은?
:서비스지연을 감소시키는 요청을 재정렬하지 않아서 임의의 탐색 패턴결과로 탐색시간이 증가하면서 처리량이 감소시키는 단점이 있다.

단일 사용자 환경에서 선입선처리외의 스케줄링이 유용한가?
:단일 사용자한경에서, 그 I/O 대기행렬(queue)은 대개 길이가 1이다. 그러므로 선입선처리 (FCFS)는 디스크를 스캐줄링하는 가장 경제적인 방법이다.


C-SCAN방법은 Scan방법을 어떻게 변경한 것인가?
:가장 높은 트랙수에 도달한 후에는, 어떤 경로도 거치지 않고 가장 낮은 트랙수를 요청하도록 변경된다. 대기 시간을 좀 더 균등하게 하려고 스캔 알고지음을 변형시킨 알고리즘이다. 스캔 스캐줄링과 같이 한쪽 방향으로 헤드를 이동해 가면서 요청을 처리하지만 한쪽 끝에 다다르면 반대 방향으로 헤드를 이동하는 것이 아니라 다시 처음부터 처리를 한다. 따라서 CSCAN은 처음과 마지막 트랙을 서로 인접시킨 것과 같은 원형처럼 디스크 처리하므로 처리량을 향상시키면서 바깥 트랙과 안쪽 트랙에 대한 차별이 없어 반응 시간의 변화를 줄이는 효과를 준다.

다음과 같은 선형 요청 디스크 큐가 있다. ①~③의  디스크 스케줄링 알고리즘에서 트랙의 헤드 이동수는?
:

①FIFO
:  15 + 2 + 44 + 37 + 20 + 30 + 11 + 32 + 52 + 50 =393
②SSFT
: 15 + 2 + 7 + 10 + 11 + 16 + 4 + 50 + 2 + 9 =126
③LOOK
:15 + 5 + 37 + 16 + 11 + 17 + 4 + 9 + 11 + 50 =175

RAID를 사용할 때의 장점, RAID의 0~3계층 까지 구조와 차이점을 비교 설명하시오.
:운영체제로 여러대의 물리적 디스크를 하나의 논리적 디스크로 인식하는 기술로 프로세서의 성능을 향상된다.
RAID 0는 데이터를 여러 개의 디스크 드라이브에 분산하는 구조로 여러개의 디스크 드라이브를 동시에 액세스함으로써 성능 개선이 가능하다.
RAID 1은 0와 같은 방식으로 각 디스크 드라이브 에 대해 별도의 백업 드라이브를 운영된다.
RAID 2는 워드 단위로 운영 워드를 니브단위로 나누어 각 비트별로 다른 디스크 드라이브에 저장되며, 그 비트에 대해 해밍코드 3비트를 생성하여 이 코드로 각기 다른 드라이브에 1비트씩 배치한다.
RAID 3는 2의 간소화 버전으로 3비트의 해밍코드 대신 1 비트의 패리티비트를 사용한다.

2016년 11월 1일 화요일

8강 os

요구 페이징과 프리 페이징을 설명하시오
:요구 페이징은 필요한 프로그램만 메모리에 적재하는 방법으로 페이지들이 싱행하는 과정에서 실제로 필요해질 때 적재한다. 프로그램을 실행하려고 프로그램의 일부만 메인 메모리에 저재하되, 순차적으로 작성되어 있는 프로그램의 모두 모듈을 처리할 때 다른 부분은 실행하지 않는다. 프리 페이징은 처음에 발생하는 많은 페이지 부재를 방지하는 방법으로, 예상되는 모든 페이지를 사전에 한꺼번에 메모리 내로 가져온다.

요구 페이징의 장점을 열거하시오
:다중 프로그래밍의 정도를 증가시키고 액세스 하지 않은 페이지를 적재하지 않으므로, 다른 프로그램도 사용할수 있도록 메모리를 절약할 수 있다.
프로그램을 시작할 때 적재시간을 줄일 수 있다.
적은 수의 페이지를 읽기 때문에 초기 디스크 오버헤드가 적다.
페이지 부재를 디스크에서 페이지를 로드하는 데 사용할 수 있어 페이징 시스템보다 하드웨어 지원이 추가로 필요하지 않다.
적재된 페이지 중 하나를 수정할 때 까지 페이지들은 여러 프로그램이 공유 하므로 쓰기복사 기술로 더 많은 자원을 저장할 수 있다.
프로그램을 실행할 충분한 메모리가 없는 시스템에서도 대용량 프로그램을 실행 할 수 있으며, 프로그래머는 오버레이보다 쉽게 구현 할 수 있다.

페이지 부재란 무엇인지 설명하시오
:프로세스가 메인 메모리에 적재 되지 않은 페이지를 액세스 할때 하드웨어가 제기 하는 소프트웨어 트랩이다.

페이지 부재를 수행하는 여섯 단계를 열거하시오
:
프로세스 제어 블록에 있는 내부 테이블을 검사하여 프로세스가 메모리 액세스에 타당한지를 결정한다.
프로세스 참조가 무효화되었으면 프로세스가 중단되고, 유효한 페이지면 명령을 계속 처리하나 유효하지 않은 페이지면 페이지를 메모리에 가져와야한다.
메모리에서 빈 프레임 중 하나를 선택한다.
요구된 프레임에 요구된 페이지에 입출력하는 동안 프로세서는 다른 프로세스의 디스크 동작을 스케줄링 한다.
요구된 페이지가 메모리에 있다는것을 알리기 위해 페이지 테이블의 비타당 비트를 타당으로 변경한다.
주소 트랩으로 인터럽트 된 명령어를 다시 시작한다.

페이지 대치란 무엇인지 설명하시오
:페이지 부재가 발생하면, 메인 메모리에 있으면서 사용하지 않는 페이지를 없애 새로운 페이지로 바뀌는 작업이다.

스래싱이란 무엇인지 설명하시오
:페이지 교환이 계속 일어나는 현상이다.

작업 집합 모델의 장점을 설명하시오
:프로세스가 많이 참조하는 페이지 집합을 메모리 공간에 계속 상주시켜 빈번한 페이지 대치 현상을 줄인다.

단순 페이지 시스템을 다음 매개변수 관점에서 살펴보자
:
①논리적 주소에서 몇 개의 비트가 있는가?
:논리적 주소의 크기가 16비트이고 페이지의 크기는 10바트 이므로 총 26비트이다.
②프레임에 몇 개의 바이트가 있는가?
:하나의 프레임은 하나의 페이지와 같으므로 10바이트이다.
③물리적 주소에서 프래임을 나타내는 비트는 몇개인가?
:물리적 주소에서 페이지 크기를 나누므로 32비트-10비트 즉 22비트이다.
④페이지 테이블에 있는 항목들은 몇개인가?
:논리적 주소에는 각 페이지에 해당하는 하나의 항목이 있다. 따라서 2의 16승만큼의 항목들이 있다.
⑤각 페이지 테이블 항목에 몇 개의 비트가 있는가?(단, 각 테이블 항목은 유효,무효 비트를 포함하고 있다고 가정한다.)
:페이지 테이블이 16비트이므로 15비트의 프레임이 있다.

프리 페이징을 사용하는 이유를 설명하시오
:입출력 인터럽트를 위해 연속된 페이지를 한 번에 메모리로 가져오기 때문에 입출력을 여러 번 수행하는 요구 페이지보다 더 성능이 좋기 때문이다.

페이지 크기를 결정하는 요소를 열거하시오
:페이지 테이블의 크기,프로세스 메모리의 크기, 내부 단편화,입출력 시간 최소화,페이지 부재

다음 페이지 참조열에서 ①~③의 대치 알고리즘에 페이지 부재가 몇개 일어나는가?(단, 페이지 프레임은 4개로 가정한다.)

①LRU:10회


②FIFO;9회




③Optimal:7회