[정리] 운영 체제 정리
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
해당 자료는 10페이지 까지만 미리보기를 제공합니다.
10페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

[정리] 운영 체제 정리에 대한 보고서 자료입니다.

본문내용

이다. 별도의 사용방법을 가지고 있던 두 가지의 제품이 하나로 탄생했다면 그 시스템 내부를 OS가 얼마나 바쁘게 뛰어다녀야 할지 더 이상 설명하지 않아도 될 것이다.
▶OS의 설계 목표
우리는 지금 배우고 있는 이 과목의 목표는 바로 OS의 기능을 이해하는 것이다.
OS의 기능을 이해하기 위해선 무엇보다도 OS가 어떻게 설계되는가를 살펴볼 필요가 있다.
OS 의 설계 목표는 간단히 말해 [처리능력의 극대화]이다.
이 목표를 달성하기 위한 전재조건은 바로 시스템에 생기는 유휴시간의 최소화이다. 앞에서 설명한 OS의 역사를 상기해 보면 바로 유휴시간의 최소화를 위한 변화의 몸부림이였다 해도 과언은 아닐 것이다.
OS는 새로운 하드웨어나 새로운 기술을 간단히 받아들여 성장해 갈 수 있도록 설계되어야 한다. 불과 4-5년 전만 하더라도 동영상을 제공하는 CD롬 드라이브가 장착된 컴퓨터는 찾아보기 힘들었고 인터넷이 대중화된 것 역시 최근 몇 년 사이의 일이다.
정보화 사회는 모든 것을 빠르게 변화 시키고 있다.
바로 이러한 정보화 사회로의 진행은 컴퓨터 시스템의 발전없이는 불가능하다.
일시에 수많은 사람들이 통신에 접속할 수 있게 되었고 이젠 앉은 자리에서 세계여러국가와 동영상회의를 할 수도 있고 무역업무도 처리할 수 있게 되었다.
이러한 빠른 변화속에 OS 또한 한발 앞서 변화되고 있는 것이다.
컴퓨터 시스템을 통한 업무들이 끊임없이 발전할 동안 OS 역시 끊임없이 발전할 것이다.
☞ OS 설계 원리가 필요한 이유를 상세히 살펴보면 다음과 같다.
1. 컴퓨터 시스템의 구조는 매우 복잡하다.
(하나의 프로그램에는 10.000.000의 라인 정도의 코드가 연결되어 있을 정도이다.) 복잡한 컴퓨터 시스템 구조를 운영하기 위해선 보다 정밀한 설계원리가 필요하지 않을까.
2. 하나의 시스템을 여러 사람이 사용할 경우가 있다.
여러 시스템 사용자들이 보다 공정한 자원의 분배와 편리성을 위해 OS는 설계되어야 한다.
3. 기술의 발전에 따라 새로운 컴퓨터 장치의 등장 가능성이 있다.
새로운 장치가 등장했을 경우 그것의 업무 영역을 보다 쉽게 받아드릴 수 있게 설계 되어야 한다. 미래에는 어떤 새로운 장치들이 컴퓨터와의 결합을 시도할지는 현재로선 아무도 모른다. 그렇기에 OS는 항상 이러한 가능성을 염두에 두고 설계되어야 한다.
4. 디버깅의 편리성을 고려해야 한다.
모든 일에는 크고 작은 실수가 따르기 마련이다. 중요한 것은 하나의 실수에 대해 보다 발빠른 대처가 있어야 한다는 것이다. 이것은 OS를 설계할 때 빠뜨려선 안 될 개념중에 하나이다.
☞ 설계방법
1) Layering
OS의 설계자들은 보다 편리한 OS를 위해 수 많은 설계방법들을 고려했다. 그중 Layering 설계방법은 OS를 여러계층으로 나누어 설계한 것이다.
우리가 옷을 정리할 때 가장 간편한 정리 방법은 뭘까.
서랍장에 속옷은 속옷끼리 티셔츠는 티셔츠끼리 옷의 종류별로 정리를 해 넣는다면 옷을 찾기도 다시 정리하기도 휠씬 간편할 것이다.
이와 같이 Layering 설계방법은 OS의 기능을 나누어 여러개의 계층으로 구성한 것을 말한다.
<그림1-12>>>>>
Layering의 특징은 다음과 같다.
- 각계층은 저 마다의 기능을 수행한다. 층마다 수행할 기능들이 나누어져 있으므로 보다 확실하게 업무를 수행할수 있는 것이다.
예를 들어 통신상에서 메시지를 주고 받을 때 A층에서는 메시지를 받는 기능을 수행하 고 B층에서는 메시지를 짤라서 C층에서는 메시지를 보내는 역할을 수행하게 설계할 수 있다.
- A 층에서 수행되는 기능들은 B층에서는 수행이 불가능하다.
각층의 수행기능들이 합쳐져 버린다면 애써 층을 나눈 의미가 무색해질 것이다.
- 한층에서 업무를 마치면 한단계 위 또는 아래로는 이동이 가능하지만 두 단계이상은 이동하지 않는다.
- Layering의 단점은 계층간에 자유로운 이동이 불가능하여 overhead가 크다는 점이다.
컴퓨터기술이 발달함에 따라 항상 새로운 OS가 필요한가. 물론 그렇진 않다. 기존의 OS에 새로운 기능을 확장하면 된다. 따라서 OS는 다양한 기능들의 확장에 적절히 적응하기 위해 설계시 모듈화가 중요한 개념으로 등장한다.
2) 모듈화(Modularization)
우리는 하나의 건물을 지을 때 그 장소에 모여 각자가 맡은 일을 하게 될 것이다.
어떤 인부는 벽을 쌓고 어떤 인부는 바닥을 깔고 수도관 전기관을 설치하는 인부도 있고.....
좁은 한곳에 모여 작업을 하기 때문에 서로간의 의사소통이나 작업들간에 진척되는 상황들에 대한 점검이 매우 복잡할 것 같지 않은가.
보일러 파이프관이 아직 묻히지 않았다는 것을 모른채 바닥을 깔았다면 ... 전기공사가 완성되지도 않았는데 이미 벽지를 발랐다면...
실제작업보다 보수를 위한 시간과 비용이 더 들어갈지도 모르는일이다.
이러한 문제를 겪고 난 누군가에 의해 조립식건물이라는 새로운 건축방식이 개발되었을 것이다. 벽, 바닥재, 천장등을 따로 따로 제작한후 현장에서 마무리를 하게 되는 이 방식은 대규모 건축일수록 그 효과가 높을 것이다.
바로 이러한 개념으로 출발한 설계 방법이 바로 모듈화(Mod- ularization)인 것이다.
대규모 프로그램을 개발하기 위해서 작은 프로그램으로 분할, 작성한 다음 이들을 결합 시키는 것으로 모듈화는 시스템의 확장성을 높이며 개발, 보수를 쉽게할 수 있는 방법으로 널리 알려져 있다. 모듈화의 기본은 모듈과 모듈은 가능한한 독립적이여야 한다는 것이다. (모듈간의 연관성이 높아지면 개발,보수가 쉽다는 장점이 다시 원점으로 돌아갈 것은 뻔한 일이다.)
또한 모듈간의 의사소통은 단순하고 명확해야 하며 상세한 내부사항은 가능한한 숨기는 것이 좋다. 이것을 정보의 은폐(information hiding)라 한다.
정보의 은폐가 보다 효과적인 이유는 A모듈이 갖고 있는 모든 정보들이 B모듈에게 전달된다면 분명 모듈간에 communication 시간이 길어져 시스템이 비능률적이기 때문이다.
바로 조립식 건축물의 바닥재를 시공하는 인부가 벽면 시공자에게서 알고 싶은 정보는 벽면의 사이즈와 언제 조립이 가능한지에 관한
  • 가격3,000
  • 페이지수32페이지
  • 등록일2011.04.28
  • 저작시기2011.4
  • 파일형식한글(hwp)
  • 자료번호#672833
본 자료는 최근 2주간 다운받은 회원이 없습니다.
다운로드 장바구니