Search results for '2015 2학기/Operating System'

  1. 2015.09.13 -- Introduction(5)
  2. 2015.09.09 -- Introduction(4)
  3. 2015.09.06 -- Introduction(3)
  4. 2015.09.06 -- Introduction(2)
  5. 2015.09.05 -- Introduction(1)

Introduction(5)

2015. 9. 13. 21:45

Introduction(5)



운영체제의 구조



프로세스

 - 각 사용자는 적어도 메모리에 수행되고 있는 하나의 프로그램을 가진다.



멀티프로그래밍

 - Main Memory에 올라와 있는 Program이 여러개다.

 - 효율성을 위해 필요함

 - 하나의 사용자가 계속 CPU와 입출력 장치를 선점할 수는 없다.

 - 수행중인 작업이 예를 들어 입출력과 같은 작업을 기다려야 한다면,

    OS는 다른 작업이 수행되도록 전환하다.



시분할(TimeSharing) = 멀티태스킹(MultiTasking)

 - CPU가 작업을 자주 전환하며 수행하여 사용자로 하여금 마치 수행되는

    각 작업과 상호작용하게 느끼게 해주는 것

 - 반응시간(Response time)은 1초 미만이어야 한다.

 - 프로세스를 가진다.

 - CPU 스케줄링

 - 스와핑(Swapping) 은 프로세스들이 수행되도록 메모리로 들어오고 나가는 것




운영체제의 연산



 - 현재 OS는 하드웨어에 의한 인터럽트 기반으로 동작

 - 소프트웨어 에러나 요청은 예외(Exception)나 트랩(Trap)을 만듬



이중모드(Dual-mode) 연산

 - OS가 다른 시스템 컴포넌트와 OS 스스로 보호하는 것을 가능케 한다.

 - 사용자모드(User mode) = Application mode

- OS mode가 할 수 있는 일을 막기 위한 모드 (보호하기위해)

 - 커널모드(Kernel mode) = Operating System mode = Root mode

- 감독자모드, 시스템모드, 특권모드라고 불림

 - 모드 비트(Mode bit)

- 하드웨어에 의해 제공

- 시스템이 사용자코드와 커널코드를 수행하는 때를 구분할 수 있는 능력을 제공

- 몇몇 명령어는 단지 커널모드에서만 실행되도록 특권을 가지도록 지정됨

- 시스템 호출(System Call)은 모드를 커널로 바꾸었다가 호출로부터 리셋되면

   다시 사용자모드로 복귀함

'2015 2학기 > Operating System' 카테고리의 다른 글

Introduction(5)  (0) 2015.09.13
Introduction(4)  (0) 2015.09.09
Introduction(3)  (0) 2015.09.06
Introduction(2)  (0) 2015.09.06
Introduction(1)  (0) 2015.09.05

하얀백숙 2015 2학기/Operating System

Introduction(4)

2015. 9. 9. 22:36

Introduction(4)


프로그램

 - 소스코드, Static(정적)


프로세스

 - .exe 파일을 실제 수행해서 메모리에 올라감, Dynamic(동적)



저장소 구조

 - Main Memory : (CPU 외부에서 = 하드디스크 같은 곳) CPU에 직접적으로 

                             접근할 수 있는 유일한 대규모 저장소 매체, 휘발성

 - 2차 저장소 : 대규모의 비휘발성 저장을 가능케 하는 메인메모리의 확장 저장소

 - Magnetic Disks : 디스크 표면은 논리적으로 섹터로 세분화되는 트랙으로 이루어짐

                                그래서 장치 제어기는 장치와 컴퓨터 사이의 논리적인 상호작용을 결정함



저장소 계층

 - 저장 시스템은 (속도, 가격, 휘발성) 계층적으로 구성됨



캐싱(Chching)

 - 캐시에 복사하는 동작

 - 정보를 보다 빠른 저장 시스템인 캐시에 복사한다.

 - 메인 메모리는 보조 저장소를 위한 빠른 캐시로 볼 수 있다. (보조 저장소 입장에서!!)



저장 장치 계층



캐싱(Caching)

 - 컴퓨터 내부의 많은 계층에서 캐싱이 수행된다. (하드웨어, 운영체제, 소프트웨어)

 - 사용되는 정보는 임시적으로 느린 저장소에서 빠른 저장소로 복사된다.

 - 정보가 존재하는지 결정하기 위해 먼저 빠른 저장소인 Cache가 점검된다.

- 정보가 캐시에 존재한다면, 정보는 바로 빠른 캐시로부터 직접 사용된다.

- 그렇지 않으면, 데이터는 캐시로 복사된 후 사용된다.

 - 캐시는 캐시되는 저장소보다 더 작다!!

- 캐시관리는 중요한 관리 문제가 있다.

- 캐시 크기와 교체 정책



Registers > Cache > Main Memory > Disk Storage



멀티태스킹(Multitasking) 환경

 - 값이 저장되어 있는 계층에 관계 없이, 가장 최근의 값을 사용하도록 주의





