목차
1. 서론
3. 본문 내용 요약 설명
3. 결론
4. 출처 및 참고문헌
3. 본문 내용 요약 설명
3. 결론
4. 출처 및 참고문헌
본문내용
다. 왜냐하면 두 함수는 모두 시스템 콜이라기보다는 라이브러리 콜 library call이기 때문이다. 따라서 malloc 라이브러리는 당신이 만들고자 하는 가상의 공간에 대한 관리를 시행할 수 있지만, 기본적으로는 이보다 더 많은 것들을 할 수 있는 시스템 콜을 기초로 그 위에 만들어진 인터페이스라는 것이다.
이와 같은 시스템 콜에는 brk 와 같은 것들이 있다. 이 시스템 콜은 프로그램의 한계를 변환break 시켜 주는 역할을 한다. 다시 말해 메모리 데이터 섹션의 한계를 변경하는 기능을 수행할 수 있다는 것이다. 이와 비슷한 역할을 하는 시스템 콜로 sbrk가 있다. 이러한 시스템 콜을 사용하는 것은 매우 자제해야 하는 일 중 하나이다. 이러한 시스템 콜을 사용할 일이 있다면 프로그래머는 시스템 콜을 직접 사용하는 것보다는 malloc 함수와 free 함수를 통해 간접적으로 사용하여야 한다.
마지막으로 프로그래머는 운용체제 operating system으로부터 직접 메모리를 얻을 수 있게끔 하는 mmap ()함수를 사용할 수 있는데, 여기서 가져온 메모리는 아무런 이름이 없어서 anonymous 여러 가지 역할을 수행할 수 있는 메모리로 운용할 수 있다.
14.6 Other Calls
라이브러리 함수를 이용한 메모리 할당 호출 방법은 malloc () 함수 외에 calloc () 함수와 같은 호출 방법이 있다. malloc 함수와 calloc 함수의 차이점은 우리가 살펴본 malloc 함수는 할당된 공간의 값을 바꾸지 않으나 calloc 함수는 바꾼다는 차이점이 있다. 모든 반환 값을 0으로 바꿔버리는 함수인 것이다. 당연히 배열을 할당 후 모두 0으로 초기화 값으로 만든 후 시스템을 시작시키려고 하는 프로그래머에게 유용한 방법이다.
이외에도 realloc () 함수 같은 예도 있다. 이 경우는 이미 할당된 공간에 추가로 공간을 할당하고자 할 때 유용하게 사용할 수 있다.
결론
지금까지 살펴본 메모리 할당 방법과 회수 방법은 가장 기초적인 부분이라고 할 수 있다. 앞서 언급했던 것처럼 컴퓨터는 기본적으로 기계어를 사용하여 프로그래밍이 되며, 이와 같은 기계어를 사람이 이해하고 다룰 수 있게끔 만들어 주는 것이 C 언어와 같은 프로그래밍 언어라는 것을 살펴보았다. 더 나아가 C언어를 사용하여 소프트웨어나 프로그램 등을 만들기 위해서는 컴퓨터의 메모리를 할당하는 것이 가장 중요한 것 중 하나라는 것을 우리는 알게 되었고 그 방법적인 부분과 일어나기 쉬운 문제점들을 살펴보았다.
우리가 살아가는 일상생활에서 컴퓨터를 빼놓고는 더는 살아가기 힘들 정도가 되었으며, 이러한 컴퓨터를 본격적으로 다루고자 한다면 프로그래밍 언어는 반드시 알아야 하는 필수 요소가 되었다는 것이다. 따라서 본 글에서 살펴본 malloc 함수와 같은 인터페이스들은 프로그래밍 기초가 된다는 점에서 매우 유용하며 또 중요하다고 할 수 있겠다.
4. 출처 및 참고문헌
https://pages.cs.wisc.edu/~remzi/OSTEP/vm-api.pdf
이와 같은 시스템 콜에는 brk 와 같은 것들이 있다. 이 시스템 콜은 프로그램의 한계를 변환break 시켜 주는 역할을 한다. 다시 말해 메모리 데이터 섹션의 한계를 변경하는 기능을 수행할 수 있다는 것이다. 이와 비슷한 역할을 하는 시스템 콜로 sbrk가 있다. 이러한 시스템 콜을 사용하는 것은 매우 자제해야 하는 일 중 하나이다. 이러한 시스템 콜을 사용할 일이 있다면 프로그래머는 시스템 콜을 직접 사용하는 것보다는 malloc 함수와 free 함수를 통해 간접적으로 사용하여야 한다.
마지막으로 프로그래머는 운용체제 operating system으로부터 직접 메모리를 얻을 수 있게끔 하는 mmap ()함수를 사용할 수 있는데, 여기서 가져온 메모리는 아무런 이름이 없어서 anonymous 여러 가지 역할을 수행할 수 있는 메모리로 운용할 수 있다.
14.6 Other Calls
라이브러리 함수를 이용한 메모리 할당 호출 방법은 malloc () 함수 외에 calloc () 함수와 같은 호출 방법이 있다. malloc 함수와 calloc 함수의 차이점은 우리가 살펴본 malloc 함수는 할당된 공간의 값을 바꾸지 않으나 calloc 함수는 바꾼다는 차이점이 있다. 모든 반환 값을 0으로 바꿔버리는 함수인 것이다. 당연히 배열을 할당 후 모두 0으로 초기화 값으로 만든 후 시스템을 시작시키려고 하는 프로그래머에게 유용한 방법이다.
이외에도 realloc () 함수 같은 예도 있다. 이 경우는 이미 할당된 공간에 추가로 공간을 할당하고자 할 때 유용하게 사용할 수 있다.
결론
지금까지 살펴본 메모리 할당 방법과 회수 방법은 가장 기초적인 부분이라고 할 수 있다. 앞서 언급했던 것처럼 컴퓨터는 기본적으로 기계어를 사용하여 프로그래밍이 되며, 이와 같은 기계어를 사람이 이해하고 다룰 수 있게끔 만들어 주는 것이 C 언어와 같은 프로그래밍 언어라는 것을 살펴보았다. 더 나아가 C언어를 사용하여 소프트웨어나 프로그램 등을 만들기 위해서는 컴퓨터의 메모리를 할당하는 것이 가장 중요한 것 중 하나라는 것을 우리는 알게 되었고 그 방법적인 부분과 일어나기 쉬운 문제점들을 살펴보았다.
우리가 살아가는 일상생활에서 컴퓨터를 빼놓고는 더는 살아가기 힘들 정도가 되었으며, 이러한 컴퓨터를 본격적으로 다루고자 한다면 프로그래밍 언어는 반드시 알아야 하는 필수 요소가 되었다는 것이다. 따라서 본 글에서 살펴본 malloc 함수와 같은 인터페이스들은 프로그래밍 기초가 된다는 점에서 매우 유용하며 또 중요하다고 할 수 있겠다.
4. 출처 및 참고문헌
https://pages.cs.wisc.edu/~remzi/OSTEP/vm-api.pdf
추천자료
표본설계, 실사조사, 프리젠테이션
자기주도적 학습능력 신장방안
C#요약 레포트
[학습능력][음악과교육][도덕과교육][기술가정과교육]자기주도적학습능력, 창의적학습능력, ...
멀티미디어활용교육(멀티미디어활용수업)의 의미와 조건, 멀티미디어활용교육(멀티미디어활용...
코원(COWON) 마케팅사례분석 및 새로운 마케팅전략제안 보고서
사정의 실무와 사정의 분류 및 사정의 실제 사례 - 알코올중독환자의 사례
도덕심리학 이론 - 배려윤리에 관한 보고서 - 전통적인 남성 중심의 윤리관과 새롭게 등장한 ...
자연자원의이해C형 2019년}1해설 프로그램이 진행된 시설에 대한 설명 2 참여한 해설 프로그...
소개글