Software Courses/Operating System

OS Overview 1

김 정 환 2020. 11. 29. 12:34
반응형

 

 

운영체제란?

    - 사용자에게 서비스를 제공하기 위해서 하드웨어를 관리하는 소프트웨어

 

 

 

운영체제를 왜 배울까?

    - 우리가 실제로 OS를 손 볼 일은 거의 없다. 그러나 OS와 비슷한 것을 매번 만든다. 그것은 우리가 개발하는 프로그램이다. 우리가 개발하는 프로그램은 일종의 OS이다. 따라서, OS의 효율적인 작동 방법을 배운다면, 우리가 개발하는 프로그램에 적용하여 효율적인 프로그램을 개발할 수 있다.

 

 

 

하드웨어 종류

    - 프로세서: CPU, GPU

    - 메모리: 메인 메모리, 보조 메모리

    - 주변 장치: 키보드, 마우스, 모니터 등

 

 

 

1. 운영체제와 프로세서

 

1) 하는 일

    - 프로세서에게 처리할 작업 할당 및 관리: 프로세서 생성 및 관리

    - 프로그램의 프로세서 사용 제어: 프로그램의 프로세서 사용 시간 관리

 

2) 프로세서

    - 연산 수행

    - 컴퓨터의 모든 장치 동작 제어

 

3) 레지스터

    - 프로세서 내부에 있는 메모리

    - 프로세서가 사용할 데이터 저장

    - 컴퓨터에서 가장 빠른 메모리

 

 

 

 

2. 운영체제와 메모리

 

1) 하는 일

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

    - 가상 메모리 관리: 가상 메모리 생성 및 관리

 

 

2) 메모리

    - 데이터를 저장하는 장치

 

 

3) 메모리 종류

    - 프로세스가 직접 접근 가능한 메모리: 레지스터, 캐시, 메인 메모리

    - 프로세스가 직접 접근 못하는 메모리: 보조 메모리

 

 

4) 메인 메모리

    - 프로세서가 수행할 프로그램과 데이터 저장

- 질문: 디스크의 프로그램과 데이터를 메인 메모리로 옮겨서 사용하는 이유는?
   

- 답변: 디스크와 CPU의 속도에서 차이가 나기 때문에 디스크 입출력 병목 현상이 발생하기 때문입니다. 이를 해결하고자 중간 속도의 메인 메모리를 사용합니다. CPU가 일하는 중에 필요한 프로그램과 데이터를 디스크에서 메인 메모리로 가져옵니다.

 

 

5) 캐시

    - 프로세서 내부에 있는 메모리

    - 메인 메모리의 입출력 병목현상 해소

    

 

    - 동작

        * 캐시 히트: 프로세서에서 요청한 데이터가 캐시에 있으면 가져온다.

            + 메인 메모리까지 가지 않아도 되니 더 빠르게 처리 가능하다.

    

        * 캐시 미스: 프로세서에서 요청한 데이터가 캐시에 없으면 메인 메모리에서 가져오고 프로세서에게 준다.

            + 프로세서 -> 캐시 -> 메인 메모리 -> 캐시 -> 프로세서 과정을 거치기 때문에 오래 걸린다.

 

    - 지역성

        * 지역성은 64kb ~ 4mb 정도의 작은 캐시가 어떻게 많은 정보를 빠르게 가져올 수 있는가에 대한 이유이다.

        

        * 공간적 지역성(spatial locality): 참조한 주소의 인접한 주소를 함께 가져온다.

            + cache line: A의 주소를 가져올 때 주변 주소들도 함께 가져온 블록 형태

 

        * 시간적 지역성(temporal locality): 한 번 참조한 주소를 곧 다시 참조한다.

            + 1회 사용한 주소는 다음에 사용할 가능성이 높습니다. 예) for문

 

       * 위 두가지 특성 때문에 캐시 히트율이 높고, 따라서 CPU가 캐시의 작은 용량만으로도 많은 정보 사용 가능

 

       * 캐시의 특징을 사용한 효율적인 알고리즘 설계(프로그래밍 측면)

 

cache는 메인 메모리에서 블록 단위로 가져온다.

1번의 경우 i=0 일 때, j=0과 j=1, ... 을 진행하면 이미 가져온 캐시에서 그대로 사용하면 된다. 캐시 히트

2번의 경우 i=0 일 때, j=0과 j=1, ... 을 진행하면 캐시에 없기 때문에 메인 메모리에서 새로 가져와야 한다. 캐시 미스

따라서 1번 처럼 작성하는 것이 몇 배는 빠르다.

 

 

6) 보조 메모리

    - 종류: 하드 디스크, USB

    - 프로세서가 직접 접근 불가능하여 메인 메모리를 통해서 접근

 

 

7) 시스템 버스

    - 하드웨어들이 데이터 및 신호를 주고 받는 물리적인 통로

    - 데이터 버스: 데이터를 전송

    - 주소 버스: 주소를 전송

    - 제어 버스: 제어 신호를 전송

 

 

3. 주변장치와 운영체제

1)  하는 일

    - 장치 드라이버 관리: 주변 장치 사용을 위한 인터페이스 제공하여 운영체제가 장치를 관리하게 한다.

    - Interrupt 처리: 주변 장치의 요청 처리

    - 파일 및 디스크 관리: 파일 생성 및 삭제, 디스크 공간 관리

 

 

2) 주변 장치

    - 프로세서와 메모리를 제외한 하드웨어

    - 종류: 입력장치, 출력장치, 저장장치(보조기억장치)

 

 

 

 

본 내용은 한국기술교육대학교 김덕수 교수님의 유튜브 강의를 듣고 정리한 내용입니다.
반응형

'Software Courses > Operating System' 카테고리의 다른 글

Process Synchronization and Mutual Exclusion  (0) 2020.12.02
Process Scheduling  (0) 2020.12.01
Thread 관리  (0) 2020.11.30
Process 관리  (0) 2020.11.30
OS Overview 2  (0) 2020.11.29