컴퓨터 시스템 구조


싱글프로세서(Single-Processor)

 - 1개의 CPU


멀티프로세서(Multiprocessor)

 - CPU 2개이상인 것

 - 주요장점

- 처리율 증가

- 규모의 경제 : 싱글프로세서 컴퓨터 2대보다 더 경제적(but, 조금 더 느림)

- 신뢰성 증가 : CPU가 2개이기 때문에 한개가 망가져도 동작가능

- 단점

- 복잡성(Complexity) 증가



멀티프로세서 시스템의 두가지 유형

 - 비대칭(Asymmetric) 멀티프로세싱

- Master-Slave relationship

- 입출력 연산은 주로 Master가 담당

 - 대칭(Symmetric) 멀티프로세싱(SMP)

- 모든 프로세서는 서로 같은 Peer

- 각 프로세서는 다른 프로세서로부터의 간섭없이 각자 자기일을 수행



클러스터 시스템(Clustered System)

 - 계산 작업을 수행하기 위해 여러 시스템이 함께 작업함

 - 여러 시스템은 LAN으로 연결됨






'2015 2학기 > Operating System' 카테고리의 다른 글

Introduction(5)  (0) 2015.09.13
Introduction(4)  (0) 2015.09.09
Introduction(3)  (0) 2015.09.06
Introduction(2)  (0) 2015.09.06
Introduction(1)  (0) 2015.09.05

하얀백숙 2015 2학기/Operating System

Introduction(3)

2015. 9. 6. 00:38

Introduction(3)



입출력 구조


 - 입출력(I/O)란?

- 입력과 출력

- 장치와 메모리/지역버퍼 사이의 데이터 전송

- 장치의 종류에는 키보드, 모니터, 마우스, 디스크 등이 있음


 - 장치 제어기(Device Controller)

- Hardware

- 일반 버스에 연결

- 하나 이상의 장치가 장치 제어기에 연결

- 지역버퍼 저장소와 특정 목적의 레지스터들을 관리

- 주변 장치와 각 장치의 지역버퍼 저장소 사이의 데이터 전송을 담당


 - 장치 드라이버(Device Driver)

- Software

- 운영체제는 각 장치 제어기를 위한 장치 드라이버를 가짐

- 장치 제어기의 동작을 이해하고 운영체제의 다른 부분들에게 장치에 대한 일괄된 인터페이스 제공


 - 입출력 연산을 시작하기 위해

- 장치 드라이버는 장치 제어기내의 적절한 레지스터에 필요한 값을 적재한다. (적재도하고 읽기도 함)

- 장치 제어기는 취할 동작을 조사하기 위해 레지스터의 내용을 조사

- 장치 제어기는 장치와 장치의 지역버퍼 사이의 데이터 전송을 시작

- 장치 드라이버는 제어를 운영체제로 복귀시킴

- 운영체제는 데이터를 읽음


 - 동기식 입출력(Synchronous I/O)

- 입출력이 시작된 후에, 입출력이 완료된 경우에만 제어가 사용자 프로그램으로 복귀됨

- 대기(Wait) 명령어(Instruction)는 CPU가 다음 Interrupt가 발생할 때까지 쉬게함

- 사용자 프로세서에서 사용됨


 - 비동기식 입출력(Asynchronous I/O)

- 입출력이 시작된 후에, 입출력의 완료를 기다리지 않고 바로 제어가 사용자 프로그램으로 복귀됨

- 운영체제에서 사용됨

'2015 2학기 > Operating System' 카테고리의 다른 글

Introduction(5)  (0) 2015.09.13
Introduction(4)  (0) 2015.09.09
Introduction(3)  (0) 2015.09.06
Introduction(2)  (0) 2015.09.06
Introduction(1)  (0) 2015.09.05

하얀백숙 2015 2학기/Operating System

Introduction(2)

2015. 9. 6. 00:28

Introduction(2)


Interrupt

 - 사건은 하드웨어나 소프트웨어의 인터럽트로부터 신호를 받아 발생

- 하드웨어 : 어느때고 중앙처리장치에 신호를 보냄으로써 인터럽트 발생시킬 수 있음

- 소프트웨어 : 시스템호출(System Call) 에 의한 특정 연산을 실행시킴으로 인터럽트를 발생시킬 수 있음



CPU가 인터럽트되면

 1. CPU가 하고 있던 일을 멈춤

 2. 즉시 정해진 위치로 실행을 옮김(기존 하던일은 다른 곳에 저장 시킴)

 3. 정해진 위치는 보통 인터럽트를 위한 서비스 작업이 위치한 시작주소를 말함

 4. 인터럽트 서비스 루틴 (Interrupt service routine)을 수행

 5. 인터럽트 작업이 끝나면 중단되었던 이전 작업 재개(Restore)


* Rutine : <규칙적으로 하는 일의 통상적인 순서와 방법> 



