1유형은 주어+동사만으로 문장의 형태가 만들어지는 가장 단순한 구조이다.
예를 들면 I go , I ㅣlive 같은 형태가 1형이라 하겠다. 하지만 사람이 이렇게만 말하지는 않는다. 대체로 1형 뒤에는 부연 설명을 하는 수식어가 붙어서 나온다.
I go to school
l love her
l wake up every morning
1문형에서는 조심해야 할 동사의 쓰임이 있다.
1. 영어동사에 우리말 주어표현아 포함되어 있는 경우
예를들면 snow나 rain같은 경우 눈이 내리다와 비가 내린다로 해석이 되는건 요즘 초딩들도 아는 사실이다. 이런 동사들은 주어를 it으로 주어서 표현해야한다.
2.동사에 우리말 목적어 표현이 포함되어있는 경우이다.
drink나 smoke는 목적어가 동사에 포함되어 있으니 목적어를 쓰지 않아야 한다.
괜히 he doesn't drink beer이러지 말자. 뜻을 그는 맥주를 마시지 않아요라 생각하겠지만
그는 술을 마시지 않아요 맥주를 이런 희안한 말이 된다.
3. 영어 동사가 기본의미 이외의 의미를 가지는 경우다.
우리가 영어를 하면서 가장 힘든것 중 하나가 여러뜻을 가지기 때문이다.
사실 한국어도 마찬가지긴 한데 외국어이기 때문에 그럴것이다.
외국인 입장에선 한국어가 더 힘들것이다. 한국어는 비슷한 단어도 많고 희안한 뜻이 많으니까 말이다. 특히 시원하다.
2문형은 be동사를 가지는 문장을 말한다. 영어를 배울때 제일 처음 배우는 문형이 아닐까 생각한다. i am a boy you are a girl. 너무 유명한 말인데 이게 2형이다.
be 동사는 ~이다 라는 의미를 가지고 있으며 A=B의 관계를 성립하게 한다.
be동사는 주어의 인칭에 따라 형태가 달라지는데 이건 설명하지 않겠다.
이것도 모르면 영어를 전혀 모르니까 학원가라.
2형에서 be동사 뒤에는 명사와 형용사가 와서 주어를 보충해준다. 앞서 말했듯이 A=B의 관계를 성립하는데 A는 주어로 아무런 것도 못하지만 B는 이 문장의 핵심으로 A를 말해줄수 있어 실질적인 문장의 의미라 할수 있을 것이다. 그런데 명사는 상관없지만 형용사가 B에 올경우엔 좀 까다롭다. 형용사 단독으론 ~ㄴ으로 해석이 되지만 be + 형용사는 의미가 약간 달라지게 된다. 기본의미는 아니니 크게 걱정은 안해도 된다.
2형은 주어+ 동사+보어 형태의 문장형태로 나타낼수 있는데 주로 상태변화 와 감각을 나타낸다. 상태의 변화를 나타내는 동사 중 가장 많이 쓰이는 형태로는 become과 go, get이 있다. 의미는 ~해지다로 해석이 된다. 예를 들면 Become claer은 clear뜻인 깨끗하다를 받아 명백해지다로 해석이 된다. 감각동사는 look,sound,smell,taste,feel같은 동사들인데
하나만 예를 들자면 look different는 different의미인 다르다를 받아 달라보인다로 해석이 된다. 그냥 읽으며 해석하면 다르게 보인다로 어느 정도는 해석되니 문제없을거라 생각이 되지만, 우리말과 표현 방식과 다른 경우가 있기에 하나로 알고 있는것이 좋겠다,
3형은 주어와 동사 목적어로 구성된 형태이다.
가장 많이쓰고 가장 많이보는 문형이다. 우리말과 가장 비슷해서 해석하기 쉽다고 본다.
~이 ~을 ~하다.로 해석하면 되겠다.
근데 우리가 틀리기 쉬운 문장은 이렇게 바로 대응이 되지 않는 경우이다.
1. 우리말로 전치사가 필요할 것 같은 동사가 있는 경우이다.
예전에 한국인이 제일 많이 틀린 문장으로 꼽힌것이 '결혼하다'이다.
나와 결혼해줘요.... 낭만적이다만
marry with me로 말씀하셨다.
그 당사자는 지금 결혼 10년이 넘으셨다만 이렇게 우리나라 말로 보면 맞지만 영어표현은 그렇지 않는 것을 조심해야한다.
marry me가 맞는 표현은 덤.
2,우리말로는 전치사가 없을 것 같은 동사가 있는 경우이다.
영어가 안되면 시원스쿨이 위험한 이유로 이 2개를 꼽겠다. 우리나라 말과 영어는 엄연히 다른 말이다. 영어를 어떻게 한국말로 분석해서 표현하려하는지 모르겠다.
예를 들어 음악을 듣다를 영어로 표현하면 어떻게 되겠는가
listen to music 딱 나오지 않는가 그런데 이걸 보면 한국말과 다르다는게 보인다.
음악을 듣다는 듣는다(=listen) + 음악을(Music). 즉 listen music이 되야하는데 그렇지 않지 않는가.
잠시 흥분했다. 결론은 3형을 접할때 한국식으로 접하지 말고 영어는 우리나라 말이 아닌고로 원어민의 표현 그대로 받아들이자. 그것이 영어를 접하는 옳은 길이라 말하겠다.
2016년 9월 30일 금요일
2016년 9월 27일 화요일
4주차os
바쁜대기의 계념과 이를 피할수 있는 방법을 간단히 설명하시오
:한 프로세스가 임계구역내에 들어왔을때 문맥교환을 통해 다른 프로세스로 수행이 넘어간경우, 현재 임계구역내에 이미 프로세스가 들어가 있음에도 불구하고 정해진 타임동안 루프를 돌며 임계구역으로 집입을 시도하는 경우이다. 이는 세마포로는 프로세스 순서가 될때까지 루프를 대기시키거나 잠재워 cpu낭비를 최소화 하는 법이 있으며 모니터로 동기화를 시켜 중지되었다가 조건에 맞으면 신호를줘 작업하게 하는 법이 있다.
대기의 종류를 세가지 이상 나열하고 간단히 설명하시오
:한정된 대기는 임계규역에 접속 요청시 중간에 순서를 빼앗기는 횟수를 제한시카는 것이며
바쁜대기는 한 프로세스가 임계영역에 있으면 이 임계에 들어가려는 프로세스는 진입코드에서 계속 반복 순환하는 것을 말한다. 그리고 무한대기는 상대방 프로세스의 상태를 모르고 실행을 멈추고 계속하여 기다리는 상태를 말한다.
다음 선행그래프를 fork/join문장으로 구현하시오
:
Fork L1;
a:=x+y;
goto L2;
b:=z+1;
L1 : join count;
L2: c:=a-b;
w:=c+1;
버퍼크기가 유한한 생산자.소비자 문제에서 버퍼가 최대 n-1개의 데이터만 허용하는 이유를 설명하시오
:생산자는 버퍼가 가득 찼을 경우 더이상 생성 못하고 아무런 작동을 하지 않으며 소비자와 동기화를 해야 하기 때문이다.
임계영역 문제에서 세마포가 아닌 testandset을 사용하여 해결할때의 단점은?
:항상 적용할 수 없고 실행 효율이 떨어지며 소프트워어적인 해결책은 더 복잡하고 프로세스가 2개 이상일 떄는 더 많이 대기할 수 있다.
임계영역의 의미와 문제점을 간단히 설명하시오
:두 프로세스가 동시에 사용할 수 없는 자원에 접근하고 실행하는 프로그램 코드 부분이라 한다. 문제점은 반드시 한번에 하나의 프로세스만 접근이 가능하며 특정 프로세스가 임계영역에 오래 머물거나 무한 루프등에 빠지지 않도록 관리해야한다.
임계영역이 만족해야하는 세가지 조건을 기술하시오
:첫번째로 상호배제로서 프로세스가 입계영역에서 수행중일 때 프로세스가 임계영역에서 작업하지 않아야 하며 두번쨰로 진행은 프로세스가 임계영역으로 들어가려할때 알고리즘에 따라 다음 임계영역에서 수행할 대상을 선정해야한다. 제한된 대기로 한 프로세스가 임계영역을 요청한 후에 수락되기까지 다른 프로세스가 임계영역에 진입할 수 있는 횟수를 제한해야한다.
프로세스들의 병행처리를 명시하는 언어적표현을 간략하게 기술하시오
:첫번째로 fork와 join구조가 있는데 이는 선행제약을 정의하는 선행관계를 명시하는 구조이다. 그 다음으로 parbegin과 parend구조가 있는데 하나의 프로세스에서 여러 병렬 프로세스로 퍼졌다가 다시 하나로 뭉치는 것을 나타내는 병행문장을 명시한다.
세마포의 두 가지 연산을 설명하시오
:p연산과 v연산이 있는데 p연산은 프로세스를 대기하게 하는 wait동작으로 임계영역에 진입하는 연산이고 v연산은 대기중인 프로세스를 깨우려고 신호를 보내는 signal동작으로 임계영역에서 나오는 연산이다.
세마포의 단점을 설명하시오
:세마포는 wait이나 signal연산을 생략하면 상호배제 문제가 발생하며 wait연산 때문에 대기하는 프로세스들이 교착상태에 빠질수 있다. 따라서 잘못 사용하면 여러가지 오류가 쉽게 발생하여 프로그램을 작성하기 어렵다.
모니터의 개념을 설명하시오
: 사용자들 사이에서 통신하려고 동기화하고, 자원에 배타적으로 접근할수 있도록 프로세스가 사용하는 병행프로그래밍 구조이다.
경쟁상태를 설명하고, 이를 피할수 있는 방법을 간단히 설명하시오
:여러프로세스가 동시에 공유데이터에 접근할 때 접근순서에 다라 실행 결화가 달라지는 상황을 말하며 공유변수를 한 순간에 프로세스 하나만 조작 할 수 있도록 해야하는 임계영역과 연산하는 부분을 임계영역으로 설정하여 상호배재하는 방법으로 해결 가능하다.
세마포와 조건 변수의 wait와 signal연산 차이를 설명하시오
:wait은 연산프로세스를 대기하게 하는 동작이고 signal은 대기중인 프로세스를 깨우려고 신호를 보내는 동작이다.
:한 프로세스가 임계구역내에 들어왔을때 문맥교환을 통해 다른 프로세스로 수행이 넘어간경우, 현재 임계구역내에 이미 프로세스가 들어가 있음에도 불구하고 정해진 타임동안 루프를 돌며 임계구역으로 집입을 시도하는 경우이다. 이는 세마포로는 프로세스 순서가 될때까지 루프를 대기시키거나 잠재워 cpu낭비를 최소화 하는 법이 있으며 모니터로 동기화를 시켜 중지되었다가 조건에 맞으면 신호를줘 작업하게 하는 법이 있다.
대기의 종류를 세가지 이상 나열하고 간단히 설명하시오
:한정된 대기는 임계규역에 접속 요청시 중간에 순서를 빼앗기는 횟수를 제한시카는 것이며
바쁜대기는 한 프로세스가 임계영역에 있으면 이 임계에 들어가려는 프로세스는 진입코드에서 계속 반복 순환하는 것을 말한다. 그리고 무한대기는 상대방 프로세스의 상태를 모르고 실행을 멈추고 계속하여 기다리는 상태를 말한다.
다음 선행그래프를 fork/join문장으로 구현하시오
:
a:=x+y;
goto L2;
b:=z+1;
L1 : join count;
L2: c:=a-b;
w:=c+1;
버퍼크기가 유한한 생산자.소비자 문제에서 버퍼가 최대 n-1개의 데이터만 허용하는 이유를 설명하시오
:생산자는 버퍼가 가득 찼을 경우 더이상 생성 못하고 아무런 작동을 하지 않으며 소비자와 동기화를 해야 하기 때문이다.
임계영역 문제에서 세마포가 아닌 testandset을 사용하여 해결할때의 단점은?
:항상 적용할 수 없고 실행 효율이 떨어지며 소프트워어적인 해결책은 더 복잡하고 프로세스가 2개 이상일 떄는 더 많이 대기할 수 있다.
임계영역의 의미와 문제점을 간단히 설명하시오
:두 프로세스가 동시에 사용할 수 없는 자원에 접근하고 실행하는 프로그램 코드 부분이라 한다. 문제점은 반드시 한번에 하나의 프로세스만 접근이 가능하며 특정 프로세스가 임계영역에 오래 머물거나 무한 루프등에 빠지지 않도록 관리해야한다.
임계영역이 만족해야하는 세가지 조건을 기술하시오
:첫번째로 상호배제로서 프로세스가 입계영역에서 수행중일 때 프로세스가 임계영역에서 작업하지 않아야 하며 두번쨰로 진행은 프로세스가 임계영역으로 들어가려할때 알고리즘에 따라 다음 임계영역에서 수행할 대상을 선정해야한다. 제한된 대기로 한 프로세스가 임계영역을 요청한 후에 수락되기까지 다른 프로세스가 임계영역에 진입할 수 있는 횟수를 제한해야한다.
프로세스들의 병행처리를 명시하는 언어적표현을 간략하게 기술하시오
:첫번째로 fork와 join구조가 있는데 이는 선행제약을 정의하는 선행관계를 명시하는 구조이다. 그 다음으로 parbegin과 parend구조가 있는데 하나의 프로세스에서 여러 병렬 프로세스로 퍼졌다가 다시 하나로 뭉치는 것을 나타내는 병행문장을 명시한다.
세마포의 두 가지 연산을 설명하시오
:p연산과 v연산이 있는데 p연산은 프로세스를 대기하게 하는 wait동작으로 임계영역에 진입하는 연산이고 v연산은 대기중인 프로세스를 깨우려고 신호를 보내는 signal동작으로 임계영역에서 나오는 연산이다.
세마포의 단점을 설명하시오
:세마포는 wait이나 signal연산을 생략하면 상호배제 문제가 발생하며 wait연산 때문에 대기하는 프로세스들이 교착상태에 빠질수 있다. 따라서 잘못 사용하면 여러가지 오류가 쉽게 발생하여 프로그램을 작성하기 어렵다.
모니터의 개념을 설명하시오
: 사용자들 사이에서 통신하려고 동기화하고, 자원에 배타적으로 접근할수 있도록 프로세스가 사용하는 병행프로그래밍 구조이다.
경쟁상태를 설명하고, 이를 피할수 있는 방법을 간단히 설명하시오
:여러프로세스가 동시에 공유데이터에 접근할 때 접근순서에 다라 실행 결화가 달라지는 상황을 말하며 공유변수를 한 순간에 프로세스 하나만 조작 할 수 있도록 해야하는 임계영역과 연산하는 부분을 임계영역으로 설정하여 상호배재하는 방법으로 해결 가능하다.
세마포와 조건 변수의 wait와 signal연산 차이를 설명하시오
:wait은 연산프로세스를 대기하게 하는 동작이고 signal은 대기중인 프로세스를 깨우려고 신호를 보내는 동작이다.
2016년 9월 20일 화요일
3과 os
프로세스를 사용자 관점과 시스템 관점으로 구분하여 설명하시오
:사용자의 관점에서 프로세스는 주소공간을 가지고 실행하는 프로그램이고 시스템관점에서 프로세스는 스택,힙데이터와 코드영역으로 구상된 메모리구조와 어떤 자원을 사용하는지 관련 정보가 들어가 있는 동적인 객체이다.
메모리에 있는 프로세스 주소 공간의 구성과 그 역할을 설명하시오
:총 4가지로 구성되어있으며 스택,힙,코드,데이터로 구성되어있다.
스택은 임시로 데이터를 저장하는 영역으로 호출한 함수의 반환 주소,값,매개변수등에 사용한다.
힙은 코드영역과 별도로 유지되는 자유영역이다. 동적으로 메모리를 할당하려고 프로그램 실행 중 시스템 호출을 사용했다가 해제하는 방법으로 활용한다.
데이터는 프로그램의 가상주소 공간이다. 전역 변수나 정적변수를 저장하거나 할당하고실행하기전에 읽기 전용이나 읽기와 쓰기 영역으로 초기화 한다.
코드는 실행 명령을 포함하는 메모리거나 목적 파일에 있는 프로그램 영역이다. 프로그램을 실행할 때 프로세서가 디스크에서 읽어 실행하는 컴파일한 프로그램을 저장한다.
프로세스가 그림과 같이 3상태사이를 각 화살표처럼 이동하는 원인을 간단히 설명하시오.
발생하지 않으면 N/A로 표시하시오.
:
1:비실행 상태의 프로세스중에서 선택한 프로세스를 실행상태로 바뀐다.
2:주어진 시간동안 작업을 한 후 시간이 끝나면 실행상태로 돌아간다
3:N/A
4:발생 했던 인터럽트를 마치거나 제거되면 바뀐다.
5:실행중이던 프로세스에 인터럽트가 발생하면 바뀐다.
6:N/A
프로세스 중단(서스펜스)과 재시작은 언제 발생하는가?
:인터럽트가 발생하거나 실행하기에 오류가 있다고 판단 할때 그리고 처리작업량이 과도할때 중단과 재시작을 한다.
프로세스 제어 블록(PCB)에 저장하는 정보는?
: 프로세스 식별자 ID, 프로세스의 현재 상태,프로세스의 우선순위, 스케줄링,프로그램의 위치, CPU레지스터 정보,기억장치 관리정보,입출력정보,해당 처리 후 따라 처리 되야 하는 프로세스 정보
프로세스에는 스레드가 하나 이상 있으며, 병렬로 수행한다. 스레드를 이용하면 얻는 이점을 서술하시오.
:병렬로 작업을 수행하기 때문에 일처리가 빨라지므로 사용자 응답성이 증가한다, 프로세스의 자원과 메모리를 공유할 수 있으며 경제성이 좋다. 그리고 멀티프로세싱으로 성능과 효율성이 향상한다.
프로세스의 3상태변화 그림을 그리고, 각 상태를 간략하게 설명하시오.
:
작업이 일어나 프로세스가 생성되면 프로세스는 준비상태에 있는다. 이 상태에서 프로세스에 실행명령(디스페치)을 받으면 실행상태가 되고 어느 시간동안 작업을 하면 시간 종료가되어 다시 준비상태가 된다. 실행상태에서 만약 인터럽트가 발행하면 대기 상태로 전환되며 대기 상태에서 인터럽트가 해결되면 준비상태가 되고 다시 실행상태가 되며 작업이 완료되면 종료가 된다.
사용자 수준 스레드와 커널 수준 스레드의 차이는? 그리고 각 구현방법은 언제더 효과적인가?
: 두 차이는 커널에 있는데 사용자 수준 스레드에서는 스레드교환에 커널이 개입되지 않아
커널이 스레드가 아닌 프로세스를 한 단위로 인식하여 프로세서들을 할당한다. 프로세스 테이블이 유지되므로 다대일 매핑시 효과적이다. 하지만 커널 수준에서는 커널이 스레드 관련된 작업들을 관리하고 한 프로세서에서 다수의 스레드가 프로세서를 할당받아 병행으로 작업이 이루어진다. 병행적으로 작업이 이루어지므로 일대일 매핑이 효과적이다.
스레드를 생성할때 사용하는 자원은? 이것은 프로세스를 생성할 때와 어떻게 다른가?
:스레드는 프로세스의 제어만 분리 실행하므로 생성시 그 제어 그룹의 자원 예를들어 코드,데이터,주소,레지스터,포인터 등을 공유하며 생성된다.이것이 프로세서와 다른 점은 프로세스는 실행중에 생성될시 독립적인 주소공간을 갖고 생성된다.
프로세스를 종료하는 과정을 예로 들어 설명하시오
:프로세스가 마지막 명령을 실행하면 중료하여 os에 프로세스를 요청한다.
예를 들면 이런 명령어가 있다면
#!/bin/sh
for PID `ps -ef | grep test | grep -v grep | awk '{print $2}'`
do
kill -9 $PID
done
kill이란 명령어를 실행하여 중료 프로세스를 요청하여 done으로 실행되어 프로세스가 종료가 된다.
인터럽트와 트랩의 차이를 설명하시오
:트랩은 부적절한 파일 접근이나 현재 실행중인 프로세스 오류나 예외 상황이 발생시 시스템에서 치명적인 오류인지 판단하여 프로세스를 종료하여 교환 하지만 인터럽트는 프로세스 상태를 바꾸고 제어를 넘겨주어 문맥교환을 한다.
문맥 교환과 발생하는 시기를 기술하시오
:문맥 교환이 발생할때는 인털럽트나 트랩이 발생할때인데 현제 프로세스와 별도로 외부에서 이벤트가 발생할때 일어난다.
사용자 수준 스레드와 장단점을 설명하시오
: 커널에서 스레드를 지원할 필요가없어 모든 운영체제에서 적용이 가능하며 오버헤드가 적다 또한 응용프로그램에 맞게 스케줄링이 가능하다. 하지만 동시성을 갖지 못해 동일한 프로세스 내에 한개의 스레드가 대기 상태가 되면 실행이 않되고 확장의 제약을 받는다. 그리고 스레드간의 보호가 되지 않는다.
마이크로 커널 구조운영체제를 설명하시고, 장단점을 기술하시오
: 커널이 직접 스케줄링하고 실행하여 사용자 수준의 커널 지원이 부족한 문제를 해결할 수 있으며 스레드를 병행으로 수행할수 있다. 또한 한 스레드가 대기상태가 되더라도 다른 스레드를 실행할 수 있다는 장점이 있지만 오버해드가 커지고 스케줄링과 동기화시 많은 자원이 필요하다.
동일한 프레스의 스레드사이에 1)스텍 2)데이터 세그먼트 3)힙중 무엇을 공유하는가
: 스텍과 지역데이터 문맥정보를 독립적으로 가지며 동일한 그룹사이에 스레드는 힙과 데이터세그먼트를 다른 스레드와 공유한다.
프로세스 제어 블록의 목적과 운영체제는 언제 업데이트하고 판독하는가
:프로세스 관리하고 정보를 보관하기위해 존재하며 인터럽트가 발생하여 문맥교환이 일어날때 갱신된다.
1:1스레딩 모델과 n:1스레딩 모델의 차이점과 1:1 스레딩 모델을 선호하는 이유를 설명하시오
:이 둘의 차이는 커널이 스레드를 지원하여 작업을 하게되는가의 차이가 있다. 지원하여 작업을 하게되면 병행 수행을 할수 있게된는데 이는 n:1작업보다 안정성이 크며 작업에 중단이 일어나지 않아 사용자용가 작업하기에 무리가 없다.
프로세스와 스레드 차이를 설명하시오
:프로세스는 독립적인 메모리를 가지고 있으며 실행이 되지만 스레드는 프로세스내의 메모리를 공유해 독립적인 작업을 할 수없다.
:사용자의 관점에서 프로세스는 주소공간을 가지고 실행하는 프로그램이고 시스템관점에서 프로세스는 스택,힙데이터와 코드영역으로 구상된 메모리구조와 어떤 자원을 사용하는지 관련 정보가 들어가 있는 동적인 객체이다.
메모리에 있는 프로세스 주소 공간의 구성과 그 역할을 설명하시오
:총 4가지로 구성되어있으며 스택,힙,코드,데이터로 구성되어있다.
스택은 임시로 데이터를 저장하는 영역으로 호출한 함수의 반환 주소,값,매개변수등에 사용한다.
힙은 코드영역과 별도로 유지되는 자유영역이다. 동적으로 메모리를 할당하려고 프로그램 실행 중 시스템 호출을 사용했다가 해제하는 방법으로 활용한다.
데이터는 프로그램의 가상주소 공간이다. 전역 변수나 정적변수를 저장하거나 할당하고실행하기전에 읽기 전용이나 읽기와 쓰기 영역으로 초기화 한다.
코드는 실행 명령을 포함하는 메모리거나 목적 파일에 있는 프로그램 영역이다. 프로그램을 실행할 때 프로세서가 디스크에서 읽어 실행하는 컴파일한 프로그램을 저장한다.
프로세스가 그림과 같이 3상태사이를 각 화살표처럼 이동하는 원인을 간단히 설명하시오.
발생하지 않으면 N/A로 표시하시오.
:
1:비실행 상태의 프로세스중에서 선택한 프로세스를 실행상태로 바뀐다.
2:주어진 시간동안 작업을 한 후 시간이 끝나면 실행상태로 돌아간다
3:N/A
4:발생 했던 인터럽트를 마치거나 제거되면 바뀐다.
5:실행중이던 프로세스에 인터럽트가 발생하면 바뀐다.
6:N/A
프로세스 중단(서스펜스)과 재시작은 언제 발생하는가?
:인터럽트가 발생하거나 실행하기에 오류가 있다고 판단 할때 그리고 처리작업량이 과도할때 중단과 재시작을 한다.
프로세스 제어 블록(PCB)에 저장하는 정보는?
: 프로세스 식별자 ID, 프로세스의 현재 상태,프로세스의 우선순위, 스케줄링,프로그램의 위치, CPU레지스터 정보,기억장치 관리정보,입출력정보,해당 처리 후 따라 처리 되야 하는 프로세스 정보
프로세스에는 스레드가 하나 이상 있으며, 병렬로 수행한다. 스레드를 이용하면 얻는 이점을 서술하시오.
:병렬로 작업을 수행하기 때문에 일처리가 빨라지므로 사용자 응답성이 증가한다, 프로세스의 자원과 메모리를 공유할 수 있으며 경제성이 좋다. 그리고 멀티프로세싱으로 성능과 효율성이 향상한다.
프로세스의 3상태변화 그림을 그리고, 각 상태를 간략하게 설명하시오.
:
사용자 수준 스레드와 커널 수준 스레드의 차이는? 그리고 각 구현방법은 언제더 효과적인가?
: 두 차이는 커널에 있는데 사용자 수준 스레드에서는 스레드교환에 커널이 개입되지 않아
커널이 스레드가 아닌 프로세스를 한 단위로 인식하여 프로세서들을 할당한다. 프로세스 테이블이 유지되므로 다대일 매핑시 효과적이다. 하지만 커널 수준에서는 커널이 스레드 관련된 작업들을 관리하고 한 프로세서에서 다수의 스레드가 프로세서를 할당받아 병행으로 작업이 이루어진다. 병행적으로 작업이 이루어지므로 일대일 매핑이 효과적이다.
스레드를 생성할때 사용하는 자원은? 이것은 프로세스를 생성할 때와 어떻게 다른가?
:스레드는 프로세스의 제어만 분리 실행하므로 생성시 그 제어 그룹의 자원 예를들어 코드,데이터,주소,레지스터,포인터 등을 공유하며 생성된다.이것이 프로세서와 다른 점은 프로세스는 실행중에 생성될시 독립적인 주소공간을 갖고 생성된다.
프로세스를 종료하는 과정을 예로 들어 설명하시오
:프로세스가 마지막 명령을 실행하면 중료하여 os에 프로세스를 요청한다.
예를 들면 이런 명령어가 있다면
#!/bin/sh
for PID `ps -ef | grep test | grep -v grep | awk '{print $2}'`
do
kill -9 $PID
done
kill이란 명령어를 실행하여 중료 프로세스를 요청하여 done으로 실행되어 프로세스가 종료가 된다.
인터럽트와 트랩의 차이를 설명하시오
:트랩은 부적절한 파일 접근이나 현재 실행중인 프로세스 오류나 예외 상황이 발생시 시스템에서 치명적인 오류인지 판단하여 프로세스를 종료하여 교환 하지만 인터럽트는 프로세스 상태를 바꾸고 제어를 넘겨주어 문맥교환을 한다.
문맥 교환과 발생하는 시기를 기술하시오
:문맥 교환이 발생할때는 인털럽트나 트랩이 발생할때인데 현제 프로세스와 별도로 외부에서 이벤트가 발생할때 일어난다.
사용자 수준 스레드와 장단점을 설명하시오
: 커널에서 스레드를 지원할 필요가없어 모든 운영체제에서 적용이 가능하며 오버헤드가 적다 또한 응용프로그램에 맞게 스케줄링이 가능하다. 하지만 동시성을 갖지 못해 동일한 프로세스 내에 한개의 스레드가 대기 상태가 되면 실행이 않되고 확장의 제약을 받는다. 그리고 스레드간의 보호가 되지 않는다.
마이크로 커널 구조운영체제를 설명하시고, 장단점을 기술하시오
: 커널이 직접 스케줄링하고 실행하여 사용자 수준의 커널 지원이 부족한 문제를 해결할 수 있으며 스레드를 병행으로 수행할수 있다. 또한 한 스레드가 대기상태가 되더라도 다른 스레드를 실행할 수 있다는 장점이 있지만 오버해드가 커지고 스케줄링과 동기화시 많은 자원이 필요하다.
동일한 프레스의 스레드사이에 1)스텍 2)데이터 세그먼트 3)힙중 무엇을 공유하는가
: 스텍과 지역데이터 문맥정보를 독립적으로 가지며 동일한 그룹사이에 스레드는 힙과 데이터세그먼트를 다른 스레드와 공유한다.
프로세스 제어 블록의 목적과 운영체제는 언제 업데이트하고 판독하는가
:프로세스 관리하고 정보를 보관하기위해 존재하며 인터럽트가 발생하여 문맥교환이 일어날때 갱신된다.
1:1스레딩 모델과 n:1스레딩 모델의 차이점과 1:1 스레딩 모델을 선호하는 이유를 설명하시오
:이 둘의 차이는 커널이 스레드를 지원하여 작업을 하게되는가의 차이가 있다. 지원하여 작업을 하게되면 병행 수행을 할수 있게된는데 이는 n:1작업보다 안정성이 크며 작업에 중단이 일어나지 않아 사용자용가 작업하기에 무리가 없다.
프로세스와 스레드 차이를 설명하시오
:프로세스는 독립적인 메모리를 가지고 있으며 실행이 되지만 스레드는 프로세스내의 메모리를 공유해 독립적인 작업을 할 수없다.
2016년 9월 19일 월요일
2주차 os
운영체제의 주기능을 자원관리와 시스템 관리로 나눠 기술하시오.
: 운영체계의 기능은 2가지로 나눌 수 있다. 자원관리 측면과 시스템 관리측면이다.
우선 자원 관리에는 4가지로 분류 할 수 있다. 메모리, 프로세스, 주변창치, 데이터로 분류 하는데 이를 4대자원이라 말한다.
첫 번째로 메모리관리를 살펴보자. 프로세스가 작업을 효율적으로 할 수 있도록 메모리를 관리한다. 하지만 메모리는 공간이 제한적이므로 모든 프로그램의 작업을 담당하기는 무리가 되므로 보조기억장치를 이용해 메인 메모리의 작업을 보조하도록 한다.
프로세스관리에선 운영체제는 효율적으로 프로세스를 관리하기 위해 시스템 코드를 수행하는 os프로세스와 사용자코드를 수행하는 사용자 프로세스로 나누어 효율적으로 관리한다.
주변장치 관리로는. OS가 특정 하드웨어에 인터페이스를 제공하는 특수 장치 드라이브를 사용하여 입출력와 상호작용기 때문에 장치를 관리를 위해 버퍼 시스템과 인터페이스를 제공한다.
마지막으로 데이터관리는 입출력 및 주소관리를 말한다. 효율적으로 관리하기 위해 데이터를 단일화된 저장 형태와 보통디렉터리로 만들며 접근을 제어한다.
두 번째로 시스템 관리에 대해 말하겠다. 시스템관리는 시스템보호,네트워킹,명령해석기를 제공한다.
시스템 보호를 위해 os는 사용자 권한을 부여하고 데이터 암호화로 보안을 지킨다.
네트워킹을 위해서 os가 경로 설정,접속,충돌,보안을 직접 관리하여 보호한다.
마지막으로 명령해석기인데 이는 사용자가 입력한 명령을 os로 제어문으로 전달되는 시스템인데 이를 os가 제공하는 것이다.
운영체제의 발전 목적은?
:발전의 목적은 한마디로 말하자면 최대한 효율적이기 위함이다. 편리성 측면으로 설명 하자면 사용자가 편리하게 개발하며 데이터 및 명령을 시스템에 전달하고 받는 인터페이스가 효율적으로 이루어지기 위함이다. 효율성의 면에서는 프로그램들이 유기적으로 결합하여 시스템 전체의 성능을 향상시키기 위함이고 제어 서비스면에서는 서비스를 방해하지 않고 새로운 기능을 도입하고 시스템 테스트를 하여 사용자의 편의를 제공하도록 발전되야 한다. 이것이 운영체제의 발전 목적이다.
운영체계의 정의와 역할을 기술하시오.
:os란 사용자가 응용 프로그램을 실행할수 있는 기반환경을 제공하여 컴퓨터를 편리하게 이용하도록 도와주고 하드웨어를 사용 할 수 있도록 다양한 기능을 제공하는 소프트웨어이다. 이를 위해서 운영요소를 제어하는 조정자의 역할을 하며 필요한 자원을 효율적으로 할당 및 운영을 결정하는 관리자 역할을 하며 프로그램과 장치를 제어하는 제어자 역할을 한다.
프로세스를 관리하는 운영체제의 주요 활동은?
:효율적으로 프로세스를 관리하기 위해 스케줄링을 하고 적절하게 생성과 종료를 한다. 만약에 인터럽트가 발생시 중지하고 처리 후 재수행을 하며 교착상태를 막아준다. 또한 프로세스끼리 동기화 및 통신할 수 있도록 관리한다
파일를 관리하는 운영체제의 주요 활동은?
:운영 체제는 세부적인 기능을 통하여 파일을 관리하는데 우선 파일을 생성하고 삭제하고
디렉터리를 생성하고 삭제한다. 또한 보조기억장치에 있는 파일을 맵핑하여 주소를 관리하고
안전한 저장장치에 파일을 저장한다.
메모리를 관리하는 운영체제의 주요 활동은?
:os가 메모리를 관리 하기 위해 메모리의 어느 부분을 사용하고 누가 사용하는지 점검한다. 그리고 메모리에 저장할 프로세스와 할당하고 회수하는 방법을 결정한다.
시분할 시스템 운영체제를 설명하고 장단점을 기술하시오.
:시분할 시스템은 프로세서가 다중 작업을 교대로 수행하여 동시에 컴퓨터의 자원을 공유 할 수 있는 작업이다. 다수의 사용자가 동시에 작업을 하니 빠르게 응답 제공 하며 소프트웨어의 중복을 회피할 수 있으며 프로세서 유휴시간이 줄어든다. 즉, 빠르게 작업의 결과를 산출 할수 있다는 것이다. 하지만 너무 많은 사용자가 작업을 하니 신뢰성에 문제가 발생한다. 또한보안 의문 및 사용자 프로그램과 데이터의 무결성 및 데이터 통신의 문제가 발생한다.
다중 프로그래밍 시스템과 다중 처리 시스템의 차이를 설명하시오.
:다줄 프로그래밍은 프로세스가 유휴상태일 때 실행 중인 둘 이상의 작업이 프로세서를 전환하여 사용하는 기법으로 메모리에 여러 개의 프로그램을 상주시켜 cpu로 동시에 여러 프로그램을 실행하는 것처럼 처리하는 시스템이다. 반면에 다중 처리 시스템은 단일 컴퓨터 시스템 내에서 둘 이상의 프로세서를 사용하여 동시에 둘 이상의 프로세스를 지원하는 기법으로 복수 cpu를 사용하여 다중 작업을 하는 시스템을 말한다.
다중 프로그래밍의 주요 장점은?
높고 효율적인 프로세서 사용률이 증가하여 동시에 프로세서를 할당 받는 듯한 작업으로 작업처리 속도가 빠르고 시스템 안정성이 높다.
운영체제의 사용자 서비스를 설명하시오
:사용자 서비스란 프로그래머가 프로그래밍 작업을 쉽게 하도록 os가 제공하는 서비스를 말한다. 서비스로 우선 컴퓨터와 사용자간의 상호작용이 발생하도록 사용자 인터페이스를 제공하며 메모리 할당 및 프로세서 스케줄링을 하는 프로그램 실행, 사용자 프로그램의 입출력 동작 방법을 제공하며, 사용자가 파일관련 작업을 쉽게하기 위해 파일 시스템 조작 서비스를 제공하며 프로세스간의 정보를 교환하기 위해 네트워크 서비스를 제공하며 , 하드웨어와 소프트웨어안에서 오류를 탑지하여 문제를 예방하도록 오류 탐지서비스를 제공한다.
시스템 호출의 개념과 방법을 설명하시오
: 시스템 호출하여 응용프로그램이 사용자 수준에서 자원하지 않는 기능을 운영체제의 기능으로 호출하여 제공받는 기능이다. 방법으로는 2가지가 있는데 프로그램에서 명령이나 서브루틴의 호출 형태로 호출 하는 방법과 명령 해석기를 사용하여 대화 형태로 호출하는 방법이다
계층 구조 운영체제의 장점은?
: 장점으로는 모듈화가 잘 되어있어 설계나 구현이 단순해진다. 이 때문에 시스템 검증과 오류수정을 쉽게 할수 있어 관리적 측면에서 효율적이다.
단일 커널 구조 운영체제를 설명하고 장단점을 기술하시오.
:초기에 생겨난 가장 보편적인 형태로 운영체제의 모든 기능을 커널과 동일한 메모리 공간에 적재해 시스템 호출만으로 사용하는 작고 간단하면서 기능이 제한된 구조체이다.
장점으로는 기능을 커널에 그룹화 하여 구현하므로 직접 통신만으로 시스템 자원을 효율적으로 관리할 수 있다. 하지만 커널 크기가 커 버그의 원인이나 오류를 구분하기 어렵고 기능을 업데이트와 수정,유지,보수가 어렵다. 또한 한 부분에서 발생한 문제가 시스템 전체에 영향을 준다
마이크로 커널 구조 운영체제를 설명하고 장단점을 기술하시오.
:커널에 최소기능만 포함시켜 최소화하고 기타 기능은 사용자 공간으로 옮겨 수행하는 서버 구현방법이다. 장점으로는 커널을 가볍게 하였기 때문에 운영체제 서비스를 사용자 영역과 독립적인 서버에서 수행하기 때문에 다른 서버와 커널에 영향을 주지 않으며 개발에 용이하고 기능을 쉽게 변경할 수 있다. 하지만 모듈 간에 통신이 비번하게 발생해 성능이 떨어질 수 있으며 커널을 출입하는 문맥 교환 때문에 속도가 느리다.
시스템 및 응용 프로그램의 차이를 기술하시오
시스템 프로그램이란 데이터 등을 처리할수 있게 하기 위한 프로그램 또는 취급을 용이하게 해주는 프로그램이다. 즉, 작업처리를 담당하는 프로그램이다. 반면에 응용 프로그램은 사용자 또는 다른 프로그램에게 특정 기능을 수행하도록 설계된 프로그램을 말한다.
2016년 9월 5일 월요일
1주차 os과제
1. 운영체제의 목적으로 옳지 않은 것은?
① 신뢰성 향상 ② 사용자 인터페이스 제공
③ 처리량의 향상 ④ 응답시간 증가
만일 작업을 지시했는데 반응이 느리면 사용자가 과연 사용할 것인지는 본인이 가장 잘 알 것이다.
당연히 응답시간 단축이다. 운영체제의 목적은 4가지다.
첫째로 응답시간의 단축이다.
사용자가 컴퓨터에게 작업을 지시하였을 때 최대한 단시간에 결과를 받도록 하여야 한다.
두 번째로 처리능력 향상이다. 처리량의 향상이랑 같은 말이다. 단위 시간내에 최대한 많은 양 의작업을 처리 할 수 있도록 해야 한다.
세 번째로 신뢰도 향상이다. 시스템이 얼마만큼 오류없이 정확하게 수행하는가를 보는데 최대한 정확할수록 신뢰도가 향상된다.
마지막으로 사용가능성이다. 시스템을 사용자가 요구할 때, 어느정도 신속하게 인터페이스를 제공할수 있는지를 볼 때 가능한 빠르게 제공할수 있어야 한다.
2. 동시에 여러 개의 작업이 수행되는 다중 프로그래밍 시스템 또는 가상기억장치를 사용하는 시스템에서 하나의 프로세스가 작업 수행 과정에서 수행하는 기억장치 접근에서 지나치게 페이지 폴트가 발생하여 전체 시스템의 성능이 저하되는 것을 무엇이라고 하는가?
① Spooling ② Interleaving
③ Swapping ④ Thrashing
spooling:프린터 아니다. spool이란 버퍼링의 일종으로 주변장치와 cpu의 처리 속도에 의한 대기시간을 줄이기 위한 기법이다. 즉 spooling은 cpu와 주변장치와의 처리 속도를 줄이기위한 작업이다.
interleaving:집중 비트 에러가 발생하기 쉬운 환경에서 집중적인 비트 에러를 분산시키는 작업
swapping:주메모리와 디스크 내의 스왑영역 간에 메모리 관리 기술로 하드디스크 일부를 메모리 확장을 위한 가상 메모리로 사용하는것
3. HRN(Highest Response-Ratio Next) 스케줄링 기법에서 가변적 우선순위는 다음 식으로 계산된다. ㉠에 알맞은 내용은?
① 대기 시간 ② (대기 시간 - 서비스 시간)
③ 서비스 시간 ④ (서비스 시간 - 대기 시간)
공식이니 해설 할게 없다. 우선순위 계산식 = (대기시간+실행시간)/실행시간
4. 병행 프로세스의 상호배제 구현 기법으로 거리가 먼 것은?
① 데커 알고리즘
② 피터슨 알고리즘
③ Test_And_Set 명령어 기법
④ 은행원 알고리즘
병행 프로세스의 상호배제 구현 기법으로는 3가지로 나뉜다.
첫 번째로 두 개의 프로세스 기준으로 데커 알고리즘과 피터슨 알고리즘이 있다.
두 번째로 여려개의 프로세스 기준으로 렘파드의 빵집 알고리즘
마지막으로 하드웨어적인 구현법으론 test and set기법과 swap명령어 기법이 있다.
은행원 알고리즘은 교착상태를 회피하기 위한 기법이다.
5. 16개의 CPU로 구성된 하이퍼큐브에서 각 CPU는 몇 개의 연결점을 갖는가?
① 2 ② 4
③ 128 ④ 256
하이퍼큐브란 다수의 프로세서들을 연결하는 방식으로 비교적 경제적인 방식이다.
큐브의 생성 법은 네 개의 프로세서를 두 개씩 서로 이웃하게 연결한 사각형 모양의 2차원 하이퍼 큐브, 2차원 하이퍼 큐브의 대응점을 각각 연결한 3차원 하이퍼 큐브 등 대응점을 연결한 방식으로 4차원, 5차원 ... 하이퍼 큐브를 형성한다. 하나의 프로세서에 연결되는 다른 프로세서의 수가 n개일 경우 프로세서는 총 2^n개가 필요하다
6. 분산처리 운영 시스템에 대한 설명으로 옳지 않은 것은?
① 사용자는 각 컴퓨터의 위치를 몰라도 자원 사용이 가능하다.
② 시스템의 점진적 확장이 용이하다.
③ 중앙 집중형 시스템에 비해 시스템 설계가 간단하고 소프트웨어 개발이 쉽다.
④ 연산속도, 신뢰성, 사용 가능도가 향상된다.
분산처리 시스템을 설명하고 있다. 이를 클라이언트/서버 시스템으로 표현하면 이해하기 쉽다.
통신망을 통해 연결되어있으면 지리적으로 멀리 떨어지던 어떻던 정보를 교환이 유용하다. 또한 하나의 일을 여러 시스템에 분산시키면 연산속도가 빨라지며 시스템의 확장또한 용이하다. 하지만 중앙 집중형 시스템에 비해 개발이 느리다. 중앙 집중형 시스템이 작업에 필요한 모든 처리를 담당하는 중앙PC와 데이터의 입출력을 담당하는 단말기로 구성되어 있다보니 아무래도 나뉘어 저있는 분산시스템은 어려울 수밖에 없다.
7. 운영체제의 역할로 거리가 먼 것은?
① 사용자와의 인터페이스 구현
② 프로세서, 메모리 등의 자원 스케줄링
③ 목적 프로그램과 로드 모듈의 연결
④ 입, 출력을 위한 편의 제공
운영체제의 역할은 다음과 같다. 사용자와 컴퓨터 시스템간의 인터페이스 정의, 자원관리,사용자들간의 하드웨어의 공동사용,여러 사용자간의 자원 공유,자원의 효과적인 운영을 위한 스케쥴링,입출력에 대한 보조 역할
8. RR(Round Robin) 방식에 관한 설명으로 옳지 않은 것은?
① 사분할 시스템을 위해 고안된 방식이다.
② 시간 할당량이 클 경우 FCFS 기법과 같아지고, 시간 할당량이 작을 경우 문맥 교환 및 오버헤드가 자주 발생될 수 있다.
③ 시스템이 사용자에게 적합한 응답시간을 제공해주는 대화식 시스템에 유용하다.
④ 프로세스에게 이미 할당된 프로세서를 강제로 빼앗을 수 없고, 그 프로세스의 사용이 종료된 후에 스케줄링 해야 하는 방법을 택하고 있다.

