목록2024/01/18 (3)
Machineboy空
#1152 단어의 개수 while(cin>>s) n++;//입력값이 없을 때까지 반복 아직 printf나 scanf를 잘 활용하지 못하겠다. cin >> A >> B >> C 공백 기준 getline(cin,t) '\n' 기준 #2908 문자열 뒤집기 string a; int b; b = stoi(a);//문자열 숫자로 받기 stoi(string); : 문자열 아스키 코드아닌 숫자로 변환 #5622 다이얼 My 풀이) 번호마다 할당된 문자의 개수가 일정하지 않아서 개수 누적한 배열 만든 후, 어디에 위치할지 선택정렬로 비교하며 위치를 찾았다. 남의 풀이) 할당된 문자의 마지막 문자와 입력 문자의 대소 비교 통해 위치 찾아냄 #import char a; int b; main() { while (std::c..
연속 메모리 할당의 두 가지 문제점 외부 단편화 (빈 공간들이 파편화되어 있어 활용도가 낮은 것) 물리 메모리보다 큰 프로세스 실행 불가 가상 메모리란? 실행하고 싶은 프로그램을 일부만 메모리에 적재해서 실제 물리 메모리 보다 큰 프로세스을 실행할 수 있는 기술 방법: 페이징, 세그멘테이션 페이징(Paging) 외부 단편화가 발생했던 근본적인 문제? 각기 다른 크기의 프로세스가 메모리에 연속적으로 할당되었기 때문 모든 프로세스의 크기가 같다면, 외부단편화가 발생하지 않을 것 따라서, 프로세스를 일정 크기로 자르고 이를 메모리에 불연속적으로 할당할 수 있다면? 프로세스의 논리 주소 공간을 페이지(page)라는 일정 단위로 자르고 메모리의 물리 주소 공간을 프레임(frame)이라는 페이지와 동일한 일정 단위..
가장 일반적인 메모리 관리 방식 : 연속 메모리 할당 연속메모리 할당에서 프로세스 배치 방식 연속 메모리 할당의 부작용 운영체제의 메모리 관리 기능 중 스와핑(Swap) 현재 사용되지 않는 프로세스들을 보조기억장치의 일부 영역(swap 영역)으로 쫓아내고 그렇게 생긴 빈 공간에 새 프로세스를 적재 효율적으로 메모리 관리 swap out: 메모리에서 스왑영역으로 쫓아내는 것 swap in: 스왑 영역에서 메모리로 다시 적재 프로세스들이 요구하는 메모리 공간 크기 > 실제 메모리 크기 일 때도 프로세스를 실행할 수 있다. 연속 메모리 할당 프로세스는 메모리의 빈 공간에 할당되어야 한다. 빈 공간이 여러 개 있다면? 연속 메모리 할당의 방법: 어떤 빈 공간에 어떻게 할당할지 최초 적합(first-fit) 빈공..