데드락 탐지에 대해 질문드립니다.

kdnmih의 이미지

안녕하세요

지금 영어로 수업을 듣는 상황인데 이해가 안되서...정말 정밀 미칠것 같습니다.
주제는 deadlock detection 입니다.
제가 이해할 수 있게 조금만 도와주시면 안될까요ㅠㅠ?

아래 파일 두개를 첨부했습니다.
resource.txt는 자원을 나타내고 simpledeadlock 파일은 프로세스들을 의미합니다.

교제가 똑같은 강의 자료를 찾아서 알고리즘을 아래적어보았습니다.
데드락 검출 알고리즘
1. 할당 행렬 A에서 행의 값이 모두 0인 프로세스를 우선 표시한다.
2. 임시 벡터 W 를 만든다. 그리고 현재 사용 가능한 자원의 개수(결국 가
용 벡터 V 의 값)를 벡터 W 의 초기값으로 설정한다.
3. 표시되지 않은 프로세스들 중에서 수행 완료 가능한 것이 있으면 (요청
행렬 Q에서 특정 행의 값이 모두 W보다 작은 행에 대응되는 프로세스)
이 프로세스를 표시한다. 만일 완료 가능한 프로세스가 없으면 알고리즘
을 종료한다.
4. 단계 3의 조건을 만족하는 행을 Q에서 찾으면, 할당 행렬 A에서 그 행에
대응되는 값을 임시 벡터 W에 더한다. 그리고 3 단계를 다시 수행한다.

위 알고리즘을 이해 해야 되는데 아무리 해봐도 어떻게 되는지 이해를 못해서요.

제가 첨부한 파일으로 프로세스와 자원이 존재한다고 가정하구요
퀀텀이 1인 라운드로빈 알고리즘으로 프로세스 스케쥴링이 된다고 가정할때

P1 프로세스가 8초에 자원요청을 할 때 위 알고리즘을 따라서 만들어보면요
프로스세스 표시 : None
R1, R2, R3, R4, R5
임시 벡터(W) : [3, 100, 5, 1, 1]
요청 행렬(Q)
R1 R2 R3 R4 R5
P1 0 0 0 1 0
P2 0 0 0 0 0

할당행렬(A)
R1 R2 R3 R4 R5
P1 0 0 0 0 0
P2 0 0 0 0 0

1번 할당행렬A가 P1, P2 모두 0인데 대체 어떤것을 먼저 선택해야되는지요?
모두다 0이라면 아무거나 선택해도 되는건지요?

댓글 달기

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