이론 공부 내용 정리38 0. c++라이브러리 <string> 알고리즘 문제를 풀면서 사용했을 때 편리한 라이브러리들과 그 사용법을 기록해 두려고 한다. 1. String Library 문자열 조작에 필요한 함수가 들어 있는 클래스이다. #include //으로 선언 1) string 초기화 1 2 3 4 5 6 7 8 9 10 11 //선언과 동시에 초기화 string str1 = "s1"; string str2("s2"); //선언과 초기화 각각 string str4; str4.assign("s4"); //동적 할당 string *pstr5 = new string("s5"); delete pstr5; cs 2) 해당 문자열의 크기 반환 1 2 3 4 //size와 length 모두 동일하게 문자열 크기 반환.(공백 문자 포함) string str1 = "s1";.. 2022. 7. 1. OS-가상메모리2(요구 페이징, 페이지 부재) 보호되어 있는 글 입니다. 2021. 7. 25. OS-가상메모리1(용어 정의 및 특징 정리) 목적 : 다중 프로그래밍의 실현으로 인한 물리 메모리 용량의 한계 및 불필요한 프로그램 존재로 인한 문제(프로세스 메모리 영역간 침범 이슈)를 해결하기 위해 만들어졌다. 정의 : 프로세스 전체가 메모리 내에 올라오지 않더라도 실행이 가능하도록 하는 기법. (폰노이만 구조 기반이므로 코드는 메모리에 반드시 있어야 함) = 필요한 부분만 메모리에 올림으로써 메인 메모리에 올라가는 프로세스의 크기 줄이기 1. 특징 실제 사용하는 메모리는 작다는 점에 착안됨. 프로세스간 공간 분리로, 프로세스 이슈가 전체 시스템에 영향을 주지 않을 수 있음 → 작은 메모리를 갖고 큰 가상 주소 공간을 프로그래머에게 제공 가능. 프로세스는 가상주소, 실제 해당 주소에서 데이터를 읽고 쓸 때만 물리 주소로 바꿔준다. (MMU : .. 2021. 7. 19. OS-메모리 관리 전략 목적 : 메모리 용량이 증가함에 따라 프로그램의 크기가 계속 증가하고 있어서 메모리가 언제나 부족하기 때문. 정의 : 제한된 물리 메모리의 효율적 사용과 메모리 참조 방식을 제공하기 위한 전략. 효과적 메모리 사용을 위한 방법 메모리 낭비 방지 동적 적재(Dynamic Loading)모든 루틴과 데이터는 항상 사용하지 않고, 실행 시 필요하다면 해당 부분을 메모리에 적재. 프로그램 실행에 반드시 필요한 루틴과 데이터만 적재하는 기법. 동적 연결(Dynamic Linking) - 설명 추가 예정. 라이브러리 루틴연결을 컴파일 시점에 하는 것이 아닌 실행 시점가지 미루는 기법. 스와핑(Swapping)메모리 공간 확보는 효율적.-스와핑의 순서- 시스템은 실행 준비가 끝난 프로세스들을 준비완료 큐에 대기시킨다.. 2021. 7. 19. 이전 1 ··· 5 6 7 8 9 10 다음