Finalterm
-
What is scientific computing?Scientific computing concerns with the design and analysis of algorithms for solving mathematical problems that arise in science and engineeringProblem Solving ProcessDevelop a mathematical modelDiscretize the model and develop algorithms to solve the equations numerically💡만약 우리가 특정 함수를 taylor 근사를 통해서 접근한다고 했을 때, 특정한 항까지만 고려한 경우 discretize했다고 볼 수 있다. 그래야 컴퓨터를 통해서 계산할..
1. Fundamentals of ComputingWhat is scientific computing?Scientific computing concerns with the design and analysis of algorithms for solving mathematical problems that arise in science and engineeringProblem Solving ProcessDevelop a mathematical modelDiscretize the model and develop algorithms to solve the equations numerically💡만약 우리가 특정 함수를 taylor 근사를 통해서 접근한다고 했을 때, 특정한 항까지만 고려한 경우 discretize했다고 볼 수 있다. 그래야 컴퓨터를 통해서 계산할..
2023.09.04 -
Memory Technologies메모리를 구현하기 위해 사용되는 소자에 따라 성능이 결정됨Static Random Access Memory (SRAM)Dynamic Random Access Memory (DRAM)Flash memory (e.g. SSDs)Magnetic disks (e.g. HDDs)💡Access time이 아래로 갈 수록 점점 커진다.모두 다른 전기적 특성을 가지고 만든 것. 특히 전원을 꺼도 data가 남아있는지 여부를 기준으로 나눌 수 있다.SRAM과 DRAM은 volatile memory이고, Flash memory와 Magnetic disk이다.→ volatile memory는 전원이 끊기는 순간 정보가 다 날아간다.💡Volatile memory의 경우 전원이 꺼지면 data..
5. Large and Fast: Exploiting Memory HierarchyMemory Technologies메모리를 구현하기 위해 사용되는 소자에 따라 성능이 결정됨Static Random Access Memory (SRAM)Dynamic Random Access Memory (DRAM)Flash memory (e.g. SSDs)Magnetic disks (e.g. HDDs)💡Access time이 아래로 갈 수록 점점 커진다.모두 다른 전기적 특성을 가지고 만든 것. 특히 전원을 꺼도 data가 남아있는지 여부를 기준으로 나눌 수 있다.SRAM과 DRAM은 volatile memory이고, Flash memory와 Magnetic disk이다.→ volatile memory는 전원이 끊기는 순간 정보가 다 날아간다.💡Volatile memory의 경우 전원이 꺼지면 data..
2023.07.02 -
What Happens Inside a ProcessorProcessor도 digital circuit이므로 datapath와 control이 존재함.Processor MicroarchitectureISA가 동일해도 그것을 구현하는 하드웨어를 구현하는 방식에 따라 달라짐. 소프트웨어를 건드리는 것이 아닌, 하드웨어적인 최적화를 통해서 성능을 높였다면 Microarchitecture를 개선한 것.Microarchitecture와 관련있는 개념이 무엇인가?CPI : 하드웨어 측면에서는 우수함을 평가하는 척도는 clock cycle (하드웨어 측면에서는 clock frequency는 크게 중요하지 않다고 생각함) 그래서 CPI를 줄이는 것이 하드웨어적으로 중요한 choice이다.ISA : 무슨 ISA를 지원할..
4. The ProcessorWhat Happens Inside a ProcessorProcessor도 digital circuit이므로 datapath와 control이 존재함.Processor MicroarchitectureISA가 동일해도 그것을 구현하는 하드웨어를 구현하는 방식에 따라 달라짐. 소프트웨어를 건드리는 것이 아닌, 하드웨어적인 최적화를 통해서 성능을 높였다면 Microarchitecture를 개선한 것.Microarchitecture와 관련있는 개념이 무엇인가?CPI : 하드웨어 측면에서는 우수함을 평가하는 척도는 clock cycle (하드웨어 측면에서는 clock frequency는 크게 중요하지 않다고 생각함) 그래서 CPI를 줄이는 것이 하드웨어적으로 중요한 choice이다.ISA : 무슨 ISA를 지원할..
2023.07.02 -
Why Disks?여전히 가격 차이는 대략 100배 정도→ storage가 RAM보다 저렴하기는 하다.추가적으로 memory는 volatile이지만, disk는 non-volatile이다.그래서 어떻게 구성을 할 것 인가에 대한 고민을 하기 시작함→ 파일이 커져서 모든 파일을 다 RAM에 담을 수 없다.Anatomy of a Disksector들이 partition된 것이 track이다.그리고 각 platter들은 여러 개의 track으로 구분된다.cylinder : 각 platter에 존재하는 동일한 반지름을 가진 track들의 집합💡platter의 윗면/아랫면 모두 다 사용할 수 있다.💡추가적으로 track의 반지름이 다르므로, 1개의 track에 들어가있는 sector의 개수가 다를 수 있다.💡Po..
12. Storage StructureWhy Disks?여전히 가격 차이는 대략 100배 정도→ storage가 RAM보다 저렴하기는 하다.추가적으로 memory는 volatile이지만, disk는 non-volatile이다.그래서 어떻게 구성을 할 것 인가에 대한 고민을 하기 시작함→ 파일이 커져서 모든 파일을 다 RAM에 담을 수 없다.Anatomy of a Disksector들이 partition된 것이 track이다.그리고 각 platter들은 여러 개의 track으로 구분된다.cylinder : 각 platter에 존재하는 동일한 반지름을 가진 track들의 집합💡platter의 윗면/아랫면 모두 다 사용할 수 있다.💡추가적으로 track의 반지름이 다르므로, 1개의 track에 들어가있는 sector의 개수가 다를 수 있다.💡Po..
2023.07.02 -
What is I/O systemFile system과 마찬가지로 I/O 또한 abstraction을 잘 하는 것이 중요하다.단순히 음원을 출력하는 것이라도 다양한 I/O 장치에 대한 입출력이 요구되는 것을 확인할 수 있다. User 입장에서 정확한 procedure를 모르더라도 kernel이 잘 관리해주어야 한다는 측면이 존재한다.이번 챕터에서는 빨간색으로 표시된 I/O와 관련된 것을 다루고자 하는 것. 직접적인 HW access를 통해 I/O access가 되는 상황이다. 여러 I/O 장치를 컨트롤 하기 위해서 I/O bus가 존재한다. 하지만 I/O 별로 속도가 다르다는 문제점이 발생한다.I/O controller는 interrupt 를 통해 CPU와 소통한다.나머지 I/O controller는 자..
11. I/O SystemsWhat is I/O systemFile system과 마찬가지로 I/O 또한 abstraction을 잘 하는 것이 중요하다.단순히 음원을 출력하는 것이라도 다양한 I/O 장치에 대한 입출력이 요구되는 것을 확인할 수 있다. User 입장에서 정확한 procedure를 모르더라도 kernel이 잘 관리해주어야 한다는 측면이 존재한다.이번 챕터에서는 빨간색으로 표시된 I/O와 관련된 것을 다루고자 하는 것. 직접적인 HW access를 통해 I/O access가 되는 상황이다. 여러 I/O 장치를 컨트롤 하기 위해서 I/O bus가 존재한다. 하지만 I/O 별로 속도가 다르다는 문제점이 발생한다.I/O controller는 interrupt 를 통해 CPU와 소통한다.나머지 I/O controller는 자..
2023.07.02 -
Motivation예전에는 storage가 비쌌음. 어떻게 stroage를 관리할 것인가에 대한 issue. 특히 1990년대 이후에는 멀티미디어 파일을 관리해야하는데, 이에 대한 metric은 끊기지 않고 가져와야하는 것으로 바뀜. 그리고 현대에는 큰 데이터를 다뤄야하는 문제가 발생하게 됨→ 즉, 시대가 변함에 따라 optimal한 기준이 바뀌게 됨추가적으로 file system은 잘못만들면 파일이 날라가는 critical한 문제가 있음. 그래서 따른 OS 영역보다 천천히 발전됨. (Robustness에 대해 계속 검증이 이뤄짐)→ OS 입장에서는 file system이 바뀌어도 코드를 안바뀌고 싶음. 그래서 등장한 개념이 virtual file system💡추가적으로 process management..
10. File SystemMotivation예전에는 storage가 비쌌음. 어떻게 stroage를 관리할 것인가에 대한 issue. 특히 1990년대 이후에는 멀티미디어 파일을 관리해야하는데, 이에 대한 metric은 끊기지 않고 가져와야하는 것으로 바뀜. 그리고 현대에는 큰 데이터를 다뤄야하는 문제가 발생하게 됨→ 즉, 시대가 변함에 따라 optimal한 기준이 바뀌게 됨추가적으로 file system은 잘못만들면 파일이 날라가는 critical한 문제가 있음. 그래서 따른 OS 영역보다 천천히 발전됨. (Robustness에 대해 계속 검증이 이뤄짐)→ OS 입장에서는 file system이 바뀌어도 코드를 안바뀌고 싶음. 그래서 등장한 개념이 virtual file system💡추가적으로 process management..
2023.07.02 -
Motivating Examplen의 주소를 출력하는 예시만약 두 사람이 동일한 프로그램을 동시에 실행 시켰다고 했을 때 결과가 어떻게 되는가?결과가 같다.출력되는 주소는 physical memory가 아니라 logical(virtual) memory이다. 즉 누가 수행하더라도 동일한 logical address가 출력되게 된다. 즉 programmer입장에서는 logical address만 다루게 된다.💡logical address는 compile하는 과정에서 이미 결정되어 있다.Virtual AddressesProcess의 address space는 virtual(logical) address이다. physical address와는 별개이다. logical address는 cpu architectur..
9. Virtual MemoryMotivating Examplen의 주소를 출력하는 예시만약 두 사람이 동일한 프로그램을 동시에 실행 시켰다고 했을 때 결과가 어떻게 되는가?결과가 같다.출력되는 주소는 physical memory가 아니라 logical(virtual) memory이다. 즉 누가 수행하더라도 동일한 logical address가 출력되게 된다. 즉 programmer입장에서는 logical address만 다루게 된다.💡logical address는 compile하는 과정에서 이미 결정되어 있다.Virtual AddressesProcess의 address space는 virtual(logical) address이다. physical address와는 별개이다. logical address는 cpu architectur..
2023.07.02 -
Memory Management왜 memory management를 고민해야하는가?기본적으로 여러 개의 process를 concurrent하게 돌려야 한다.Multiprogramming의 요구사항은 무엇인가?Protection : 한 프로세스가 다른 프로세스의 메모리 공간을 건드려서는 안됨💡paging의 경우에는 해당 process에 대응되는 frame만 page table을 통해 접근이 가능하므로 protection issue가 해결이 된다.메모리 하드웨어를 적절한 시점에 업데이트를 해줘야함 (주소 변환/ 보호이슈). 따라서 이 작업이 효율적으로 수행되어야 함.Memory management의 정의는 무엇인가?여러 개의 프로세스가 OS와 하드웨어 에 의해 메인 메모리에 존재할 수 있게끔 하는 작업이다...
8. Memory ManagementMemory Management왜 memory management를 고민해야하는가?기본적으로 여러 개의 process를 concurrent하게 돌려야 한다.Multiprogramming의 요구사항은 무엇인가?Protection : 한 프로세스가 다른 프로세스의 메모리 공간을 건드려서는 안됨💡paging의 경우에는 해당 process에 대응되는 frame만 page table을 통해 접근이 가능하므로 protection issue가 해결이 된다.메모리 하드웨어를 적절한 시점에 업데이트를 해줘야함 (주소 변환/ 보호이슈). 따라서 이 작업이 효율적으로 수행되어야 함.Memory management의 정의는 무엇인가?여러 개의 프로세스가 OS와 하드웨어 에 의해 메인 메모리에 존재할 수 있게끔 하는 작업이다...
2023.07.02