인터럽트의 일반 기능

 - 인터럽트는 일반적으로 모든 서비스 작업의 주소를 포함하고 있고 

    인터럽트 벡터를 통해 인터럽트 서비스 루틴에게 제어를 운반한다.

 - 인터럽트 구조는 인터럽트된 명령어의 주소를 저장해야만 한다.

- 프로그램카운터와 레지스터를 저장해야 한다. (인터럽트 벡터에 이러한 정보가 존재)

 - 현재 다른 인터럽트가 처리되고 있다면 새로운 인터럽트는 

    인터럽트의 손실(Interrupt lose)을 막기 위해 멈춰진다.


 - 트랩(Trap)은 에러나 사용자의 요구에 의해 소프트웨어적으로 발생한 인터럽트이다.

 - 운영체제는 인터럽트 기반으로 동작한다.



Interrupt Service Routine

 - 각 컴퓨터는 자기 자신만의 인터럽트 처리 방법론(Mechanism)을 가지고 있다. 

    그러나 몇 가지 기능은 일반적으로 동일하다.

- Generic Routine & Interrupt-Specific Handler [일반작업 & 인터럽트별 핸들러]

 - 인터럽트 정보를 점검하기 위해 먼저 Generic Routine을 호출한다.

 - 그 이후에는 인터럽트에 따라 그에 맞는 Interrupt-Specific Handler가 호출된다.

 - 인터럽트는 빨리 처리되어야 한다.

- !!!!정해진 일정수의 인터럽트만 가능!!!!

- 인터럽트 핸들러를 가리키는 포인터 테이블이 사용됨됨

- 테이블 포인터는 하위 메모리(Low Memory)에 정렬되어 저장됨



Interrupt Timeline

'2015 2학기 > Operating System' 카테고리의 다른 글

Introduction(5)  (0) 2015.09.13
Introduction(4)  (0) 2015.09.09
Introduction(3)  (0) 2015.09.06
Introduction(2)  (0) 2015.09.06
Introduction(1)  (0) 2015.09.05

하얀백숙 2015 2학기/Operating System

Introduction(1)

2015. 9. 5. 21:47

Introduction(1)


OS란?

 - 컴퓨터 하드웨어를 관리하는 프로그램

 - 컴퓨터사용자와 컴퓨터 하드웨어 사이에서 중재자(intermediary) 역할을 수행하는 프로그램



OS 목적

 - 환경관리

 - 프로세스 관리

 - 자원관리



컴퓨터 시스템의 구성

 - 하드웨어(Hardware)

 - 운영체제(Operating System)

 - 응용프로그램(Application Programs)

 - 사용자(User)



운영체제 정의

 - 자원할당자

- 모든 자원을 관리

- 효율적이고 공정한 자원의 사용을 위하여 충돌하는 요구들에 대해 자원 할당을 결정

 - 제어프로그램

- 컴퓨터의 잘못된 사용과 에러를 방지하기 위해 프로그램의 실행을 제어

 - 공통적으로 받아들여지는 정의 없음

 - 네가 운영체제를 주문했을 때 운영체제 판매 회사가 운반해오는 모든 것

 - 컴퓨터에서 항상 수행되는 하나의 프로그램은 커널(=core=핵심)

- 그 외의 다른 모든 것은 OS 프로그램과 함께 운반되는 시스템 프로그램이나 응용 프로그램


* 커널 : 컴퓨터 운영체계의 가장 중요한 핵심으로써 운영체계의 다른 모든 부분에 여러 가지 기본적인 서비스를 제공한다. 



컴퓨터 시스템 조직

 - 컴퓨터 시스템 하드웨어 컴포넌트

- 하나 이상의 중앙처리장치 (CPU), 공유 메모리에 접근하기 위해 일반 버스로 연결된 장치 제어기들

- 메모리 사이클을 얻기 위해 중앙처리장치와 장치(키보드,마우스 등)들은 경쟁하면서 동시에 수행행



컴퓨터 시스템 동작

 - 입출력 장치들(키보드, 마우스, 모니터 등)과 중앙처리장치는 동시에 수행가능 (독립적)

 - 각 장치 제어기는 장비 유형에 따라 특정 작업을 전담

 - 각 장치 제어기는 지역 버퍼를 소유

 - 중앙처리장치는 메인 메모리와 지역버퍼 사이의 데이터 운반을 담당당

 - 입출력이란 장치로부터 장치 제어기의 지역 버퍼로 데이터를 전송하는 것을 의미

 - 장치 제어기는 중앙처리에게 알린다. 무엇을? 인터럽트에 의해 지금 연산이 종료되었다고!!

'2015 2학기 > Operating System' 카테고리의 다른 글

Introduction(5)  (0) 2015.09.13
Introduction(4)  (0) 2015.09.09
Introduction(3)  (0) 2015.09.06
Introduction(2)  (0) 2015.09.06
Introduction(1)  (0) 2015.09.05

하얀백숙 2015 2학기/Operating System