목록2023/05/23 (4)
HJW's IT Blog
#Polygon > 선분들로 이루어진 닫혀진 도형 > n 개의 점 (x1,x2,...,xn) 과 n개의 선분 {ei|ei=(xi,x(i+1) and x(n+1)=x}가 다음 조건을 만족해야 한다 >> 두 선분 ei 와 e(i+1) 이 만나는 점은 v(i+1) 뿐 >> 그 외 다른 선분들은 만나지 않는다. > Convex Polygon ( 볼록 폴리건 ) >> 모든 내각 n 개의 점이 주어졌을 때, 이 점을 모두 포함하는 가장 작은 볼록 다각형 >> 만들어진 볼록 다각형 안의 두 점을 잇는 직선은 항상 다각형 안에 있다. #Brute-Force > 가장 y 좌표가 작은 점을 기준점으로 다른 모든 점이 선분 (u,v)의 왼쪽으로 가는 점 v를 찾는다. > v에..
Paging 이란? > 프로세스를 작은 고정크기의 partition을 나누는 것을 말한다 >> Physical Memory의 이 공간을은 frame 이라 부른다 >> Page size = frame size >> 전체 프로세스는 여전히 메모리에 로드되어 있다 >> 하지만 연속적일 필요는 없다 >> 가상 주소는 페이지 수와 페이지의 시작에 offset으로 구성된다. > Segmentation이랑 비교 했을 때 paging 은 >> 할당과 swapping 이 더 쉽다 >> No external fragmentation Paging 구현 > Page Table 은 특정 프로세스의 모든 페이지를 기록 >> 각 entry는 메인 메모리에 있는 알맞는 frame을 가지고 있다 >> Protection bit 을 가..
Segementation 기본 개념 > 프로세스를 메모리 내에서 여러 segement로 나눈다 > 각 segement는 분명한 목적이 존재: >> 예) code, static data, heap, stack >> Segement 는 다른 크기일 수 있다 > 전체 프로세스는 여전히 메모리에 로드 되어 있지만, 그 프로세스를 구성하는 segment들은 연속적으로 메로리에 올라가지 않아도 된다 > Segment는 protection bit 을 가진다 >> Read-only (code) >> Read-write (data, heap, stack) >> 프로세스들이 코드와 데이터를 공유할 수 있게 해준다. Segment Address > Segment의 가상 주소는 다음으로 이루어 진다 >> Segment Num..
> MMU는 주소공간을 보호하고, 가상 주소로 변환한다(Translation) >> Base register는 프로세스의 최하위 가상 주소를 가지고 있다 (loader가 정함) >> Limit register는 프로세스의 최상위 가상 주소를 가지고 있다 (compiler가 정함) >> Translation 이란? >>> Physical addr = Virtual addr + base reg >> Protection 이란? >>> if (virtual addr > limit) ~>address exception으로 OS에 가두어 둔다 Dynamic Relocation - OS vs. User Programs > User program(aka. process) 는 각자의 가상 메모리를 가진다 >> Reloc..