이것이 라운드 로빈 방식이다. 시분할 시스템을 위해 설계된 알고리즘이다. 이 기법은 FCFS 기법에서처럼 한 프로세스가 CPU를 독점하는 단점을 방지할 수 있으나 CPU의 선점에 따른 문맥교환의 오버헤드를 감수해야한다.
이러한 오버헤드의 부담에도 불구하고, 대화식 시스템이나 시분할 시스템에 적합한 방식으로 가장 많이 사용하는 방식인데. 라운드 로빈의 경우 시간 할당량이 매우크면 FCFS 방식과 같아지게 되며, 시간 할당량이 작을수록 문맥교환 이 자주 발생하므로 문맥교환 오버헤드가 커지게 된다.
9. UNIX에 대한 설명으로 옳지 않은 것은?
① 다중 작업(multi-tasking)을 지원하지 않는다.
② 대화식 시분할 운영체제이다.
③ 두 사람 이상의 사용자가 동시에 시스템을 사용할 수 있다.
④ 대부분 C 언어로 구성되어 있다.
유닉스는 1969년 c와 c++로 프로그래밍된 범용다중사용자방식의 시분할 운영체제이다.
또한 처음부터 다양한 시스템 사이에서 서로 리식할수 있고 멀티 테스킹과 다중 사용자를 지원하도록 설계되었다.
10. 자원보호 기법 중 접근 제어 행렬을 구성하는 요소가 아닌 것은?
① 영역 ② 객체
③ 권한 ④ 시간
행은 영역. 프로세스,사용자를 말하며 열은 객체, 항은 접근권한의 집합으로 구성된다.
11. 다음과 같이 주기억장치의 공백이 있다고 할 때, Best Fit 배치 방법은 13K 크기의 프로그램을 어느 영역에 할당하는가?
① A ② B
③ C ④ D
최적적합 배치법은 주기억 장치내의 공백중 가장 작업에 알맞은 공백에 배치한다. 13은 B와C사이에 있지만 B보다 크고 C에 가장 까우니 C에 배치되야 알맞은다.
12. 페이지 교체 기법 중 시간 오버헤드를 줄이는 기법으로서 참조 비트(referenced bit)와 변형 비트(modified bit)를 필요로 하는 방법은?
① FIFO ② LRU
③ LFU ④ NUR
FIFO는 시간과 우선 순위와 관련된 데이터를 정리하고 이용하는 방식을 줄여 말하는 것으로 이러한 표현은 선입선처리 행위에 따라 순서대로 처리함으로써 기술을 처리하거나 수요 충돌을 관리하는 대기의 원칙을 말한다.
LRU는 교체 전략 중의 하나로 사용한지 가장 오래된 항목부터 버리는 방식이다.
LFU는 주기억장치에 적재되어있는 페이지들에 대해 이들이 참조된 횟수를 기준으로 교체될 페이지를 선정하는 기법이다.
13. UNIX 시스템의 쉘(Shell)에 관한 설명으로 옳지 않은 것은?
① 사용자가 입력시킨 명령어 라인을 읽어 필요한 시스템 기능을 실행시키는 명렁어 해석기이다.
② 시스템과 사용자 간의 인터페이스를 제공한다.
③ 공용 쉘이나 사용자 자신이 만든 쉘을 사용할 수 있다.
④ 쉘은 커널의 일부분으로 메모리에 상주하면서 사용자와 시스템 간의 대화를 가능케 해준다.
쉽게 표현하면 윈도의 cmd가 하는 역할처럼 login 이후부터 사용자가 입력하는 명령어를 기계어로 변역하여 커널에 전달하는 역할을 하는 명령어 해석기를 말한다. Shell이란 한마디로 사용자와 운영체제 사이를 연결시키는 하나의 유틸리티 프로그램이다. 또한 쉘은 사용자가 입력한 명령 라인을 읽어들여 해석하고 리눅스 시스템을 통해서 명령 라인이 실행되게 하는 명령 인터프리터이다. 커널과 직접적으로 연결되어 있으며 해석한 결과를 커널로 보낸다.
14. 다음 설명에 해당되는 디렉토리 구조는?
- 부디렉토리를 공유할 수 있다.
- 싸이클이 허용되지 않는다.
- 디렉토리 구조가 복잡하다.
- 하나의 파일에 다수의 경로 이름이 존재할 수 있다.
- 고아 포인터(Dangling pointer)가 발생할 수 있다.
① 2단계 디렉토리 ② 비순환 그래프 디렉토리
③ 트리 구조 디렉토리 ④ 일반 그래프 디렉토리
아예 전부다 설명 하겠다.
1단계 디렉터리는 가장 간단하고, 모든 파일이 하나의 디렉터리 내에 위치하여 관리되는 구조다.
- 모든 파일들이 유일한 이름을 가지고 있어야 한다.
- 모든 파일이 같은 디렉터리 내에 유지되므로 이해가 용이하다.
- 파일이나 사용자의 수가 증가하면 파일 관리가 복잡해진다.
- 파일명은 일반적으로 내용과 관련된 이름을 사용하고, 파일명의 길이는 시스템에 따라 제한을 받는다.
2) 2단계 디렉터리 구조
2단계 디렉터리는 중앙에 마스터 파일 디렉터리가 있고, 그 아래에 사용자별로 서로 다른 파일 디렉터리가 있는 2계층 구조이다.
- 마스터 파일 디렉터리는 사용자 파일 디렉터리를 관리하고, 그 아래에 사용자별로 서로 다른 파일 디렉터리가 있는 2계층 구조이다.
- 하나의 사용자 파일 디렉터리에서는 유일한 파일 이름을 사용해야 하지만 서로 다른 사용자 파일 디렉터리에서는 동일한 파일 이름을 사용할 수 있다.
- 각 사용자는 다른 사용자의 파일 디렉터리를 검색할 수 없으므로 업무 협력 및 파일의 공유가 어렵다.
- 특정 파일을 지정할 때는 사용자 이름과 파일 이름을 함께 지정해야 하므로 파일 이름이 길어진다.(사용자1/파일1)
3) 트리 디렉터리 구조
트리 디렉터리는 하나의 루트 디렉터리와 여러 개의 종속(서브) 디렉터리로 구성된 구조이다.
- DOS, Windows, UNIX 등의 운영체제에서 사용되는 디렉터리 구조이다.
- 각 디렉터리는 서브 디렉터리나 파일을 가질 수 있다.
- 서로 다른 디렉터리 내에 동일한 이름의 파일이나 디렉터리를 생성할 수 있다.
- 디렉터리의 생성과 파괴가 비교적 용이하다.
- 디렉터리의 탐색은 포인터를 사용하며, 경로명은 절대 경로명과 상대 경로명을 사용한다.
4) 비순환(비주기) 그래프 디렉터리 구조
비순환 그래프 디렉터리는 하위 파일이나 하위 디렉터리를 공동으로 사용할 수 있는 것으로, 사이클이 허용되지 않는 구조이다.
- 디스크 공간을 절약할 수 있다.
- 하나의 파일이나 디렉터리가 여러 개의 경로 이름을 가질 수 있다.
- 디렉터리 구조가 복잡하고, 공유된 하나의 파일을 탐색할 경우 다른 경로로 두 번 이상 찾아갈 수 있으므로 시스템 성능이 저하될 수 있다.
- 공유된 파일을 삭제할 경우 고아 포인터(Dangling Pointer)가 발생할 수 있다.
5) 일반적인 그래프 디렉터리 구조
일반적인 그래프 디렉터리는 트리 구조에 링크(Link)를 첨가시켜 순환을 허용하는 그래프 구조이다.
※ 링크: 다른 파일이나 디렉터리를 가리키는 포인터를 말한다.
- 디렉터리와 파일 공유에 완전한 융통성이 있다.
- 탐색 알고리즘이 간단하여, 파일과 디렉터리를 엑세스하기가 쉽다.
- 사용되지 않은 디스크 공간을 되찾기 위해 쓰레기 수집(Garbage Collection, 자투리 모음)이 필요하다.
- 불필요한 파일을 제거하여 사용 공간을 늘리기 위하여 참조 계수기가 필요하다.
15. 사용자의 신원을 운영체제가 확인하는 절차를 통해 불법 침입자로부터 시스템을 보호하는 보안 유지 방식은?
① 외부 보안
② 운용 보안
③ 사용자 인터페이스 보안
④ 내부 보안
외부 보안 : 컴퓨터시스템의 물리적보안을 위한 시설과 운용자의 정책을 통한 보안
운용 보안: 전산소 관리 및 경영자들의 정책과 통제에 의해 이루어지는 보안
내부보안: 하드웨어나 운영체제에 내장된 보안기능을 이용하여 시스템의 신뢰성을 유지하고 보안문제를 해결하는 방법
시설 보안:천재지변이나 외부 침입자로부터의 보안을 의미하는 것으로, 열이나 연기를 감지하고 사람의 음성,지문 등으로 확인할수 있는 벙법을 사용한다.
16. 초기 헤드의 위치가 100번 트랙이고 디스크 대기 큐에 다음과 같은 순서의 액세스 요청이 대기 중이다. SSTF 스케줄링 기법을 사용할 경우 가장 마지막에 처리되는 트랙은?
① 16 ② 65
③ 90 ④ 112
SSTF 스케줄링 기법 : 현재 헤드에서 가장 가까운 거리에 있는 요청을 먼저 서비스 하는 기법
100 → 90 → 112 → 65 → 40 → 16
17. 기억장치 관리 전략 중 최적 적합(Best-Fit) 방법으로 배치할 때 13K 요구하는 작업은 어느 위치에 배치되는가?

