Notice
Recent Posts
Recent Comments
05-21 07:17
«   2024/05   »
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
Archives
Today
Total
관리 메뉴

Byeol Lo

1.1 What Operating System Do 본문

OS/OS Design

1.1 What Operating System Do

알 수 없는 사용자 2024. 3. 5. 19:35

 OS는 컴퓨터의 하드웨어를 관리하기 위한 소프트웨어이다. 사용자와 컴퓨터 사이의 중개자라고 보면 된다. 이런 OS의 역할 등이나 하는 일을 보려면 컴퓨터 아키텍처와 하드웨어에 대해 자세히 알 필요가 있다. 컴퓨터 자원에는 CPU, RAM, I/O devices 등이 있고 이러한 복잡하고 거대한 구조를 다루려면 여러 부분들로 나누어서 관리를 해야한다.

 이 챕터에서의 목적은 다음과 같다.

  1. 컴퓨터 시스템의 일반적인 구조 & interrupts의 역할들 설명
  2. 현대의 Multiprocessor Computer System 설명
  3. User mode 에서 Kernel mode 로의 전환 설명
  4. 다양한 컴퓨팅 환경에서 OS가 어떻게 사용되어지는지 토의
  5. 무료 혹은 오픈소스 OS 예제 제공

 

Main Components

 보통 컴퓨터 시스템은 크게 4가지로 나눠질 수 있다.

  • Hardware: 보통 컴퓨터 시스템을 구성하는 물리적인 부분을 말하고 흔히 조립 컴퓨터를 살 때 CPU, 메모리, 그래픽 카드, 디스크 드라이브 등을 사는데, 이것들이 전부 하드웨어에 속한다.
  • Operating System: 다양한 Application들과 사용자들 사이에서 하드웨어 사용을 제어하고, 조화를 이루도록 한다.
  • Application Programs: 보통 Word Processor, Spreadsheets, Compilers, Web Browsers, ... 등을 말하는데, 그냥 소프트웨어라고 생각하면 된다.
  • User: 사용자

 

User View

 사용자는 컴퓨터가 어떻게 돌아가는지, 자원이 어떻게 쓰이는지 신경을 쓰지 않아도 되도록 설계가 되어야 하며, 하나의 사용자가 컴퓨터의 자원을 독점하도록 설계되어야 한다. 하지만 사용자에게 성능고 보안에 약간의 주의를 기울이도록 해야함.

 위는 user가 operating system을 통해 computer hardware를 독점하도록 하는 그림이다. 모든 사용자가 operating system 자체를 사용하지는 않고(전문가 지식이 필요하기 때문), application을 통해 OS가 지원해주는 다양한 API를 사용한다.

 특히 요새는 많은 사용자들이 스마트폰이나 태블릿과 같은 모바일 장치가 데스크톱이나 랩톱 컴퓨터를 대체하고 있고, 이러한 소형 기기는 사용자 인터페이스가 touch screen을 통해 상호작용을 한다. 또한 임베디드 컴퓨터는 사용자 화면이 없는 경우가 대부분인데, 자동차에 장착된 컴퓨터를 예로 들 수 있겠다.

 

System View

 시스템 관점에서는 자원은 효율적으로 사용하는 것에 초점을 맞춘다. 그림에서 보다 시피 운영체제는 하드웨어와 가장 밀접하게 관련된 프로그램인데(하드웨어를 움직이도록 하는 소프트웨어), 이 맥락에서는 운영체제를 자원 할당자로 보면 되는 것이다. 주어진 자원 내에서 문제 해결을 위한 통제를 하는 것이다. 자원에서는 CPU 처리 속도, 메모리 공간, I/O 장치, 저장 공간 등 다양한 자원을 관리한다. 이런 장치들이 모인 시스템을 효율적으로 운영하고 어떻게 공정하게 운영할지 결정해야 한다.

 이 관점에서 운영 체제에 대한 조금 다른 점은 다양한 I/O 장치와 사용자 프로그램을 제어해야 한다는 것인데, 운영체제는 제어, 통제 프로그램이다. 이 프로그램은 사용자 프로그램의 실행을 관리하여 컴퓨터의 오류와 부정한 사용을 방지해주어야 한다. 특히 I/O 장치의 작동과 제어에 주의를 기울여야 한다.

 

Defining Operating Systems

 컴퓨터는 다양하게 설계된다. 이 설계된 구조 위에서 어떻게 사용하는지는 운영체제가 그 역할과 기능을 다 한다. 이 다양성은 컴퓨터의 역사에서 드러나는데, 처음에 컴퓨터는 이 컴퓨팅으로 무엇을 할 수 있는지에 대한 실험으로 시작되었고, 그 다음에 군사용으로 암호 해독, 궤적 도출 등의 고정 목적 시스템, 정부용(인구 조사 계산 등) 으로 그 역할의 범위가 넓어졌고, 그 다음으로 일반 목적, 다기능 메인프레임으로 진화되었고 그때 운영 체제가 탄생이 된다. 1960 년대에는 무어의 법칙에 따라 집적 회로의 트랝스터 수가 18개월마다 두 배로 증가할 것이라고 예측이 되었는데, 이는 기정 사실이 되었다. 이러한 운영체제를 정의하는 것은 완벽한 정의는 없다.

 운영체제는 컴퓨팅 시스템을 활용하여 문제를 해결하는 합리적인 방법을 제공하기 위해 존재한다. 컴퓨터 시스템의 기본 목표는 프로그램을 실행하고, 사용자 문제 해결을 쉽게 만드는 것이다. 컴퓨터 하드웨어는 이 목표를 위해 구성이 되었는데, 지금은 하드웨어 만으로는 사용하기가 쉽지 않으므로 응용 프로그램(운영체제)가 개발된 것이다. 이러한 프로그램들은 I/O 장치를 제어하는 것과 같은 특정한 작업들이 필요하며, 자원을 제어하고 할당하는 기능은 그 다음 하나의 소프트웨어로 통합이 되게 된다. 그게 운영 체제이다.

'OS > OS Design' 카테고리의 다른 글

1.6 Security and Protection  (0) 2024.04.06
1.5 Resource Management  (0) 2024.04.04
1.4 Operating-System Operations  (1) 2024.04.03
1.3 Computer-System Architecture  (0) 2024.04.01
1.2 Computer-System Organization  (0) 2024.04.01
Comments