리눅스 멀티프로세서 관련 질문드려요

legotopboy의 이미지

안녕하세요~

학부생인데 리눅스 멀티프로세 관련 과제중인데 아직 감이 안잡혀서 도움을 청합니다 ㅠ

일단 소스파일 2개 (prate.c, pmanipulator.c)로 구현합니다.

명세는 다음과 같습니다.

커맨드 창에 3개의 파라미터 -> prate <-p percentage> -d플래그 그리고 이라고 실행시키면

prate는 1. fork() 자식 프로세스를 생성하고

자식 프로세스는 exec pmanipulator 실행한다.
(한번에 생성될 수 있는 최대 프로세스 갯수는 5개)

2. wait() 함수 사용
자식 프로세스가 종료하면,
-d옵션에 따라 자식 프로세스의 결과를 기록한다.

3. number_of_process 수만큼(1, 2반복)

4. 최종 결과(percentage)를 출력한다.

pmanipulator는 1. percentage에 따라 success 또는 failure를 리턴한다.
입니다.

경우에 따라,

pmanipulator에게 percentage, -d 넘겨주고,
pmanipulator에서 success/fail 출력하는 것도 가능합니다.


예)> prate -p 30 -d 4

PID 8686 returned failure
PID 8787 returned success
PID 6868 returned failure
PID 9868 returned failure

Created 4 process
success : 25 %
failure : 75 %

----------------------------

제 질문은요

(1)
1. 에서 자식프로세서에서 pmanipulator를 어떻게 실행시키는건지 모르겠습니다.
execl("pmanipulator.c") ?? 이런식인가요?....
어떻게 실행시키는지 알고 싶습니다.

(2)

prate에서 fork로 자식프로세스를 만들고 자식프로세스가 죽으면 WEXITSTATUS 함수로
부모프로세서에게 success 또는 failure를 리턴한다. 이것을 number_of_process만큼 반복문으로 구성하면
되는 건가요??

(3)

부모프로세서에서 fork 호출후 자식프로세서에서 execl pmanipulator를 실행하는데 이 때 부모프로세서에서

자식의 execl pmanipulator에게 값을 넘겨주려면 어떻게 해야하나요?


---------------------
리눅스 멀티프로세서는 처음이라 궁금한게 많습니다. ㅠ 꼭 도움 부탁드릴게요. 감사합니다 !

댓글 달기

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