테스크란 용어는 옛날에 사용하던 용어입니다.
옛날 책들, 특히 운영체제 이론에 관한 오래된 책들에서 보면 테스크란 단어로 설명이 나옵니다.
테스크란 말 그대로 작업입니다. 컴퓨터 입문책에서 운영체제 관련 부분 보시면 정확하게 나오는데요...
옛날에는 지금과 같이 시분할 멀티테스킹환경이 아니었을때 즉, 일괄처리 시절 당시의 작업 단위를 테스크라고 하였다고 합니다.
그 용어가 이제부터 사용하지 말자! 하고 딱 짤라서 없어진게 아니라 새로운 개념이 나오면서 묻혀진거라 그냥 작업이라고만 생각하시면 됩니다.
작업의 단위를 결정하는 요소는 스케줄링을 어떤 단위로 하는가 입니다. 최근에는 그 단위가 쓰레드죠.(프로세스단위 아닙니다.)
이런 용어의 혼재가 아직 리눅스에서도 나타나는데요.
각 쓰레드를 나타내는 디스크립터의 이름이 task_stuct 입니다.
이처럼 그냥 기존부터 쭉 오던거라 그냥 그러려니 하고 어떤 작업의 단위를 총체적으로 말할때나 간혹 쓰이는 것입니다.
쓰레드는 프로세스의 내부 작업 단위인데, 실제로 스케줄러에 의해서 프로세스 단위가 아닌 쓰레드 단위로 스케줄링 되므로 프로세스는 그냥 유저에게 제공하는 추상적 작업 단위이고
OS 관점에서는 그저 쓰레드 그룹을 의미합니다.
쓰레드에 관한 기본 개념은 이정도면 됩니다. 자세하게 알려면 OS이론을 보시고 리눅스 이론을 보시면 명확하게 뭔지 파악이 되실거에요.
> 특정 게임을 진행하다가 알트 텝을 통해서 인터넷 검색을 진행 할 경우 이때의 상황을 태스크 전환이라고 부르는지요?
태스크=프로세스 라면 맞는말이고 태스크=스레드라면 틀린말이겠죠. 보통 멀티태스킹 운영체제라고 할때 태스크는 프로세스의 개념이기 때문에 맞는 표현이라고 할 수 있습니다.
> 멀티 스레드는 특정 게임(프로세스)가 진행되면서 캐릭터가 움직이고.. 몹이 움직이고.. 채팅도 가능하게 해주는
> 원동력이 스레드 이며 이러한 스레드가 모이면 멀티 스레드가 되는건가요?
캐릭터/몹/채팅을 하나의 스레드에서 처리할 수도 있고 여러개의 스레드에서 처리할 수도 있습니다.
하지만 여러개의 스레드에서 처리한다고 해도 사실상 화면에 뿌릴때는 모든 작업이 다 완료된 상태여야 하기 때문에 보통 캐릭터마다/몹마다 스레드를 따로 만드는 경우는 없습니다.
생각보다 컴퓨터는 매우 짧은 시간에 엄청난 양의 계산을 처리하고 있습니다.
-------------
방금전까지 '작업' 이라는게 프로세서가 처리해야 되는 '프로그램'으로 추측하고 있었는데요,
답변 내용에서는 작업의 단위를 결정하는 요소는 스케줄링을 어떤 단위로 하는가 라고 언급해 주셨습니다.
이 말은 스케줄링은 운영체제의 몫이니 '작업'이란 운영체제 관점에서의 '단위'이되 크기는 스케줄링에 의해서
결정된다라고 이해하고 있는데 맞는 표현일까요?
------------
먼가좀 이상하죠?
그리고, 제가 알기로는 리눅스의 스레드와 윈도우의 스레드가 개념이 약간 다를겁니다. 리눅스는 원래 스레드가 없었는데반해 대부분의 개념화되어있는 스레드의 개념은 윈도우식인듯하네요.아니 윈도우가 원조인듯 하네요.....ㅎ
--------------------------------------------------------------------------------
open source, open teaching, 천기누설이 꿈~ 은 개뿔...
--------------------------------------------------------------------------------
어떤 부분이 이해가 안되시는지요?
어떤 부분이 이해가 안되시는지요?
누군가가 물어본다면 어떻게 설명 해야할까요?
태스크와 스레드가 무엇이냐고 물어보았을경우 어떤식으로 설명을 해야될지 모르겠습니다.
프로그래밍의 측면에서는 모두 쓰레드입니다. 다만,
프로그래밍의 측면에서는 모두 쓰레드입니다.
다만, 같은 작업을 여러개로 쪼개어 하는 것은 쓰레드,
서로 다른 종류의 작업을 (보이기에는) 동시에 진행하는 것은 태스크라고 구분하는 경향이 있는 것 같습니다.
아?! 그렇군요!
우선 답변 감사드립니다!
제가 초보라서 궁금한게 많네요.
답변 내용에서 언급해주신 '작업' 이라는 표현이 프로세서가 처리해야 될 '프로그램'을 의미하는 건가요?
그리고 각 각의 프로세스를 태스크로 봐도 괜찮을것 같다는 생각과,
하나의 프로세스를 여러개로 쪼개어 놓은 단위를 쓰레드가 생각하고 있습니다.
나름 답변 내용을 이해하려고 추측해보았는데 어느정도는 맞는 표현이 의견을 여쭤보고 싶네요.
감사합니다.
테스크란 용어는 옛날에 사용하던 용어입니다. 옛날
테스크란 용어는 옛날에 사용하던 용어입니다.
옛날 책들, 특히 운영체제 이론에 관한 오래된 책들에서 보면 테스크란 단어로 설명이 나옵니다.
테스크란 말 그대로 작업입니다. 컴퓨터 입문책에서 운영체제 관련 부분 보시면 정확하게 나오는데요...
옛날에는 지금과 같이 시분할 멀티테스킹환경이 아니었을때 즉, 일괄처리 시절 당시의 작업 단위를 테스크라고 하였다고 합니다.
그 용어가 이제부터 사용하지 말자! 하고 딱 짤라서 없어진게 아니라 새로운 개념이 나오면서 묻혀진거라 그냥 작업이라고만 생각하시면 됩니다.
작업의 단위를 결정하는 요소는 스케줄링을 어떤 단위로 하는가 입니다. 최근에는 그 단위가 쓰레드죠.(프로세스단위 아닙니다.)
이런 용어의 혼재가 아직 리눅스에서도 나타나는데요.
각 쓰레드를 나타내는 디스크립터의 이름이 task_stuct 입니다.
이처럼 그냥 기존부터 쭉 오던거라 그냥 그러려니 하고 어떤 작업의 단위를 총체적으로 말할때나 간혹 쓰이는 것입니다.
쓰레드는 프로세스의 내부 작업 단위인데, 실제로 스케줄러에 의해서 프로세스 단위가 아닌 쓰레드 단위로 스케줄링 되므로 프로세스는 그냥 유저에게 제공하는 추상적 작업 단위이고
OS 관점에서는 그저 쓰레드 그룹을 의미합니다.
쓰레드에 관한 기본 개념은 이정도면 됩니다. 자세하게 알려면 OS이론을 보시고 리눅스 이론을 보시면 명확하게 뭔지 파악이 되실거에요.
생각나는데로 막 써서 답이 횡설수설하네요..
무언가 머릿속에 그림이 그려지네요!
우선 답변 감사드립니다!
위의 답변에서도 흡사한 질문을 남겼는데요,
마지막 답변이라 마지막에 읽다보니 그래도 어느정도는 질문의 내용은 다르다 생각되어 남겨봅니다.
방금전까지 '작업' 이라는게 프로세서가 처리해야 되는 '프로그램'으로 추측하고 있었는데요,
답변 내용에서는 작업의 단위를 결정하는 요소는 스케줄링을 어떤 단위로 하는가 라고 언급해 주셨습니다.
이 말은 스케줄링은 운영체제의 몫이니 '작업'이란 운영체제 관점에서의 '단위'이되 크기는 스케줄링에 의해서
결정된다라고 이해하고 있는데 맞는 표현일까요?
더불어서 태스크 전환이란 용어를 들어본적이 있는데..
특정 게임을 진행하다가 알트 텝을 통해서 인터넷 검색을 진행 할 경우 이때의 상황을 태스크 전환이라고
부르는지요?
멀티 스레드는 특정 게임(프로세스)가 진행되면서 캐릭터가 움직이고.. 몹이 움직이고.. 채팅도 가능하게 해주는
원동력이 스레드 이며 이러한 스레드가 모이면 멀티 스레드가 되는건가요?
> 특정 게임을 진행하다가 알트 텝을 통해서 인터넷
> 특정 게임을 진행하다가 알트 텝을 통해서 인터넷 검색을 진행 할 경우 이때의 상황을 태스크 전환이라고 부르는지요?
태스크=프로세스 라면 맞는말이고 태스크=스레드라면 틀린말이겠죠. 보통 멀티태스킹 운영체제라고 할때 태스크는 프로세스의 개념이기 때문에 맞는 표현이라고 할 수 있습니다.
> 멀티 스레드는 특정 게임(프로세스)가 진행되면서 캐릭터가 움직이고.. 몹이 움직이고.. 채팅도 가능하게 해주는
> 원동력이 스레드 이며 이러한 스레드가 모이면 멀티 스레드가 되는건가요?
캐릭터/몹/채팅을 하나의 스레드에서 처리할 수도 있고 여러개의 스레드에서 처리할 수도 있습니다.
하지만 여러개의 스레드에서 처리한다고 해도 사실상 화면에 뿌릴때는 모든 작업이 다 완료된 상태여야 하기 때문에 보통 캐릭터마다/몹마다 스레드를 따로 만드는 경우는 없습니다.
생각보다 컴퓨터는 매우 짧은 시간에 엄청난 양의 계산을 처리하고 있습니다.
답변 감사드립니다!
무언가 윤곽이 잡힙니다. 감사드립니다!!
쉬운 답변을 생각해보면
윈도우에 작업 관리자'를 task manager 라고 하고.
그 안에 thread gui memory process id 등이 보입니다.
혹시 그런것들이 아닐까요?
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
테스크 = 쓰레드 는 아니지 않나요?
제가 알고 있는 것과는 전혀 다른 형태라서...
제가 알고 있는 것은 테스크는 하나의 프로그램이 메모리에서 실행될 때 그것을 테스트라고 하고
쓰레드는 하나의 프로그램 내에서 메모리를 할당받아 돌아가는 것을 쓰레드라고 알고 있습니다.
즉, 테스크는 OS가 관리하고 쓰레드는 프로그램이 관리하는 것이라는 큰 차이점이 있는 것으로
알고 있습니다만...
제가 잘못 알고 있었나요?
------------------------------
좋은 하루 되세요.
------------- 방금전까지 '작업' 이라는게
-------------
방금전까지 '작업' 이라는게 프로세서가 처리해야 되는 '프로그램'으로 추측하고 있었는데요,
답변 내용에서는 작업의 단위를 결정하는 요소는 스케줄링을 어떤 단위로 하는가 라고 언급해 주셨습니다.
이 말은 스케줄링은 운영체제의 몫이니 '작업'이란 운영체제 관점에서의 '단위'이되 크기는 스케줄링에 의해서
결정된다라고 이해하고 있는데 맞는 표현일까요?
------------
먼가좀 이상하죠?
그리고, 제가 알기로는 리눅스의 스레드와 윈도우의 스레드가 개념이 약간 다를겁니다. 리눅스는 원래 스레드가 없었는데반해 대부분의 개념화되어있는 스레드의 개념은 윈도우식인듯하네요.아니 윈도우가 원조인듯 하네요.....ㅎ
--------------------------------------------------------------------------------
open source, open teaching, 천기누설이 꿈~ 은 개뿔...
--------------------------------------------------------------------------------
댓글 달기