페이징의 문제점 - 모든 명령어를 fetch 후 load,store 과정(메모리에 접근해서 해야함)을 거치는게 매우 속도측면에서 느리다.( = 주소 변환과정이 속도가 느리다.) - extra memory reference의 오버헤드 어떻게 주소 변환 과정을 빠르게 할 수 있을까? extra memory reference의 오버헤드를 줄일 수 있을까? = TLB 하드웨어를 사용한다.(Address-Traslation Cache라고도 함.) 가상 메모리에 접근할 때 먼저 TLB를 방문. page table을 방문하지 않고. 따라서 TLB를 사용하지 않으면 효율이 매우 떨어짐. TLB의 control flow algorithm 변환 결과 테이블 - 매번 주소를 변환하는 대신 변환 결과를 테이블에 저장하여 사용..
Paging page frame : 물리 메모리 공간을 일정한 간격으로 잘라 페이지에 끼워넣을 수 있게하는 단위. segmentation에서 발생하는 문제를 해결할 수 있음. paging의 장점 유연성이 높음 : 고정된 크기로 사용하기 때문에 단순하게 사용가능. 배열로 생각하면 된다. 단순함 : 가상 메모리 공간을 물리 메모리 공간에 배치. 물리 메모리 공간의 빈 영역을 어떻게 잘 관리할 것 인가를 해결. 무슨 말인지 잘 모르겠음. 주소 변환 가상 페이지가 프로세스에게 사용되고 있을 때, 물리적인 프레임에 할당 하는 것. page table을 이용해 사용. 하나의 프로세스마다 독립된 Page table이 존재. (위의 그림 참고)64byte의 프로세스 A의 가상공간이 존재. 4개의 페이지가 존재.(=> ..
paging : 고정된 크기의 메모리 공간으로 나눠 필요한 공간을 할당하는 방법. => segmentation : 가변적인 길이의 공간으로 나눠 할당. => 요청하는 사이즈가 다 다르기 때문에 유연하게 대처가능. 구현이 어려움. fregmentation이 발생. external fragmentation이 발생하면 single contiguous 공간이 발생. 중간에 할당은 불가능. 시간과 공간 오버헤드를 고려해야 한다. malloc 과 free 함수 Free List free할 리스트들을 관리하는 라이브러리가 관리의 대상이 되는 힙. 힙안에 링크드 리스트 같은 리스트를 만들어 관리. compation 한번 메모리에 전달이 되면 재배치를 하지 않는다. 세그멘테이션과 같이 구현할 경우 compation을 같..
1.What are the design goals of memory virtualization in the pre-class? - 운용체제가 메모리 가상화를 사용하는 이유는 사용하기 쉽게 시스템(프로세스가 동작할 수 있는 환경)을 제공하기 위해서 이다. 작은 메모리에 여러 프로세스를 담기보다는 가상의 연속된 주소 공간을 이용해 걱정없이 프로세스의 정보를 담고, 찾을 수 있게 하기 위해서 이다. 2. Explain The Principle of Isolation. - 고립이란, 한 프로세스가 다른 프로세스에 침범하지 않게 하는 것이다. 서로에게 피해를 주지 않도록하는 원칙으로, 다른 운영체제에도 플러그인처럼 적용이 가능하다. 3. Explain double free and dangling pointer. ..
어떻게 메모리를 할당하고 관리할 수 있을까? 메모리 할당. 1.스택 : automatic memory, 암묵적으로 컴파일러가 관리. 2.힙 : 할당과 해제가 프로그래머에 의해 일어나기 때문에 버그가 많을 수 있음. malloc() 함수 호출, free선언 malloc 사용에 공통적인 에러 1.segfault : 허용이되지 않은 주소에 접근하려고 할때 발생. 2.할당해주는 것을 까먹음. 3.메모리 해제를 해주지 않음. dangling pointer - 포인터가 가리키는 대상이 비어있음. double free - free함수를 여러번 호출. invalid free - malloc으로 얻은 주소를 free에 주는데 잘못된 주소를 전달하는 경우.
1. What are the design goals of memory virtualization in the pre-class? 운용체제가 메모리 가상화를 사용하는 이유는 사용하기 쉽게 시스템(프로세스가 동작할 수 있는 환경)을 제공하기 위해서 이다. 작은 메모리에 여러 프로세스를 담기보다는 가상의 연속된 주소 공간을 이용해 걱정없이 프로세스의 정보를 담고, 찾을 수 있게 하기 위해서 이다. 2. Explain The Principle of Isolation. 고립이란, 한 프로세스가 다른 프로세스에 침범하지 않게 하는 것이다. 서로에게 피해를 주지 않도록하는 원칙으로, 다른 운영체제에도 플러그인처럼 적용이 가능하다. 3.Explain double free and dangling pointer. 4.Wh..
1. Discuss pros and cons of segmentation. 2.Search and understand classic algorithms to resolve external fragmentation, i.e., best-fit, worst-fit, and first-fit. 3.Try to write a heap (not a data structure but a set of free list) implementation in C. The full implementation needs not to be submitted, but you can suggest a C struct definition. 4. Discuss pros and cons of buddy allocation. 7-2 seg..
메모리 관리 인터페이스에 대해 배워보자. 어떻게 메모리를 할당하고 관리해야 하는가. 메모리 공간의 종류 1.스택 스택 메모리에서 할당과 반환은 프로그래머를 위해 컴파일러에 의해 암묵적으로 이루어진다. 이러한 이유 때문에 자동 메모리라고 불린다. 예를 들어 func() 함수안에 x라는 정수 공간이 필요하다고 하자. void func(){ int x; .... } 컴파일러가 나머지 작업을 수행하고, func()가 호출될 때 스택에 공간을 확보한다. 함수에서 리턴하면 컴파일러는 프로그래머 대신에 메모리를 반환한다. 함수 리턴 이후에도 유지되어야 하는 정보는 스택에 저장하면 안된다. 스택에 저장된 정보는 컴파일러에 의해 자동으로 반환되기 때문이다. 사용자 의도대로 공간을 확보하고, 리턴하려면 힙에 할당해야한다...
멀티프로그래밍 여러 프로세스가 실행 준비상태에 있고 운영체제는 그들을 전환하면서 실행하였다. 예를 들어 한 프로세스가 입출력을 실행하면, CPU는 다른 프로세스로 전환하여 CPU 이용률을 증가시켰다. 다음으로 시분할 개념이 사용되었다. 위와 같은 시간이 오래 걸리는 일괄처리방식(batch method)에 한계를 느꼈기 때문이다. 대화식 이용을 통한 즉각적인 응답을 원했다. 시분할 방식은 하나의 프로세스를 짧은 시간동안 모든 메모리(아래 그림)에 접근 권한을 준 상태로 실행시키는 것이다. 시간이 지나면 다음 프로세스를 탑재하여 실행하는 방식이다. 프로세스를 교환하는 과정(문맥교환)에서 메모리에 레지스터 상태를 저장하는 건 빠르지만 메모리의 정보를 디스크에 저장하는 건 느렸다. 그래서 프로세스 전환 시 프로..
메모리 가상화 지금까지 CPU 가상화에 대해 공부했다. 이번엔 더 중요한 메모리 가상화를 공부해보자. 일단 프로세스가 생성하는 모든 주소는 가상주소이다. 운영체제는 하드웨어의 도움을 받아 프로세스가 많은 메모리를 할당 받은 것처럼 보이게 한다. 그리고 가상 주소를 실제 물리 주소로 변환하고 원하는 정보의 위치를 찾을 수 있다. 운영체제가 가상 주소를 사용하는 이유는 사용하기 쉽게 시스템을 제공하기 위해서 이다. 작은 메모리에 여러 프로세스를 담기보다 가상의 연속된 주소 공간을 이용해 걱정 없이 프로세스의 정보를 담고, 찾을 수 있게 하기 위해서이다. 앞에서 배운 것 처럼 컴퓨터는 멀티 프로그래밍 능력이 필요해졌고, 작업시간 단축을 위해 프로세스를 실행상태, 준비 상태로 나누어 CPU를 효율적으로 사용하게..
- Total
- Today
- Yesterday
- json2html
- cuckoo
- Ethernet
- PCA
- SVM
- 회귀
- CAN-FD
- 차량용 이더넷
- automotive
- AE
- 로지스틱회귀
- one-to-many
- 딥러닝
- 머신러닝
- many-to-one
- AVB
- 케라스
- SOME/IP
- AVTP
- Python
- problem statement
- porks
- 크로스 엔트로피
- 논문 잘 쓰는법
- 단순선형회귀
- automotive ethernet
- 이상탐지
- 차량 네트워크
- HTML
- many-to-many
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |