본문 바로가기

Programming/Lecture Note

Operating System-Chapter(1)

자원 관리자로서의 운영체제


-커널(kernel 또는 nucleus) : 운영체제에서 가장 빈번히 사용되는 기능들을 포함하고 있는 자원이다.








마이크로커널 구조(microkernel architecture)





마이크로커널 구조(microkernel architecture)는 주소공간, 프로레스 간 통신(IPC : interprocess comunication), 기본적인 스케줄링을 포함한 몇몇 소수의 핵심 기능만을 포함시킨다. 그 밖의 운영체제 서비스들은 서버라 불리는 프로세스에 의해 제공되는데, 이 프로세스들은 사용자 모드에서 수행되며마이크로 커널에 의해 일반 응용과 동일하게 취급된다. 이 방식을 채택하면 커널과 서버의 개발이 분리될 수 있다. 서버들은 운영체제와는 달리 특정 응용이나 수행환경의 요구 사항에 따라 그때그때 변경해가며 구축될 수 있다. 마이크로 커널 접근방식은 구현이 간단하고 융통성이 있으며 분산환경에 적합하다. 본절적으로 마이크로 커널은 지역(local) 과 원격(remote) 서버 프로세스를 구분하지 않고 동일한 방식으로 상호작용(IPC : interprocess comunication)하기 때문에 분산시스템 구축을 용이하게 한다.


-멀티쓰레딩(multithreading)은 응용을 실행하는 프로세스를 동시에 수행될 수 있는 쓰레드들로 분할하는 기법이다.


-쓰레드(thread) : 작업의 디스패치(CPU를 할당하는 단위) 단위이다. 


-프로세스(process) : 하나 이상의 쓰레드와, 관련 시스템 자원들(코드와 데이터를 포함한 메모리, 오픈중인 장치 등)로 구성된다. 프로세스는 수행 주인 프로그램 이라는 개념과 아주 유사하다. 하나의 단일 응용여러개의 스레드로 분할함으로써, 프로그래머는 응용의 모듈성과 응용 관련 사건의 타이밍을 보다 효과적으로 제어할 수 있다.



멀티쓰레딩은 순차적으로 처리될 필요가 없으면서 상호 독립적인 많은 태스크를 수행하는 응용에 유용하다.









대칭형멀티프로세싱(SMP : symmetric multiprocessing)




대칭형 자동처리, 컴퓨터 하드웨어를 일컫는 용어이나, 그 구조를 활용하는 운영체제의 행동 양식을 의미하기도 한다. SMP용 운영체제는 프로세스나 쓰레드가 어떤 처리기에서도 실행될 수 있도록 할 수 있다.








결함허용(Fault Torlerance)




결함허용(Falut Torlerance)이란 어떤 시스템 전체 또는 그 일부의 하드웨어나 소프트웨어 결함에도 불구하고 계속 정상 작동할 수 있는 능력을 의미한다. -> 결함이 발생했는데도 정상작동하려면 어쩔 수 없이 결함에 대비해 여분의 설비(redundancy)를 준히해두고 있어야 한다.


시스템의 신뢰성을 높이기 위해 고안된다.

-결함 허용을 지원하려면 비용과 성능에 손해가 발생하는 것이 보통이다.


결함 허용 척도를 시스템에 도입할 것이냐 아니냐는 그 자원이 얼마나 중요한 자원이냐에 따라 결정된다.


시스템이 결함허용을 어느 수준까지 지원하는지를 측정할 수 있는 기본 척도는 신뢰성(reliability)결함이 발생하기까지의 평균 시간(MTTF : mean time to failure),  그리고 가용성(availability) 이다. 


수리완료까지의 평균 시간(MTTR : mean time to repair)이라는 척도도 있는데, 이는 결함이 발생한 부품이나 소프트웨어 모듈을 수리오나료 하거나 새 것으로 교체하기까지 걸리는 평균 시간을 의미한다.



SLA(Service Level Agreement) : 서비스레벨협약) : 


Cloud Service