본문 바로가기

CS59

[Chapter 1. 서론] 컴퓨터 시스템과 운영체제 본 정리는 운영체제(Operating System: Concepts) 9th edition과 22학년도 1학기 건국대학교 운영체제 수업을 바탕으로 하고 있습니다. 컴퓨터 시스템 컴퓨터 시스템의 근본 목적은 '사용자 프로그램을 실행하고 사용자 문제의 해결을 보다 쉽게 해주는 것'이다. 이 목적을 위하여 컴퓨터 하드웨어(중앙 처리 장치 CPU / 메모리 / 입출력 장치)가 제작되었으며, 자원이 어떻게 사용되어야 할지를 정의해주기 위해 응용 프로그램이 개발되었다. 응용 프로그램들은 입출력 장치의 통제와 같은 하드웨어 자원을 공유 하기 때문에 자원을 제어하고 할당하는 공통 기능을 하나의 소프트웨어로 통합하게 되었고, 이것이 바로 운영체제이다. * 컴퓨터 시스템의 4가지 구성 요소 1. 하드웨어 2. 운영체제 3.. 2022. 8. 7.
[Chapter 5.8 컴퓨터 구조 및 설계] 병렬성 메모리 계층구조에서의 캐시 일관성 본 정리는 CS422-컴퓨터 구조 및 설계 : 하드웨어/소프트웨어 인터페이스. David A. Patterson, 존 헤네시 책을 바탕으로 하고 있음을 미리 알립니다. 멀티코어 멀티프로세서는 여러 개의 프로세서가 하나의 칩안에 들어 있는 것을 말한다. 메모리 공간은 한정되어있고 이러한 프로세서들은 공통의 실제 주소공간을 공유한다. 두 개의 서로 다른 프로세서가 각자 자신의 캐시를 통하여 메모리에 접근하게 되고, 주의하지 않으면 두 개의 다른 값을 갖게 된다. 멀티코어 멀티프로세서를 사용하는 것은 캐시 일관성 문제를 야기한다. 캐시 일관성 두 CPU가 메모리를 공유한다고 가정하고 위의 step이 순서대로 일어난다고 생각해보자. 같은 X라는 데이터를 읽어왔는데, CPU A에서는 X에 데이터를 쓰기 때문에 C.. 2022. 8. 1.
[Chapter 5.7 컴퓨터 구조 및 설계] 메모리 계층을 위한 공통 구조 본 정리는 CS422-컴퓨터 구조 및 설계 : 하드웨어/소프트웨어 인터페이스. David A. Patterson, 존 헤네시 책을 바탕으로 하고 있음을 미리 알립니다. 메모리 계층은 어떤 계층이든 상당 부분 공통점을 갖는다. 메모리 계층의 어떤 두 계층 간에도 적용될 수 있는 4가지 질문을 알아보도록 하자. 1. 블록을 상위 계층 어디에 위치시킬 수 있는가? 메모리 계층 구조에서 상위 수준에 블록을 위치시키기 위해서는 직접 사상, 집합 연관, 완전 연관 등과 같은 방식을 사용할 수 있다. 연관 정도를 늘릴 수록, 고정된 캐시의 크기에서 나타낼 수 있는 블록의 수(인덱스)가 감소하였지만, 그만큼 한 집합에 많은 블록이 있으므로 miss rate가 줄게 되었다. 방식 집합의 수 집합 당 블록 수 직접 사상 .. 2022. 7. 31.
[Chapter 5.6 컴퓨터 구조 및 설계] TLB 본 정리는 CS422-컴퓨터 구조 및 설계 : 하드웨어/소프트웨어 인터페이스. David A. Patterson, 존 헤네시 책을 바탕으로 하고 있음을 미리 알립니다. TLB를 이용한 빠른 주소 변환 페이지 테이블은 메인 메모리에 저장되기 때문에, 프로그램에 의한 모든 메모리 접근은 최소한 두 번 필요하게 된다. 프로세스 테이블 접근 얻은 physical address를 이용한 메모리 접근 그러나 페이지 테이블에 접근하는 것 또한 참조의 지역성이 높다. 즉, 한번 참조한 테이블은 다시 참조될 가능성이 크다. 그래서 페이지 테이블에 접근하는 것을 피하기 위해 최근에 사용된 변환을 보관하고 있는 캐시인 Translation Look-aside Buffer(TLB)를 이용한다. TLB에는 Virtual pag.. 2022. 7. 31.