user level thread / kernel level thread 관련질문입니다.

forest62590의 이미지

공룡책을(Operating system concepts)보니

"사용자 수준 스레드, 커널 수준 스레드를 지원하는 운영체제에서는 스케줄되는 대상은 프로세스가 아니라 커널 수준 스레드이다."를

보고 개인적으로 이해한것이 맞는지 궁금하여 질문드립니다.

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

일반적으로 책에서 설명하는 프로세스 스케줄링 알고리즘(라운드 로빈, FCFS, ...)은

실질적으로는 커널 스레드에서 적용된다고 봐도 되며

커널은 커널 스레드를 생성된 프로세스의 종류에 상관없이

커널 스레드 전체를 해당 스케줄 알고리즘으로 스케줄링한다.

그리고 프로세스 상태라고 설명하는 run, block, ready같은 것은

단일 프로세스 단일 스레드라고 가정하였을 때

커널 스레드를 스케줄링하여 나오는 상태와 동일하기 때문에

process state -> kenel thread state라고 봐도 무방하다.

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

여기까지 제가 이해한 내용입니다.

혹시 위의 내용이 맞다면

각기 다른 프로세스에서 스레드의 우선순위가 어떻게 정해지는지 궁금합니다.

ex) 1번 프로세스의 4번째 스레드와 3번 프로세스의 10번째 스레드의 우선순위가 정해지는 법

os를 공부한지 얼마안되서 참 부족하네요...

답변 부탁드리며 오늘도 수고하십시오!

익명 사용자의 이미지

http://stackoverflow.com/questions/15601155/does-linux-schedule-a-process-or-a-thread

성의 없이 링크만 드리는 건 아니고, 확실히 참조할 수 있는 내용이기에 첨부합니다.

댓글 달기

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 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.