[OS] Computer System Overview

lotus·2021년 12월 4일
0

Computer Science

목록 보기
1/5

요약 정리

  • 운영체제(Operating System)란?
    컴퓨터 시스템 자원인 하드웨어를 잘 관리하여, 사용자와 응용프로그램들에게 서비스를 제공하는 역할을 하는 시스템이다.
  • 하드웨어란?
    하드웨어는 프로세서, 메모리, 주변장치로 이루어져 있고, 운영체제에 관리를 받는다. 프로세서는 중앙처리장치로서 연산을 수행하고 컴퓨터의 동작을 제어한다. 메모리는 데이터를 기억하는 저장장치의 역할을 한다. 주변장치는 프로세서와 메모리를 제외한 나머지 하드웨어로서 입력장치, 출력장치, 저장장치 등이 있다.

1. 하드웨어

1.1 프로세서
- CPU
- 그래픽카드
- 응용 전용 처리장치 등
1.2 메모리
- 주 기억장치
- 보조 기억장치 등
1.3 주변장치
- 키보드/마우스(입력)
- 모니터, 프린터(출력)
- 네트워크 모뎀 등

2. 프로세서

컴퓨터의 두뇌역할을 하는 중앙처리장치이다. 연산을 수행하며, 컴퓨터의 모든 장치의 동작을 제어한다.

2.1 레지스터

2.1.1 레지스터란?
프로세서 내부에 있는 메모리이다. 프로세서가 사용할 데이터를 저장하고 컴퓨터에서 가장 빠른 메모리이다.
2.1.2 레지스터의 종류

  • 용도에 따라 : 전용 레지스터, 범용 레지스터
  • 사용자가 정보 변경 가능 여부에 따라 : 사용자 가시 레지스터, 사용자 불가시 레지스터
  • 저장하는 정보의 종류에 따라 : 데이터 레지스터, 주소 레지스터, 상태 레지스터

3. 메모리

데이터를 저장하는 기억장치. 프로그램, 사용자의 데이터 등을 저장한다.

3.1 메모리의 종류

3.1.1 주기억장치(Main Memory)

  • 프로세서가 수행할 프로그램과 데이터 저장
  • DRAM을 주로 사용(큰 용량과 저렴한 가격)
  • 디스크 입출력 병목현상 해소

3.1.2 캐시

  • 프로세서 내부에 있는 메모리(빠른 속도, 비싼 가격)
  • 주기억장치의 입출력 병목현상 해소

3.1.3 캐시의 동작

  • 일반적으로 하드웨어적으로 관리됨
  • 캐시 히트 : 필요한 데이터 블록이 캐시에 존재
  • 캐시 미스 : 필요한 데이터 블록이 없는 경우

3.1.4 지역성(Locality)

  • 캐시 히트의 경우, 속도가 매우 빨라서 매우 효율적이다. 하지만 캐시 미스의 경우는 오히려 효율성이 떨어진다. 그래서 캐시 히트가 주로 이루어지는 것이 중요한데 이것을 가능하게 하는 것이 지역성(Locality)이다.
  • 공간적 지역성 : 참조한 주소와 인접한 주소를 참조하는 특성(예: 순차적 프로그램 수행)
  • 시간적 지역성 : 한 번 참조한 주소를 곧 다시 참조하는 특성(에: for문 등의 순환문)
  • 지역성은 캐시 적중률(cache hit ratio)과 밀접 : 알고리즘 성능 향상을 위한 중요한 요소 중 하나이다.

위 그림에서 CPU에서 메인 메모리에 접근하기 위한 코드가 다음과 같이 A와 B가 있다고 가정해 보자.

for (i= 0 ; i<= n ; i++) {
 for (j = 0 ; j < m ; j++) {
   x = x + (a[i][j]) ;// A
        or
   x = x + (a[j][i]) ;// B
     }
 }

A의 형태로 코드가 실행되어 A[0][0~15]의 블록을 캐시 블록에 집어 넣는 다면 캐시의 지역성 공간성이 잘 활용되어 캐시 미스를 줄이고 캐시 히트를 늘려 속도 향상에 좋을 것이다.

3.2 메모리와 운영체제

3.2.1 메모리 할당 및 관리

  • 프로그램의 요청에 따른 메모리 할당 및 회수
  • 할당된 메모리 관리

3.2.2 가상 메모리 관리

  • 가상메모리 생성 및 관리
  • 논리주소 -> 물로주소 변환

참고 : 운영체제 강의(김덕수 교수님)

profile
우물에서 자라나는 중

0개의 댓글