리눅스/윈도우 커널의 메모리 관리는 프로그램 버그에 의한 누수

송효진의 이미지

제작한 프로그램에 버그가 있어서 메모리 누수현상이 생겼을 시,
해당 프로그램을 종료하면 메모리의 완전한 반환이 보장되나요?
강제종료를 시켜도 메모리가 반환되지 않는 경우가 있습니까?

요새 메모리 부족에 시달리다가 문득 의문이 생겨서 질문드립니다.
(그걸 안다고 달라지는건 없지만;)

powerson의 이미지

kernel 영역에서 수행되는 드라이버 모듈들은 반환되지 않는 걸로 알고 있습니다. 반면에 user 영역에서 수행되는 어플리케이션의 경우에는 커널에서 관리하기 때문에 모두 반환될 것입니다.

아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.

------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.

송효진의 이미지

감사합니다.
그럼 저는 맘 놓고 버그를 양산...===3=3

emerge money

talpo의 이미지


최대한 방어 프로그래밍 하세요 :)

hey의 이미지

저는 당연히 직감적으로 윈도우도 그런 식으로 동작할 거라고(어떤 논리가 있다기 보다는 '이론적으로 할 수 있는데 하겠지?'라는 수준에서) 생각하고 있었는데, 클라이언트 프로그래머들이 전부 다 '메모리를 반환하지 않고 죽으면 릭이 남는다'라고 말하고 있더라고요. 그래서 윈도우를 잘 알지도 못하는 상황이라 가만히 있었습니다만.. 설마 그렇게 만들었으려고?

May the F/OSS be with you..



----------------------------
May the F/OSS be with you..


powerson의 이미지

윈도우에서도 물론 OS에서 메모리 관리를 하니 반환을 한다고 알고 있습니다. 하지만, Professional과 같은 개인 버전에서는 100% 보장을 못하는걸로 알고 있습니다.(참고로 저 리눅스 질럿 아니니.. 오해 마세요~) 그래서 가끔 메모리 어쩌고 저쩌고 하는 에러메세지들이 나오는게 아닐까요? 또한 어쩔때는 메모리가 모자르다고 나올때도 있는 이유가 아닐까 생각됩니다.

아무튼 말하는 요는 윈도우든 리눅스든 OS에서 제공하는 메모리 관리 시스템을 믿는것도 좋지만, 가급적이면, malloc/free를 잘 해서 메모리 릭을 최소화 시켜야겠지요.

송효진 wrote:

그럼 저는 맘 놓고 버그를 양산...===3=3

ㅎㅎ 서버 프로그램을 만드실 경우에는.. 그걸로 인해서 죽어버릴지도요.. ^^

아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.

------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.

hey의 이미지

아.. 개인 버전에선 그렇군요. 도움이 되었습니다. 고맙습니다.

May the F/OSS be with you..



----------------------------
May the F/OSS be with you..


댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.