① (ㄱ) ② (ㄴ)
③ (ㄷ) ④ (ㄹ)
배치전략기법
1) 최초적합기법(First fit) : 빈 영역 중 첫 번째 분할 영역에 배치
2) 최적적합기법(Best fit) : 들어갈 수 있는 크기의 빈 영역 중에서 단편화를 가장 적게 남기는 분할 영역에 배치
3) 최악적합기법(Worst fit) : 빈 영역 중 가장 큰 분할영역에 배치
18. Process Control Block(PCB)의 내용이 아닌 것은?
① 프로세스의 현재 상태
② 프로세스 식별자
③ 프로세스의 우선순위
④ 페이지 부재(page fault) 발생 횟수
PCB : 프로세스를 관리하기 위해 유지되는 데이터블록 또는 레코드의 데이터 구조
프로세스 현재 상태 / 포인터
프로세스 식별자
우선순위
하드웨어 상태
스케줄링 정보
기억장소관리정보
입출력상태
파일관리정보
계정정보
레지스터 저장영역
등
19. UNIX에서 컴퓨터가 부팅될 때 주기억장치에 적재된 후 시스템이 꺼질 때까지 항상 주기억장치에 상주하여 기억장치관리, 프로세스관리, 파일입출력 등을 수행하는 부분은?
① kernel ② i -node
③ shell ④ PCB
1) kernel : 하드웨어에 대한 사용자의 요구가 있으면 커널이 그 모든 것을 받아서 처리하는 역할을 담당하고 있다. 즉, 사용자가 하드웨어에 직접 접근하는 것을 원천적으로 막아, 다른 사용자에게 해를 끼치지 못하도록 막는 역할을 커널이 담당하고 있다. 커널의 역할은 이외에도 운영체제가 시작되면 항상 메모리에 상주하면서 프로세스를 관리하고, 파일을 관리하며, 각종 입출력 및 메모리 관리 등의 일을 담당하고 있다.
2) i –node : 유닉스 계층 단일 시스템 내 파일의 위치정보 및 파일관련정보를 저장하는 자료구조로 데이터 블록의 포인터
3) shell : 사용자와 순수 Unix 운영체제 사이를 연결하는 프로그램이다. 셸은 사용자가 내린 명령어를 해석하고, 그 결과를 커널에게 전달한다.
-종류
1... Bourne Shell
Stephen Bourne 이 제작, 최초의 대중화된 Unix Shell
2... C Shell
버클리 캘리포니아 대학에서 개발된 프로그래머들에게 적합한 shell입니다.
Bourne Shell 후에 작성되었으며, C언어와 밀접한 구조와 관계입니다.
대화형 사용법에서는 Bourne shell과 대부분 호환되지만 전혀 다른 프로그래밍 인터페이스를가지고 있고, 히스토리 대체라는 복잡한 기능으로 대신하고 있지만 명령행 편집 기능은 제공 하지 않습니다.
3... Korn Shell
일반적으로 유닉스에서 가장 많이 사용되고 있는 shell 이며 Bourne shell에 처음으로 현대적인 shell 기능(C shell로 부터 차용한 것이다)을 도입한 shell 입니다. Bourne shell과 호환되고, 명령행 편집기능을 제공합니다.
David Korn 이 제작하였으며, Bourne Shell 보다 포괄적이고 산업체에서 선호하고있습니다.
4... Bash Shell
Bourne again shell은 최초로 개발된 셸인 Bourne shell의 변종이라 할 수 있습니다.
리눅스에서 가장 많이 사용되는 셸이며, POSIX 호환이며 Bourne shell과 호환되는 셸로서GNU 프로젝트에 의해 만들어지고 배포되고 있습니다. 명령행 편집기능을 제공합니다.
4) PCB : 문제 3번 참고
20. “Working Set"의 설명으로 옳은 것은?
① 단위 시간 동안 처리된 작업의 집합
② 하나의 일(Job)을 구성하는 체이지 집합
③ 오류 데이터가 포함되어 있는 페이지 집합
④ 하나의 프로세스가 자주 참조하는 페이지 집합
Working Set : 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합으로, 자주 참조되는 Working Set을 주기억장치에 상주시킴으로써 페이지 부재 및 페이지 교체현상을 줄인다.
21. 운영체제 성능 평가 기준 중 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도를 의미하는 것은?
① Turn Around Time ② Availability
③ Reliability ④ Throughput
1) Turn Around Time (반환시간) : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
2) Availability (사용가능도)
3) Reliability (신뢰도) : 시스템이 주어진 문제를 정확하게 해결하는 정도
4) Throughput (처리능력) : 일정 시간 내에 시스템이 처리하는 일의 양
22. UNIX의 특징으로 옳지 않는 것은?
① 대화식 운영체제이다.
② 다중 사용자, 다중 작업을 지원한다.
③ 리스트 구조의 파일 시스템을 갖는다.
④ 대부분 C 언어로 작성되어 이식성이 높다.
UNIX : 계층적 파일 구조를 갖는다.
23. 운영체제의 설계 목표가 아닌 것은?
① 빠른 응답시간 ② 처리량 향상
③ 경과 시간 증가 ④ 폭 넓은 이식성
운영체제의 설계 목표
- 빠른 응답시간
- 처리량 향상
- 경과 시간 단축
- 폭 넓은 이식성
- 신뢰성 향상
24. 모니터에 대한 설명으로 틀린 것은?
① 자료 추상화와 정보 은폐 개념을 기초로 한다.
② 병행 다중 프로그래밍에서 상호 배제를 구현하기 위한 특수 프로그램 기법이다.
③ 구조적인 면에서 공유 데이터와 이 데이터를 처리하는 프로시저의 집합이라 할 수 있다.
④ 모니터 외부의 프로세스도 모니터 내부 데이터를 직접 액세스 할 수 있다.
모니터 : 모니터 내의 공유 데이터는 모니터 내부의 프로시저에 의해서만 액세스가 가능하므로 모니터 외부의 프로세스는 모니터 내부 데이터를 직접 액세스할 수 없으며, 이를 정보 은닉(Information Hiding)이라고 한다.
25. 다음의 a, b, c, d 작업에 대하여 운영체제가 CPU 스케줄링 기법으로 HRN 방식을 구현했을 때 우선순위가 가장 높은 작업은?
① a 3 ② b 1.5
③ c 1.333 ④ d 1.375
HRN(Highest Response-Rtio Next)(비선점형)
: 짧은 작업이나 대기시간이 긴 작업은 우선순위가 높아짐
우선순위 계산법 = (대기시간 + 서비스시간) / 서비스시간
26. 파일 디스크립터에 대한 설명으로 옳지 않은 것은?
① 보조기억장치상의 파일의 위치 및 최초 수정 날짜 및 시간에 대한 정보를 포함한다.
② 파일 시스템이 관리하므로 사용자거 직접 참조할 수 없다.
③ 보조기억장치에 저장되어 있다가 파일이 개방(Open)될 때 주기억장치로 옮겨지는 것이 일반적이다.
④ 파일마다 독립적으로 존재한다.
최초 → 최종
파일 디스크립터 : 유닉스, 리눅스 계열의 시스템에서 열린 파일(디바이스)를 구분하는 단위
운영체제가 만든 파일 또는 소켓을 지칭하기 위해 부여한 숫자, 파일을 관리하기 위한 운영체제가 필요로 하는 파일의 정보를 가지고 있다. FCB라고 한다.
27. 교착 상태 발생의 필요충분조건의 아닌 것은?
① Traffic Controller ② Circular Wait
③ Hold And Wait ④ Mutual Exclusion
교착 상태는 다음의 네 가지 조건이 동시에 만족될 때 발생함 "필요충분조건"
1) 상호배제 (Mutual Exclusion) : 상번에 한 프로세스만이 그 자원을 사용할 수 있고, 다른 프로세스는 그 자원이 해제될 때까지 기다려야함 / 한 프로세스가 자원을 점유하면서 다른 프로세스들에게 자원을 사용하지 못하게 배제시키는 제어기법
2) 점유와 대기 (Hold And Wait) : 적어도 하나의 자원을 점유하고, 다른 프로세스에 의해 점유되어 있는 자원을 기다리고 있어야 함
3) 비선점 (No Preemption) : 자원을 선점하지 못함. 즉, 자원을 강제로 빼앗지 못하고 해제될 때까지 기다려야 함
4) 순환대기 (Circular Wait) : 대기 프로세스의 집합에서, 각각이 보유하고 있는 자원을 기다리고 있어야 함
28. 가변분할 다중 프로그래밍 시스템에서 인접한 공백들을 더 큰 하나의 공백으로 합하는 과정을 무엇이라 하는가?
① 기억장소의 페이징(paging)
② 기억장소의 통합(coalescing)
③ 기억장소의 집약(compaction)
④ 기억장소의 단편화(fragmentation)
1) 페이징 : 프로그램을 동일한 크기로 나눈 단위를 페이지라고 하며 이 페이지를 블록으로 사용하는 기법
3) 집약 : 기억장소의 사용 중인 블록과 빈 블록을 각각 한 쪽으로 모아서 빈 블록을 최대화시킴
4) 단편화 : 주기억장치 상에서 빈번하게 기억장소가 할당되고 반납됨에 따라 기억장소들이 조각으로 나누어지는 현상
29. 프로세스 정의로 적당하지 않은 것은?
① 하드웨어에 의해 사용되는 입출력 장치
② 실행중인 프로그램
③ 운영체제 내에 프로세스 제어 블록의 존재로서 명시되는 것
④ 프로세서가 할당되는 개체
30. 교착 상태 발생의 필요충분조건 4가지에 대한 설명으로 옳지 않은 것은?
① 상호배제 : 최소한 하나의 자원이 공유 방식으로 점유되어야 한다.
② 점유 및 대기 : 최소한 하나의 자원을 점유하고 있는 프로세스가 있어야 하며, 이 프로세스가 다른 프로세스에 의하여 점유된 자원을 추가로 얻기 위해 대기하고 있어야 한다.
③ 비선점 : 자원들을 선점하지 못한다.
④ 순환(환형)대기 : 대기하고 있는 프로세스의 집합 {P₀, P₁, ㆍㆍㆍPn}에서 P₀은 P₁이 점유한 자원을 대기하고, P₁은 P₂를 대기하며, Pn은 P₀가 점유한 자원을 요청하기 위해 대기한다.
상호배재 : 한 번에 한 프로세스만 자원을 사용한다.
31. 페이징 기법에 대한 설명으로 옳지 않은 것은?
① 외부 단편화가 방지된다.
② 페이지의 위치 정보를 가지고 있는 페이지 맵 테이블이 필요하다.
③ 프로그램을 가변적인 크기로 나눈 후 주기억장치에 적재시켜 실행시키는 기법이다.
④ 내부 단편화가 발생할 수 있다.
페이징 : 논리적 의미를 고려하지 않고 가상 메모리를 고정된 크기로 나누어 메모리를 관리하는 것
32. 임계 구역(Critical Section)에 대한 설명으로 옳지 않은 것은?
① 임계 구역에서 프로세스 수행은 가능한 빨리 끝내야 한다.
② 프로세스의 처리시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상을 의미한다.
③ 임계 구역에서는 프로세스가 무한 루프에 빠지지 않도록 해야 한다.
④ 임계 구역에서는 프로세스들이 하나씩 순차적으로 처리되어야 한다.
2번은 스래싱에 내용
33. 구역성(locality)에 대한 설명으로 옳지 않은 것은?
① 시간구역성의 예로는 순환, 부프로그램, 스택 등이 있다.
② 구역성에는 시간구역성과 공간구역성이 있다.
③ 어떤 프로세스를 효과적으로 실행하기 위해 주기억 장치에 유지되어야 하는 페이지들의 집합을 의미한다.
④ 프로세서들은 기억장치내의 정보를 균일하게 액세스 하는 것이 아니라, 어느 한 순간에 특정 부분을 집중적으로 참조하는 경향이 있다.
3번은 워킹 셋 에 대한 설명
34. 하나의 프로세스가 어느 정도의 프레임을 갖고 있지 않다면 페이지 부재가 계속해서 발생하여, 프로세스가 수행되는 시간보다 페이지 교체에 소비되는 시간이 더 많아지는 경우를 무엇이라 하는가?
① thrashing ② working set
③ page fault ④ demand page
스래싱은 하나의 프로세스가 작업 수행 과정중 지나치게 페이지 부재가 발생이 되어 소요되는 시간이 더 커지는 현상
35. 프로세스보다 더 작은 단위이며, 다중 프로그래밍을 지원하는 시스템 하에서 CPU에게 보내져 실행되는 또 다른 단위를 의미하는 것은?
① BLOCK ② THREAD
③ SUSPEND ④ RESUME
스레드는 제어의 흐름을 의미하며 프로세스에서 실행환경 부분으로 나눌때 실행 부분을 담당함
36. 디렉토리 구조 중 중앙에 마스터 파일 디렉토리가 있고 그 아래에 사용자별로 서로 다른 파일 디렉토리가 있는 계층 구조는?
① 1단계 디렉토리 구조
② 2단계 디렉토리 구조
③ 트리 디렉토리 구조
④ 비순환 그래프 디렉토리 구조
2단계 디렉토리 구조
중앙에 마스터 파일 디렉토리(MFD)가 있
고, 그 아래 사용자 파일 디렉토리(UFD)가 있는 구조.
37. 운영체제의 역할로서 거리가 먼 것은?
① 기억 장치 관리 ② 처리기 관리
③ 입출력 장치 관리 ④ 원시 프로그램의 번역
설명이 필요없는 문제 4번은 (어셈블리어 나 기계어 를 말하는것)
38. 페이지 교체 기법 중 시간 오버헤드를 줄이는 기법으로서 참조 비트(Referenced bit)와 변형 비트(Modified bit)를 필요로 하는 방법은?
① FIFO ② LRU
③ LFU ④ NUR
NUR(Not Used Recently)은 각 페이지마다 두 개의 하드웨어
비트(참조 비트, 변형 비트)를 두고서 가장 최근에 사용하지 않
은 페이지를 먼저 교체하는 기법
39. 파일의 편성 방식 중 해쉬(Hash) 기법과 가장 연관이 많은 파일은?
① 순차파일 ② 색인파일
③ 직접파일 ④ 색인순차파일
직접 파일(Direct File)은 특정 레코드에 접근하기 위해서 디스
크의 물리적 주소로 변환할 수 있는 해싱 함수를 사용합니다
40. 교착상태(Deadlock)의 필요조건에 해당하지 않는 것은?
① mutual exclusion ② circular wait
③ preemption ④ hold and wait
상호 배제(Mutual Exclusion) 점유와 대기(Hold and Wait)
비선점(Non-preemption) 환형 대기(Circular Wait)
간단히 설명하면 어떤일도 처리 못하는 상황
41. 모니터에 대한 설명으로 옳지 않은 것은?
① 한순간에 여러 프로세스가 모니터에 동시에 진입하여 자원을 공유할 수 있다.
② 공유 데이터와 이 데이터를 처리하는 프로시저로 구성된다.
③ 모니터 외부의 프로세스는 모니터 내부의 데이터를 직접 액세스 할 수 없다.
④ 모니터에서는 Wait 와 Signal 연산이 사용된다.
한 순간에 한 프로세스만이 모니터에 진입 가능
42. 파일 보호 기법 중 각 파일에 판독 암호와 기록 암호를 부여하여 제한된 사용자에게만 접근을 허용하는 기법은?
① 파일의 명명(Naming) ② 비밀번호(Password)
③ 접근제어(Access control) ④ 암호화(Cryptography)
파일의 명명(Naming) : 접근하고자 하는 파일 이름을 모르는 사
용자를 접근 대상에서 제외시킨다.
비밀번호(Password) : 각 파일에 판독 암호와 기록 암호를 부여
하여 제한된 사용자에게만 접근을 허용한다.
접근제어(Access Control) : 사용자의 신원에 따라 서로 다른 접
근 권한을 허용한다.
암호화(Cryptography) : 파일 내용을 알 수 없도록 한다.
43. 다음 설명이 의미하는 것은?
① WORKING SET ② MONITOR
③ LOCKING ④ PROCESS
44. SJF(Shortest Job First) 스케줄링에서 작업 도착 시간과 CPU 사용시간은 다음 표와 같다. 모든 작업들의 평균 대기시간은 얼마인가?
① 15 ② 16
③ 24 ④ 25
SJF(Shortest Job First)는 작업이 끝나기까지의 실행시간
추정치가 가장 작은 작업을 먼저 실행시키는 기법
45. 다중 처리기 운영체제 구조 중 주종(Master/Slave) 처리기에 대한 설명으로 옳지 않은 것은?
① 주프로세서가 고장 날 경우에도 전체 시스템이 다운되지 않는다.
② 주프로세서는 입출력과 연산을 담당한다.
③ 종프로세서는 입출력 발생시 주프로세서에게 서비스를 요청한다.
④ 주프로세서가 입출력을 수행하므로 비대칭 구조를 갖는다.
주(Master)프로세서는 운영체제를 수행하고, 입·출력과 연산
을 담당하며, 주프로세서가 고장 나면 전체 시스템이 다운됩니
다.
종(Slave)프로세서는 연산만 담당하고, 입·출력 발생 시 주프로
세서에게 요청합니다.
46. 페이지 기법에 관한 설명으로 옳지 않은 것은?
① 페이지 크기가 작을수록 더 많은 페이지가 존재한다.
② 페이지 크기가 작을 경우 우수한 working set을 가질 수 있다.
③ 페이지 크기가 클수록 더 큰 페이지 테이블공간이 필요하다.
④ 페이지 크기가 클수록 참조되는 정보와는 무관한 많은 양의 정보다 주기억장치에 남게 된다.
페이지 크기가 작을수록 더 큰 페이지 테이블공간이 필요
47. UNIX 시스템의 쉘(shell)에 관한 설명으로 옳지 않은 것은?
① 사용자가 입력시킨 명령어 라인을 읽어 필요한 시스템 기능을 실행시키는 명령어 해석기이다.
② 쉘은 커널의 일부분으로 메모리에 상주하면서 사용자와 시스템 간의 대화를 가능케 해준다.
③ 시스템과 사용자 간의 인터페이스를 제공한다.
④ 공용 쉘이나 사용자 자신이 만들 쉘을 사용할 수 있다.
메모리에 상주하면서 사용자와 시스템 간의 대화를 가능케 해
주는 것은 커널(Kernel)
48. 운영체제의 성능 평가 기준 중 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도를 의미하는 것은?
① Throughput ② Availability
③ Turn Around Time ④ Reliability
Throughput : 처리량
Availability : 사용 가능도
Turn around time : 반환 시간(응답 시간)
Reliability : 신뢰도
49. 하이퍼 큐브 구조에서 각 CPU가 6개의 연결점을 가질 경우 CPU의 총 개수는?
① 4 ② 16
③ 32 ④ 64
하이퍼 큐브(Hyper Cube)는 하나의 CPU에 연결되는 다른
CPU의 수(연결점의 수)가 n개일 때 CPU의 수는 2의 N승 개
50. UNIX의 특징으로 볼 수 없는 것은?
① 대화식 시분할 운영체제이다.
② 대부분의 코드가 어셈블리어로 구성되어 있다.
③ 높은 이식성을 가진다.
④ 트리 구조의 파일 시스템을 갖는다.
대부분의 코드가 C언어로 되어있다
51. 교착상태 해결 방법 중 다음 사항과 관계되는 것은?
- Mutual Exclusion 부정
- Hold and Wait 부정
- Non-preemption 부정
- Circular Wait 부정
① Recovery ② Detection
③ Avoidance ④ Prevention
Prevent(예방 기법)
교착상태가 발생하지 않도록 사전에 시스템을 제어하는 방법
교착상태 발생의 4가지 조건 중에서 어느 하나를 제거함으로써 수행됨
교착상태 해결 방법 중 자원낭비가 가장 심하다
52. UNIX에서 파일 내용을 화면에 표시하는 명령은?
① cat ② finger
③ is ④ chown
finger : 사용자 정보 표시
ls : 현재 디렉토리 내의 파일 목록 확인
chown : 파일 소유권 변경
53. 페이지 크기에 대한 설명으로 옳지 않은 것은?
① 페이지 크기가 클 경우 전체적인 입출력 효율성이 증가된다.
② 페이지 크기가 작을 경우 페이지 맵 테이블의 크기가 작아지고 매핑 속도가 빨라진다.
③ 페이지 크기가 클 경우 프로그램 수행에 불필요한 내용까지도 주기억장치에 적재될 수 있다.
④ 페이지가 크기가 작을 경우 디스크 접근 횟수가 많아진다.
페이지 맵 테이블의 크기가 작아지고 -> 커지고
매핑 속도가 빨라진다 -> 늦어진다
54. 빈번한 페이지의 부재 발생으로 프로세스의 수행 소요시간보다 페이지 교환에 소요되는 시간이 더 큰 경우를 의미하는 것은?
① 스래싱(thrashing) ② 세마포어(semaphore)
③ 페이징(paging) ④ 오버레이(overlay)
세마포어 : 두 개의 원자적 함수로 조작되는 정수 변수로서, 멀티프로그래밍 환경에서 공유 자원에 대한 접근을 제한하는 방법으로 사용된다
페이징 : 가상기억장치를 모두 같은 크기의 블록으로 편성하여 운용하는 기법이다
오버레이 : 운영 체제에서 오버레이(overlay)는 자신을 다른 프로그램의 코드로 바꾸는 프로세스이다
55. 분산 운영체제 시스템에 관한 설명으로 옳지 않은 것은?
① 약결합(loosely-coupled)으로 볼 수 있다.
② 업무량 증가에 따른 점진적인 확장이 용이하다.
③ 높은 보안성이 유지된다.
④ 제한된 자원을 여러 지역에서 공유 가능하다.
자원 공유, 연산 속도 향상, 신뢰도 향상 등의 장점이 있지만 보안 문제가 발생할 수 있다
56. 프로세스의 정의로 옳지 않은 것은?
① 프로세스 제어 블록을 가진 프로그램
② 동기적 행위를 일으키는 주체
③ 운영체제가 관리하는 실행 단위
④ 프로시저가 활동 중인 것
동기적 행위 -> 비동기적 행위
57. 다음 표는 고정 분할에서의 기억장치 단편화 현상을 보이고 있다. 내부단편화(Internal Fragmentation)는 모두 얼마인가?
① 170 k ② 260 k
③ 430 k ④ 480 k
A : 내부 단편화 = 10K, B : 외부 단편화 = 50K, C : 내부 단편화 = 110K, D : 내부 단편화 = 100K, E : 내부 단편화 = 210K
10 + 110 + 100 + 210 = 430
58. 13k의 작업을 다음 그림의 40k 공백의 작업공간에 할당했을 경우 사용된 기억장치 배치전략 기법은?
① Best fit ② Last fit
③ First fit ④ Worst fit
Best fit : 사용 가능한 공간들 중에서 가장 작은 것을 선택하는 방식이다
First fit : 주기억 장치의 사용 가능한 공간을 검색하여 첫 번째로 찾아낸 곳을 할당하는 방식이다
Worst fit : 사용 가능한 공간들 중에서 가장 큰 것을 선택하는 방식이다
Worst fit에 해당하는 기억장치 배치전략이다
59. 임계구역의 원칙으로 옳지 않은 것은?
① 두 개 이상의 프로세스가 동시에 사용할 수 있다.
② 순서를 지키면서 신속하게 사용한다.
③ 하나의 프로세스가 독점하게 해서는 안 된다.
④ 임계구역이 무한 루프에 빠지지 않도록 주의해야 한다.
하나의 프로세스만 접근할 수 있으며 프로세스들이 하나씩 순차적으로 처리되어야 한다
60. RR(Round Robin) 방식에 관한 설명으로 옳지 않은 것은?
① 시간할당량이 커지면 FCFS 방식과 같게 된다.
② 시간할당량이 너무 작으면 스래싱에 소요되는 시간의 비중이 커진다.
③ 준비상태 큐에서 기다리고 있는 프로세스들 중에서 실행시간이 가장 짧은 프로세스에게 먼저 CPU를 할당하는 기법이다.
④ 시스템이 사용자에게 적합한 응답시간을 제공해 주는 대화식 시스템에 유용하다.
3번은 SJF에 대한 설명이다
① 신뢰성 향상 ② 사용자 인터페이스 제공
③ 처리량의 향상 ④ 응답시간 증가
만일 작업을 지시했는데 반응이 느리면 사용자가 과연 사용할 것인지는 본인이 가장 잘 알 것이다.
당연히 응답시간 단축이다. 운영체제의 목적은 4가지다.
첫째로 응답시간의 단축이다.
사용자가 컴퓨터에게 작업을 지시하였을 때 최대한 단시간에 결과를 받도록 하여야 한다.
두 번째로 처리능력 향상이다. 처리량의 향상이랑 같은 말이다. 단위 시간내에 최대한 많은 양 의작업을 처리 할 수 있도록 해야 한다.
세 번째로 신뢰도 향상이다. 시스템이 얼마만큼 오류없이 정확하게 수행하는가를 보는데 최대한 정확할수록 신뢰도가 향상된다.
마지막으로 사용가능성이다. 시스템을 사용자가 요구할 때, 어느정도 신속하게 인터페이스를 제공할수 있는지를 볼 때 가능한 빠르게 제공할수 있어야 한다.
2. 동시에 여러 개의 작업이 수행되는 다중 프로그래밍 시스템 또는 가상기억장치를 사용하는 시스템에서 하나의 프로세스가 작업 수행 과정에서 수행하는 기억장치 접근에서 지나치게 페이지 폴트가 발생하여 전체 시스템의 성능이 저하되는 것을 무엇이라고 하는가?
① Spooling ② Interleaving
③ Swapping ④ Thrashing
spooling:프린터 아니다. spool이란 버퍼링의 일종으로 주변장치와 cpu의 처리 속도에 의한 대기시간을 줄이기 위한 기법이다. 즉 spooling은 cpu와 주변장치와의 처리 속도를 줄이기위한 작업이다.
interleaving:집중 비트 에러가 발생하기 쉬운 환경에서 집중적인 비트 에러를 분산시키는 작업
swapping:주메모리와 디스크 내의 스왑영역 간에 메모리 관리 기술로 하드디스크 일부를 메모리 확장을 위한 가상 메모리로 사용하는것
3. HRN(Highest Response-Ratio Next) 스케줄링 기법에서 가변적 우선순위는 다음 식으로 계산된다. ㉠에 알맞은 내용은?
우선순위 계산식 = (대기 시간 + 서비스 시간) / ㉠
|
① 대기 시간 ② (대기 시간 - 서비스 시간)
③ 서비스 시간 ④ (서비스 시간 - 대기 시간)
공식이니 해설 할게 없다. 우선순위 계산식 = (대기시간+실행시간)/실행시간
4. 병행 프로세스의 상호배제 구현 기법으로 거리가 먼 것은?
① 데커 알고리즘
② 피터슨 알고리즘
③ Test_And_Set 명령어 기법
④ 은행원 알고리즘
병행 프로세스의 상호배제 구현 기법으로는 3가지로 나뉜다.
첫 번째로 두 개의 프로세스 기준으로 데커 알고리즘과 피터슨 알고리즘이 있다.
두 번째로 여려개의 프로세스 기준으로 렘파드의 빵집 알고리즘
마지막으로 하드웨어적인 구현법으론 test and set기법과 swap명령어 기법이 있다.
은행원 알고리즘은 교착상태를 회피하기 위한 기법이다.
5. 16개의 CPU로 구성된 하이퍼큐브에서 각 CPU는 몇 개의 연결점을 갖는가?
① 2 ② 4
③ 128 ④ 256
하이퍼큐브란 다수의 프로세서들을 연결하는 방식으로 비교적 경제적인 방식이다.
큐브의 생성 법은 네 개의 프로세서를 두 개씩 서로 이웃하게 연결한 사각형 모양의 2차원 하이퍼 큐브, 2차원 하이퍼 큐브의 대응점을 각각 연결한 3차원 하이퍼 큐브 등 대응점을 연결한 방식으로 4차원, 5차원 ... 하이퍼 큐브를 형성한다. 하나의 프로세서에 연결되는 다른 프로세서의 수가 n개일 경우 프로세서는 총 2^n개가 필요하다
6. 분산처리 운영 시스템에 대한 설명으로 옳지 않은 것은?
① 사용자는 각 컴퓨터의 위치를 몰라도 자원 사용이 가능하다.
② 시스템의 점진적 확장이 용이하다.
③ 중앙 집중형 시스템에 비해 시스템 설계가 간단하고 소프트웨어 개발이 쉽다.
④ 연산속도, 신뢰성, 사용 가능도가 향상된다.
분산처리 시스템을 설명하고 있다. 이를 클라이언트/서버 시스템으로 표현하면 이해하기 쉽다.
통신망을 통해 연결되어있으면 지리적으로 멀리 떨어지던 어떻던 정보를 교환이 유용하다. 또한 하나의 일을 여러 시스템에 분산시키면 연산속도가 빨라지며 시스템의 확장또한 용이하다. 하지만 중앙 집중형 시스템에 비해 개발이 느리다. 중앙 집중형 시스템이 작업에 필요한 모든 처리를 담당하는 중앙PC와 데이터의 입출력을 담당하는 단말기로 구성되어 있다보니 아무래도 나뉘어 저있는 분산시스템은 어려울 수밖에 없다.
7. 운영체제의 역할로 거리가 먼 것은?
① 사용자와의 인터페이스 구현
② 프로세서, 메모리 등의 자원 스케줄링
③ 목적 프로그램과 로드 모듈의 연결
④ 입, 출력을 위한 편의 제공
운영체제의 역할은 다음과 같다. 사용자와 컴퓨터 시스템간의 인터페이스 정의, 자원관리,사용자들간의 하드웨어의 공동사용,여러 사용자간의 자원 공유,자원의 효과적인 운영을 위한 스케쥴링,입출력에 대한 보조 역할
8. RR(Round Robin) 방식에 관한 설명으로 옳지 않은 것은?
① 사분할 시스템을 위해 고안된 방식이다.
② 시간 할당량이 클 경우 FCFS 기법과 같아지고, 시간 할당량이 작을 경우 문맥 교환 및 오버헤드가 자주 발생될 수 있다.
③ 시스템이 사용자에게 적합한 응답시간을 제공해주는 대화식 시스템에 유용하다.
④ 프로세스에게 이미 할당된 프로세서를 강제로 빼앗을 수 없고, 그 프로세스의 사용이 종료된 후에 스케줄링 해야 하는 방법을 택하고 있다.
이것이 라운드 로빈 방식이다. 시분할 시스템을 위해 설계된 알고리즘이다. 이 기법은 FCFS 기법에서처럼 한 프로세스가 CPU를 독점하는 단점을 방지할 수 있으나 CPU의 선점에 따른 문맥교환의 오버헤드를 감수해야한다.
이러한 오버헤드의 부담에도 불구하고, 대화식 시스템이나 시분할 시스템에 적합한 방식으로 가장 많이 사용하는 방식인데. 라운드 로빈의 경우 시간 할당량이 매우크면 FCFS 방식과 같아지게 되며, 시간 할당량이 작을수록 문맥교환 이 자주 발생하므로 문맥교환 오버헤드가 커지게 된다.
9. UNIX에 대한 설명으로 옳지 않은 것은?
① 다중 작업(multi-tasking)을 지원하지 않는다.
② 대화식 시분할 운영체제이다.
③ 두 사람 이상의 사용자가 동시에 시스템을 사용할 수 있다.
④ 대부분 C 언어로 구성되어 있다.
유닉스는 1969년 c와 c++로 프로그래밍된 범용다중사용자방식의 시분할 운영체제이다.
또한 처음부터 다양한 시스템 사이에서 서로 리식할수 있고 멀티 테스킹과 다중 사용자를 지원하도록 설계되었다.
10. 자원보호 기법 중 접근 제어 행렬을 구성하는 요소가 아닌 것은?
① 영역 ② 객체
③ 권한 ④ 시간
행은 영역. 프로세스,사용자를 말하며 열은 객체, 항은 접근권한의 집합으로 구성된다.
11. 다음과 같이 주기억장치의 공백이 있다고 할 때, Best Fit 배치 방법은 13K 크기의 프로그램을 어느 영역에 할당하는가?
영역
|
크기
|
A
|
25K
|
B
|
9K
|
C
|
15K
|
D
|
30K
|
① A ② B
③ C ④ D
최적적합 배치법은 주기억 장치내의 공백중 가장 작업에 알맞은 공백에 배치한다. 13은 B와C사이에 있지만 B보다 크고 C에 가장 까우니 C에 배치되야 알맞은다.
12. 페이지 교체 기법 중 시간 오버헤드를 줄이는 기법으로서 참조 비트(referenced bit)와 변형 비트(modified bit)를 필요로 하는 방법은?
① FIFO ② LRU
③ LFU ④ NUR
FIFO는 시간과 우선 순위와 관련된 데이터를 정리하고 이용하는 방식을 줄여 말하는 것으로 이러한 표현은 선입선처리 행위에 따라 순서대로 처리함으로써 기술을 처리하거나 수요 충돌을 관리하는 대기의 원칙을 말한다.
LRU는 교체 전략 중의 하나로 사용한지 가장 오래된 항목부터 버리는 방식이다.
LFU는 주기억장치에 적재되어있는 페이지들에 대해 이들이 참조된 횟수를 기준으로 교체될 페이지를 선정하는 기법이다.
13. UNIX 시스템의 쉘(Shell)에 관한 설명으로 옳지 않은 것은?
① 사용자가 입력시킨 명령어 라인을 읽어 필요한 시스템 기능을 실행시키는 명렁어 해석기이다.
② 시스템과 사용자 간의 인터페이스를 제공한다.
③ 공용 쉘이나 사용자 자신이 만든 쉘을 사용할 수 있다.
④ 쉘은 커널의 일부분으로 메모리에 상주하면서 사용자와 시스템 간의 대화를 가능케 해준다.
쉽게 표현하면 윈도의 cmd가 하는 역할처럼 login 이후부터 사용자가 입력하는 명령어를 기계어로 변역하여 커널에 전달하는 역할을 하는 명령어 해석기를 말한다. Shell이란 한마디로 사용자와 운영체제 사이를 연결시키는 하나의 유틸리티 프로그램이다. 또한 쉘은 사용자가 입력한 명령 라인을 읽어들여 해석하고 리눅스 시스템을 통해서 명령 라인이 실행되게 하는 명령 인터프리터이다. 커널과 직접적으로 연결되어 있으며 해석한 결과를 커널로 보낸다.
14. 다음 설명에 해당되는 디렉토리 구조는?
- 부디렉토리를 공유할 수 있다.
- 싸이클이 허용되지 않는다.
- 디렉토리 구조가 복잡하다.
- 하나의 파일에 다수의 경로 이름이 존재할 수 있다.
- 고아 포인터(Dangling pointer)가 발생할 수 있다.
① 2단계 디렉토리 ② 비순환 그래프 디렉토리
③ 트리 구조 디렉토리 ④ 일반 그래프 디렉토리
아예 전부다 설명 하겠다.
1단계 디렉터리는 가장 간단하고, 모든 파일이 하나의 디렉터리 내에 위치하여 관리되는 구조다.
- 모든 파일들이 유일한 이름을 가지고 있어야 한다.
- 모든 파일이 같은 디렉터리 내에 유지되므로 이해가 용이하다.
- 파일이나 사용자의 수가 증가하면 파일 관리가 복잡해진다.
- 파일명은 일반적으로 내용과 관련된 이름을 사용하고, 파일명의 길이는 시스템에 따라 제한을 받는다.
2) 2단계 디렉터리 구조
2단계 디렉터리는 중앙에 마스터 파일 디렉터리가 있고, 그 아래에 사용자별로 서로 다른 파일 디렉터리가 있는 2계층 구조이다.
- 마스터 파일 디렉터리는 사용자 파일 디렉터리를 관리하고, 그 아래에 사용자별로 서로 다른 파일 디렉터리가 있는 2계층 구조이다.
- 하나의 사용자 파일 디렉터리에서는 유일한 파일 이름을 사용해야 하지만 서로 다른 사용자 파일 디렉터리에서는 동일한 파일 이름을 사용할 수 있다.
- 각 사용자는 다른 사용자의 파일 디렉터리를 검색할 수 없으므로 업무 협력 및 파일의 공유가 어렵다.
- 특정 파일을 지정할 때는 사용자 이름과 파일 이름을 함께 지정해야 하므로 파일 이름이 길어진다.(사용자1/파일1)
3) 트리 디렉터리 구조
트리 디렉터리는 하나의 루트 디렉터리와 여러 개의 종속(서브) 디렉터리로 구성된 구조이다.
- DOS, Windows, UNIX 등의 운영체제에서 사용되는 디렉터리 구조이다.
- 각 디렉터리는 서브 디렉터리나 파일을 가질 수 있다.
- 서로 다른 디렉터리 내에 동일한 이름의 파일이나 디렉터리를 생성할 수 있다.
- 디렉터리의 생성과 파괴가 비교적 용이하다.
- 디렉터리의 탐색은 포인터를 사용하며, 경로명은 절대 경로명과 상대 경로명을 사용한다.
4) 비순환(비주기) 그래프 디렉터리 구조
비순환 그래프 디렉터리는 하위 파일이나 하위 디렉터리를 공동으로 사용할 수 있는 것으로, 사이클이 허용되지 않는 구조이다.
- 디스크 공간을 절약할 수 있다.
- 하나의 파일이나 디렉터리가 여러 개의 경로 이름을 가질 수 있다.
- 디렉터리 구조가 복잡하고, 공유된 하나의 파일을 탐색할 경우 다른 경로로 두 번 이상 찾아갈 수 있으므로 시스템 성능이 저하될 수 있다.
- 공유된 파일을 삭제할 경우 고아 포인터(Dangling Pointer)가 발생할 수 있다.
5) 일반적인 그래프 디렉터리 구조
일반적인 그래프 디렉터리는 트리 구조에 링크(Link)를 첨가시켜 순환을 허용하는 그래프 구조이다.
※ 링크: 다른 파일이나 디렉터리를 가리키는 포인터를 말한다.
- 디렉터리와 파일 공유에 완전한 융통성이 있다.
- 탐색 알고리즘이 간단하여, 파일과 디렉터리를 엑세스하기가 쉽다.
- 사용되지 않은 디스크 공간을 되찾기 위해 쓰레기 수집(Garbage Collection, 자투리 모음)이 필요하다.
- 불필요한 파일을 제거하여 사용 공간을 늘리기 위하여 참조 계수기가 필요하다.
15. 사용자의 신원을 운영체제가 확인하는 절차를 통해 불법 침입자로부터 시스템을 보호하는 보안 유지 방식은?
① 외부 보안
② 운용 보안
③ 사용자 인터페이스 보안
④ 내부 보안
외부 보안 : 컴퓨터시스템의 물리적보안을 위한 시설과 운용자의 정책을 통한 보안
운용 보안: 전산소 관리 및 경영자들의 정책과 통제에 의해 이루어지는 보안
내부보안: 하드웨어나 운영체제에 내장된 보안기능을 이용하여 시스템의 신뢰성을 유지하고 보안문제를 해결하는 방법
시설 보안:천재지변이나 외부 침입자로부터의 보안을 의미하는 것으로, 열이나 연기를 감지하고 사람의 음성,지문 등으로 확인할수 있는 벙법을 사용한다.
16. 초기 헤드의 위치가 100번 트랙이고 디스크 대기 큐에 다음과 같은 순서의 액세스 요청이 대기 중이다. SSTF 스케줄링 기법을 사용할 경우 가장 마지막에 처리되는 트랙은?
디스크 대기 큐 : 65, 112, 40, 16, 90
|
① 16 ② 65
③ 90 ④ 112
SSTF 스케줄링 기법 : 현재 헤드에서 가장 가까운 거리에 있는 요청을 먼저 서비스 하는 기법
100 → 90 → 112 → 65 → 40 → 16
17. 기억장치 관리 전략 중 최적 적합(Best-Fit) 방법으로 배치할 때 13K 요구하는 작업은 어느 위치에 배치되는가?
① (ㄱ) ② (ㄴ)
③ (ㄷ) ④ (ㄹ)
배치전략기법
1) 최초적합기법(First fit) : 빈 영역 중 첫 번째 분할 영역에 배치
2) 최적적합기법(Best fit) : 들어갈 수 있는 크기의 빈 영역 중에서 단편화를 가장 적게 남기는 분할 영역에 배치
3) 최악적합기법(Worst fit) : 빈 영역 중 가장 큰 분할영역에 배치
18. Process Control Block(PCB)의 내용이 아닌 것은?
① 프로세스의 현재 상태
② 프로세스 식별자
③ 프로세스의 우선순위
④ 페이지 부재(page fault) 발생 횟수
PCB : 프로세스를 관리하기 위해 유지되는 데이터블록 또는 레코드의 데이터 구조
프로세스 현재 상태 / 포인터
프로세스 식별자
우선순위
하드웨어 상태
스케줄링 정보
기억장소관리정보
입출력상태
파일관리정보
계정정보
레지스터 저장영역
등
19. UNIX에서 컴퓨터가 부팅될 때 주기억장치에 적재된 후 시스템이 꺼질 때까지 항상 주기억장치에 상주하여 기억장치관리, 프로세스관리, 파일입출력 등을 수행하는 부분은?
① kernel ② i -node
③ shell ④ PCB
1) kernel : 하드웨어에 대한 사용자의 요구가 있으면 커널이 그 모든 것을 받아서 처리하는 역할을 담당하고 있다. 즉, 사용자가 하드웨어에 직접 접근하는 것을 원천적으로 막아, 다른 사용자에게 해를 끼치지 못하도록 막는 역할을 커널이 담당하고 있다. 커널의 역할은 이외에도 운영체제가 시작되면 항상 메모리에 상주하면서 프로세스를 관리하고, 파일을 관리하며, 각종 입출력 및 메모리 관리 등의 일을 담당하고 있다.
2) i –node : 유닉스 계층 단일 시스템 내 파일의 위치정보 및 파일관련정보를 저장하는 자료구조로 데이터 블록의 포인터
3) shell : 사용자와 순수 Unix 운영체제 사이를 연결하는 프로그램이다. 셸은 사용자가 내린 명령어를 해석하고, 그 결과를 커널에게 전달한다.
-종류
1... Bourne Shell
Stephen Bourne 이 제작, 최초의 대중화된 Unix Shell
2... C Shell
버클리 캘리포니아 대학에서 개발된 프로그래머들에게 적합한 shell입니다.
Bourne Shell 후에 작성되었으며, C언어와 밀접한 구조와 관계입니다.
대화형 사용법에서는 Bourne shell과 대부분 호환되지만 전혀 다른 프로그래밍 인터페이스를가지고 있고, 히스토리 대체라는 복잡한 기능으로 대신하고 있지만 명령행 편집 기능은 제공 하지 않습니다.
3... Korn Shell
일반적으로 유닉스에서 가장 많이 사용되고 있는 shell 이며 Bourne shell에 처음으로 현대적인 shell 기능(C shell로 부터 차용한 것이다)을 도입한 shell 입니다. Bourne shell과 호환되고, 명령행 편집기능을 제공합니다.
David Korn 이 제작하였으며, Bourne Shell 보다 포괄적이고 산업체에서 선호하고있습니다.
4... Bash Shell
Bourne again shell은 최초로 개발된 셸인 Bourne shell의 변종이라 할 수 있습니다.
리눅스에서 가장 많이 사용되는 셸이며, POSIX 호환이며 Bourne shell과 호환되는 셸로서GNU 프로젝트에 의해 만들어지고 배포되고 있습니다. 명령행 편집기능을 제공합니다.
4) PCB : 문제 3번 참고
20. “Working Set"의 설명으로 옳은 것은?
① 단위 시간 동안 처리된 작업의 집합
② 하나의 일(Job)을 구성하는 체이지 집합
③ 오류 데이터가 포함되어 있는 페이지 집합
④ 하나의 프로세스가 자주 참조하는 페이지 집합
Working Set : 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합으로, 자주 참조되는 Working Set을 주기억장치에 상주시킴으로써 페이지 부재 및 페이지 교체현상을 줄인다.
21. 운영체제 성능 평가 기준 중 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도를 의미하는 것은?
① Turn Around Time ② Availability
③ Reliability ④ Throughput
1) Turn Around Time (반환시간) : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
2) Availability (사용가능도)
3) Reliability (신뢰도) : 시스템이 주어진 문제를 정확하게 해결하는 정도
4) Throughput (처리능력) : 일정 시간 내에 시스템이 처리하는 일의 양
22. UNIX의 특징으로 옳지 않는 것은?
① 대화식 운영체제이다.
② 다중 사용자, 다중 작업을 지원한다.
③ 리스트 구조의 파일 시스템을 갖는다.
④ 대부분 C 언어로 작성되어 이식성이 높다.
UNIX : 계층적 파일 구조를 갖는다.
23. 운영체제의 설계 목표가 아닌 것은?
① 빠른 응답시간 ② 처리량 향상
③ 경과 시간 증가 ④ 폭 넓은 이식성
운영체제의 설계 목표
- 빠른 응답시간
- 처리량 향상
- 경과 시간 단축
- 폭 넓은 이식성
- 신뢰성 향상
24. 모니터에 대한 설명으로 틀린 것은?
① 자료 추상화와 정보 은폐 개념을 기초로 한다.
② 병행 다중 프로그래밍에서 상호 배제를 구현하기 위한 특수 프로그램 기법이다.
③ 구조적인 면에서 공유 데이터와 이 데이터를 처리하는 프로시저의 집합이라 할 수 있다.
④ 모니터 외부의 프로세스도 모니터 내부 데이터를 직접 액세스 할 수 있다.
모니터 : 모니터 내의 공유 데이터는 모니터 내부의 프로시저에 의해서만 액세스가 가능하므로 모니터 외부의 프로세스는 모니터 내부 데이터를 직접 액세스할 수 없으며, 이를 정보 은닉(Information Hiding)이라고 한다.
25. 다음의 a, b, c, d 작업에 대하여 운영체제가 CPU 스케줄링 기법으로 HRN 방식을 구현했을 때 우선순위가 가장 높은 작업은?
작업
시간
|
a
|
b
|
c
|
d
|
대기시간
|
10초
|
5초
|
4초
|
3초
|
서비스시간
|
5초
|
10초
|
12초
|
8초
|
③ c 1.333 ④ d 1.375
HRN(Highest Response-Rtio Next)(비선점형)
: 짧은 작업이나 대기시간이 긴 작업은 우선순위가 높아짐
우선순위 계산법 = (대기시간 + 서비스시간) / 서비스시간
26. 파일 디스크립터에 대한 설명으로 옳지 않은 것은?
① 보조기억장치상의 파일의 위치 및 최초 수정 날짜 및 시간에 대한 정보를 포함한다.
② 파일 시스템이 관리하므로 사용자거 직접 참조할 수 없다.
③ 보조기억장치에 저장되어 있다가 파일이 개방(Open)될 때 주기억장치로 옮겨지는 것이 일반적이다.
④ 파일마다 독립적으로 존재한다.
최초 → 최종
파일 디스크립터 : 유닉스, 리눅스 계열의 시스템에서 열린 파일(디바이스)를 구분하는 단위
운영체제가 만든 파일 또는 소켓을 지칭하기 위해 부여한 숫자, 파일을 관리하기 위한 운영체제가 필요로 하는 파일의 정보를 가지고 있다. FCB라고 한다.
27. 교착 상태 발생의 필요충분조건의 아닌 것은?
① Traffic Controller ② Circular Wait
③ Hold And Wait ④ Mutual Exclusion
교착 상태는 다음의 네 가지 조건이 동시에 만족될 때 발생함 "필요충분조건"
1) 상호배제 (Mutual Exclusion) : 상번에 한 프로세스만이 그 자원을 사용할 수 있고, 다른 프로세스는 그 자원이 해제될 때까지 기다려야함 / 한 프로세스가 자원을 점유하면서 다른 프로세스들에게 자원을 사용하지 못하게 배제시키는 제어기법
2) 점유와 대기 (Hold And Wait) : 적어도 하나의 자원을 점유하고, 다른 프로세스에 의해 점유되어 있는 자원을 기다리고 있어야 함
3) 비선점 (No Preemption) : 자원을 선점하지 못함. 즉, 자원을 강제로 빼앗지 못하고 해제될 때까지 기다려야 함
4) 순환대기 (Circular Wait) : 대기 프로세스의 집합에서, 각각이 보유하고 있는 자원을 기다리고 있어야 함
28. 가변분할 다중 프로그래밍 시스템에서 인접한 공백들을 더 큰 하나의 공백으로 합하는 과정을 무엇이라 하는가?
① 기억장소의 페이징(paging)
② 기억장소의 통합(coalescing)
③ 기억장소의 집약(compaction)
④ 기억장소의 단편화(fragmentation)
1) 페이징 : 프로그램을 동일한 크기로 나눈 단위를 페이지라고 하며 이 페이지를 블록으로 사용하는 기법
3) 집약 : 기억장소의 사용 중인 블록과 빈 블록을 각각 한 쪽으로 모아서 빈 블록을 최대화시킴
4) 단편화 : 주기억장치 상에서 빈번하게 기억장소가 할당되고 반납됨에 따라 기억장소들이 조각으로 나누어지는 현상
29. 프로세스 정의로 적당하지 않은 것은?
① 하드웨어에 의해 사용되는 입출력 장치
② 실행중인 프로그램
③ 운영체제 내에 프로세스 제어 블록의 존재로서 명시되는 것
④ 프로세서가 할당되는 개체
30. 교착 상태 발생의 필요충분조건 4가지에 대한 설명으로 옳지 않은 것은?
① 상호배제 : 최소한 하나의 자원이 공유 방식으로 점유되어야 한다.
② 점유 및 대기 : 최소한 하나의 자원을 점유하고 있는 프로세스가 있어야 하며, 이 프로세스가 다른 프로세스에 의하여 점유된 자원을 추가로 얻기 위해 대기하고 있어야 한다.
③ 비선점 : 자원들을 선점하지 못한다.
④ 순환(환형)대기 : 대기하고 있는 프로세스의 집합 {P₀, P₁, ㆍㆍㆍPn}에서 P₀은 P₁이 점유한 자원을 대기하고, P₁은 P₂를 대기하며, Pn은 P₀가 점유한 자원을 요청하기 위해 대기한다.
상호배재 : 한 번에 한 프로세스만 자원을 사용한다.
31. 페이징 기법에 대한 설명으로 옳지 않은 것은?
① 외부 단편화가 방지된다.
② 페이지의 위치 정보를 가지고 있는 페이지 맵 테이블이 필요하다.
③ 프로그램을 가변적인 크기로 나눈 후 주기억장치에 적재시켜 실행시키는 기법이다.
④ 내부 단편화가 발생할 수 있다.
페이징 : 논리적 의미를 고려하지 않고 가상 메모리를 고정된 크기로 나누어 메모리를 관리하는 것
32. 임계 구역(Critical Section)에 대한 설명으로 옳지 않은 것은?
① 임계 구역에서 프로세스 수행은 가능한 빨리 끝내야 한다.
② 프로세스의 처리시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상을 의미한다.
③ 임계 구역에서는 프로세스가 무한 루프에 빠지지 않도록 해야 한다.
④ 임계 구역에서는 프로세스들이 하나씩 순차적으로 처리되어야 한다.
2번은 스래싱에 내용
33. 구역성(locality)에 대한 설명으로 옳지 않은 것은?
① 시간구역성의 예로는 순환, 부프로그램, 스택 등이 있다.
② 구역성에는 시간구역성과 공간구역성이 있다.
③ 어떤 프로세스를 효과적으로 실행하기 위해 주기억 장치에 유지되어야 하는 페이지들의 집합을 의미한다.
④ 프로세서들은 기억장치내의 정보를 균일하게 액세스 하는 것이 아니라, 어느 한 순간에 특정 부분을 집중적으로 참조하는 경향이 있다.
3번은 워킹 셋 에 대한 설명
34. 하나의 프로세스가 어느 정도의 프레임을 갖고 있지 않다면 페이지 부재가 계속해서 발생하여, 프로세스가 수행되는 시간보다 페이지 교체에 소비되는 시간이 더 많아지는 경우를 무엇이라 하는가?
① thrashing ② working set
③ page fault ④ demand page
스래싱은 하나의 프로세스가 작업 수행 과정중 지나치게 페이지 부재가 발생이 되어 소요되는 시간이 더 커지는 현상
35. 프로세스보다 더 작은 단위이며, 다중 프로그래밍을 지원하는 시스템 하에서 CPU에게 보내져 실행되는 또 다른 단위를 의미하는 것은?
① BLOCK ② THREAD
③ SUSPEND ④ RESUME
스레드는 제어의 흐름을 의미하며 프로세스에서 실행환경 부분으로 나눌때 실행 부분을 담당함
36. 디렉토리 구조 중 중앙에 마스터 파일 디렉토리가 있고 그 아래에 사용자별로 서로 다른 파일 디렉토리가 있는 계층 구조는?
① 1단계 디렉토리 구조
② 2단계 디렉토리 구조
③ 트리 디렉토리 구조
④ 비순환 그래프 디렉토리 구조
2단계 디렉토리 구조
중앙에 마스터 파일 디렉토리(MFD)가 있
고, 그 아래 사용자 파일 디렉토리(UFD)가 있는 구조.
37. 운영체제의 역할로서 거리가 먼 것은?
① 기억 장치 관리 ② 처리기 관리
③ 입출력 장치 관리 ④ 원시 프로그램의 번역
설명이 필요없는 문제 4번은 (어셈블리어 나 기계어 를 말하는것)
38. 페이지 교체 기법 중 시간 오버헤드를 줄이는 기법으로서 참조 비트(Referenced bit)와 변형 비트(Modified bit)를 필요로 하는 방법은?
① FIFO ② LRU
③ LFU ④ NUR
NUR(Not Used Recently)은 각 페이지마다 두 개의 하드웨어
비트(참조 비트, 변형 비트)를 두고서 가장 최근에 사용하지 않
은 페이지를 먼저 교체하는 기법
39. 파일의 편성 방식 중 해쉬(Hash) 기법과 가장 연관이 많은 파일은?
① 순차파일 ② 색인파일
③ 직접파일 ④ 색인순차파일
직접 파일(Direct File)은 특정 레코드에 접근하기 위해서 디스
크의 물리적 주소로 변환할 수 있는 해싱 함수를 사용합니다
40. 교착상태(Deadlock)의 필요조건에 해당하지 않는 것은?
① mutual exclusion ② circular wait
③ preemption ④ hold and wait
상호 배제(Mutual Exclusion) 점유와 대기(Hold and Wait)
비선점(Non-preemption) 환형 대기(Circular Wait)
간단히 설명하면 어떤일도 처리 못하는 상황
41. 모니터에 대한 설명으로 옳지 않은 것은?
① 한순간에 여러 프로세스가 모니터에 동시에 진입하여 자원을 공유할 수 있다.
② 공유 데이터와 이 데이터를 처리하는 프로시저로 구성된다.
③ 모니터 외부의 프로세스는 모니터 내부의 데이터를 직접 액세스 할 수 없다.
④ 모니터에서는 Wait 와 Signal 연산이 사용된다.
한 순간에 한 프로세스만이 모니터에 진입 가능
42. 파일 보호 기법 중 각 파일에 판독 암호와 기록 암호를 부여하여 제한된 사용자에게만 접근을 허용하는 기법은?
① 파일의 명명(Naming) ② 비밀번호(Password)
③ 접근제어(Access control) ④ 암호화(Cryptography)
파일의 명명(Naming) : 접근하고자 하는 파일 이름을 모르는 사
용자를 접근 대상에서 제외시킨다.
비밀번호(Password) : 각 파일에 판독 암호와 기록 암호를 부여
하여 제한된 사용자에게만 접근을 허용한다.
접근제어(Access Control) : 사용자의 신원에 따라 서로 다른 접
근 권한을 허용한다.
암호화(Cryptography) : 파일 내용을 알 수 없도록 한다.
43. 다음 설명이 의미하는 것은?
- 실행중인 프로그램
- 비동기적 행위
- 프로시저가 활동 중인 것
- 프로세서가 할당되는 개체
|
① WORKING SET ② MONITOR
③ LOCKING ④ PROCESS
44. SJF(Shortest Job First) 스케줄링에서 작업 도착 시간과 CPU 사용시간은 다음 표와 같다. 모든 작업들의 평균 대기시간은 얼마인가?
작업
|
도착시간
|
CPU 사용시간
|
1
|
0
|
23
|
2
|
3
|
35
|
3
|
8
|
10
|
③ 24 ④ 25
SJF(Shortest Job First)는 작업이 끝나기까지의 실행시간
추정치가 가장 작은 작업을 먼저 실행시키는 기법
45. 다중 처리기 운영체제 구조 중 주종(Master/Slave) 처리기에 대한 설명으로 옳지 않은 것은?
① 주프로세서가 고장 날 경우에도 전체 시스템이 다운되지 않는다.
② 주프로세서는 입출력과 연산을 담당한다.
③ 종프로세서는 입출력 발생시 주프로세서에게 서비스를 요청한다.
④ 주프로세서가 입출력을 수행하므로 비대칭 구조를 갖는다.
주(Master)프로세서는 운영체제를 수행하고, 입·출력과 연산
을 담당하며, 주프로세서가 고장 나면 전체 시스템이 다운됩니
다.
종(Slave)프로세서는 연산만 담당하고, 입·출력 발생 시 주프로
세서에게 요청합니다.
46. 페이지 기법에 관한 설명으로 옳지 않은 것은?
① 페이지 크기가 작을수록 더 많은 페이지가 존재한다.
② 페이지 크기가 작을 경우 우수한 working set을 가질 수 있다.
③ 페이지 크기가 클수록 더 큰 페이지 테이블공간이 필요하다.
④ 페이지 크기가 클수록 참조되는 정보와는 무관한 많은 양의 정보다 주기억장치에 남게 된다.
페이지 크기가 작을수록 더 큰 페이지 테이블공간이 필요
47. UNIX 시스템의 쉘(shell)에 관한 설명으로 옳지 않은 것은?
① 사용자가 입력시킨 명령어 라인을 읽어 필요한 시스템 기능을 실행시키는 명령어 해석기이다.
② 쉘은 커널의 일부분으로 메모리에 상주하면서 사용자와 시스템 간의 대화를 가능케 해준다.
③ 시스템과 사용자 간의 인터페이스를 제공한다.
④ 공용 쉘이나 사용자 자신이 만들 쉘을 사용할 수 있다.
메모리에 상주하면서 사용자와 시스템 간의 대화를 가능케 해
주는 것은 커널(Kernel)
48. 운영체제의 성능 평가 기준 중 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도를 의미하는 것은?
① Throughput ② Availability
③ Turn Around Time ④ Reliability
Throughput : 처리량
Availability : 사용 가능도
Turn around time : 반환 시간(응답 시간)
Reliability : 신뢰도
49. 하이퍼 큐브 구조에서 각 CPU가 6개의 연결점을 가질 경우 CPU의 총 개수는?
① 4 ② 16
③ 32 ④ 64
하이퍼 큐브(Hyper Cube)는 하나의 CPU에 연결되는 다른
CPU의 수(연결점의 수)가 n개일 때 CPU의 수는 2의 N승 개
50. UNIX의 특징으로 볼 수 없는 것은?
① 대화식 시분할 운영체제이다.
② 대부분의 코드가 어셈블리어로 구성되어 있다.
③ 높은 이식성을 가진다.
④ 트리 구조의 파일 시스템을 갖는다.
대부분의 코드가 C언어로 되어있다
51. 교착상태 해결 방법 중 다음 사항과 관계되는 것은?
- Mutual Exclusion 부정
- Hold and Wait 부정
- Non-preemption 부정
- Circular Wait 부정
① Recovery ② Detection
③ Avoidance ④ Prevention
Prevent(예방 기법)
교착상태가 발생하지 않도록 사전에 시스템을 제어하는 방법
교착상태 발생의 4가지 조건 중에서 어느 하나를 제거함으로써 수행됨
교착상태 해결 방법 중 자원낭비가 가장 심하다
52. UNIX에서 파일 내용을 화면에 표시하는 명령은?
① cat ② finger
③ is ④ chown
finger : 사용자 정보 표시
ls : 현재 디렉토리 내의 파일 목록 확인
chown : 파일 소유권 변경
53. 페이지 크기에 대한 설명으로 옳지 않은 것은?
① 페이지 크기가 클 경우 전체적인 입출력 효율성이 증가된다.
② 페이지 크기가 작을 경우 페이지 맵 테이블의 크기가 작아지고 매핑 속도가 빨라진다.
③ 페이지 크기가 클 경우 프로그램 수행에 불필요한 내용까지도 주기억장치에 적재될 수 있다.
④ 페이지가 크기가 작을 경우 디스크 접근 횟수가 많아진다.
페이지 맵 테이블의 크기가 작아지고 -> 커지고
매핑 속도가 빨라진다 -> 늦어진다
54. 빈번한 페이지의 부재 발생으로 프로세스의 수행 소요시간보다 페이지 교환에 소요되는 시간이 더 큰 경우를 의미하는 것은?
① 스래싱(thrashing) ② 세마포어(semaphore)
③ 페이징(paging) ④ 오버레이(overlay)
세마포어 : 두 개의 원자적 함수로 조작되는 정수 변수로서, 멀티프로그래밍 환경에서 공유 자원에 대한 접근을 제한하는 방법으로 사용된다
페이징 : 가상기억장치를 모두 같은 크기의 블록으로 편성하여 운용하는 기법이다
오버레이 : 운영 체제에서 오버레이(overlay)는 자신을 다른 프로그램의 코드로 바꾸는 프로세스이다
55. 분산 운영체제 시스템에 관한 설명으로 옳지 않은 것은?
① 약결합(loosely-coupled)으로 볼 수 있다.
② 업무량 증가에 따른 점진적인 확장이 용이하다.
③ 높은 보안성이 유지된다.
④ 제한된 자원을 여러 지역에서 공유 가능하다.
자원 공유, 연산 속도 향상, 신뢰도 향상 등의 장점이 있지만 보안 문제가 발생할 수 있다
56. 프로세스의 정의로 옳지 않은 것은?
① 프로세스 제어 블록을 가진 프로그램
② 동기적 행위를 일으키는 주체
③ 운영체제가 관리하는 실행 단위
④ 프로시저가 활동 중인 것
동기적 행위 -> 비동기적 행위
57. 다음 표는 고정 분할에서의 기억장치 단편화 현상을 보이고 있다. 내부단편화(Internal Fragmentation)는 모두 얼마인가?
영역
|
분할의크기(k)
|
작업의크기(k)
|
A
|
20
|
10
|
B
|
50
|
60
|
C
|
120
|
10
|
D
|
200
|
100
|
E
|
300
|
90
|
③ 430 k ④ 480 k
A : 내부 단편화 = 10K, B : 외부 단편화 = 50K, C : 내부 단편화 = 110K, D : 내부 단편화 = 100K, E : 내부 단편화 = 210K
10 + 110 + 100 + 210 = 430
58. 13k의 작업을 다음 그림의 40k 공백의 작업공간에 할당했을 경우 사용된 기억장치 배치전략 기법은?
OS
|
16K 공백
|
used
|
14K 공백
|
used
|
5K 공백
|
used
|
40K 공백
|
③ First fit ④ Worst fit
Best fit : 사용 가능한 공간들 중에서 가장 작은 것을 선택하는 방식이다
First fit : 주기억 장치의 사용 가능한 공간을 검색하여 첫 번째로 찾아낸 곳을 할당하는 방식이다
Worst fit : 사용 가능한 공간들 중에서 가장 큰 것을 선택하는 방식이다
Worst fit에 해당하는 기억장치 배치전략이다
59. 임계구역의 원칙으로 옳지 않은 것은?
① 두 개 이상의 프로세스가 동시에 사용할 수 있다.
② 순서를 지키면서 신속하게 사용한다.
③ 하나의 프로세스가 독점하게 해서는 안 된다.
④ 임계구역이 무한 루프에 빠지지 않도록 주의해야 한다.
하나의 프로세스만 접근할 수 있으며 프로세스들이 하나씩 순차적으로 처리되어야 한다
60. RR(Round Robin) 방식에 관한 설명으로 옳지 않은 것은?
① 시간할당량이 커지면 FCFS 방식과 같게 된다.
② 시간할당량이 너무 작으면 스래싱에 소요되는 시간의 비중이 커진다.
③ 준비상태 큐에서 기다리고 있는 프로세스들 중에서 실행시간이 가장 짧은 프로세스에게 먼저 CPU를 할당하는 기법이다.
④ 시스템이 사용자에게 적합한 응답시간을 제공해 주는 대화식 시스템에 유용하다.
3번은 SJF에 대한 설명이다
피드 구독하기:
글 (Atom)