system call, /proc, ioctl 이 세가지 중 어떤 방법이 가장 빠른

sr97의 이미지

user level의 application program과 kernel module을 같이 제작했습니다.
이제 kernel module에서 application program으로 정보를 제공해야 합니다.
정보의 제공은 application program의 요청에 따라 kernel module이 제공하는 방식입니다.

kernel module과 application program이 통신하는 방법은 제가 알기로
system call interface와 /proc file system, ioctl등의 방법이 있는데
이 세가지중 어떤 방식이 가장 빠른지 궁금합니다.

물론 각 방식은 나름대로의 용도가 존재한 다는 것은 알고 있지만
application program과 kernel module간의 정보 교환 속도가 문제가 되서요..
되도록이면 가장 속도가 빠른 방법을 사용하고자 합니다.

고수님들의 답변 부탁드리겠습니다.

hb_kim의 이미지

세가지 방법 다 응답속도에 별 차이는 없습니다.

빠른 속도라 하셨는데 이것이 응답속도인지 입출력 대역폭인지 모호하군요. 전송해야할 정보의 특성에 대해 자세히 설명하시면 좀더 정확한 답변을 얻으실수 있을것입니다.

charsyam의 이미지

sr97 wrote:
user level의 application program과 kernel module을 같이 제작했습니다.
이제 kernel module에서 application program으로 정보를 제공해야 합니다.
정보의 제공은 application program의 요청에 따라 kernel module이 제공하는 방식입니다.

kernel module과 application program이 통신하는 방법은 제가 알기로
system call interface와 /proc file system, ioctl등의 방법이 있는데
이 세가지중 어떤 방식이 가장 빠른지 궁금합니다.

물론 각 방식은 나름대로의 용도가 존재한 다는 것은 알고 있지만
application program과 kernel module간의 정보 교환 속도가 문제가 되서요..
되도록이면 가장 속도가 빠른 방법을 사용하고자 합니다.

고수님들의 답변 부탁드리겠습니다.

속도는 모르겠지만, 개인적으로 System Call Interface 를 이용하는 것은
좋은 방법이 아니라고 생각합니다. ioctl 이나 proc가 좀더 범용적인 방법이
아닐까요? System Call Interface는 커널의 재 컴파일이 필요로 하게 되는데
이런 점이 별로 좋은 부분이 아니라는 고운 하루되세요.

=========================
CharSyam ^^ --- 고운 하루
=========================

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.