context switch time이 time slice보다 충분히 길어야 하는이유가 context switch가 시작되는 시점부터 다음프로세스의 time slice가 진행되서임?
context switch time과 time slice
갓갓(59.9)
2016-05-05 15:07
추천 0
댓글 60
다른 게시글
-
boost.asio랑 asio는 뭐가다르냐 [12]익명(210.113) | 16.05.05추천 0
-
제대로된 경력자들끼리 일하니까 너무 좋다 [3]익명(183.97) | 16.05.05추천 0
-
오타쿠들이 c배우는이유 [1]장소삼(223.62) | 16.05.05추천 0
-
휴 댓글검색기 다만들었다. [1]익명(178.162) | 16.05.05추천 0
-
내친구 옥시 연구 하청받은 연구실 대학원생인데 [3]익명(211.246) | 16.05.05추천 0
-
난 관리 잘하거든~mozzart(mozzart) | 16.05.05추천 0
-
C#, 유니티 입문 도움 부탁 ㅠㅠ익명(112.151) | 16.05.05추천 0
-
VR로 동영상 보다가 세 번 재부팅됐다 [5]에어로홍(aerohong) | 16.05.05추천 0
-
GIS 란 분야가mozzart(mozzart) | 16.05.05추천 0
-
만약 크롬을 자바로 만들었을 경우익명(110.9) | 16.05.05추천 0
time slice 가 뭐야? 코루틴 말하는 거?
시분할시스템에서 프로세서에게 할당된 시간
아 글잘못썼네 time slice가 충분히길어야되는이유임
c s보다 t s가 충분히 길어야 하는이유
시분할 시스템은 뭐야
시분할이란 개념은 뭐냐
간단히하면 프로세서마다 일정시간할당을주고 돌아가면서 실행하는거 아는놈없나..다놀러갔나
너가 적은 거에서 이해안가는게, 컨텍스트 스위칭과 다음 프로세스(?프로세서 말하는 건가)가 무슨 관계길래 간섭을 줌?
프로세서마다 일정 시간 할당을 주고 돌아가면서 실행한다고? 같은 스레드도 여러 프로세서에서 실행된단 말임?
그럼 그 자체로 레지스터 카피도 필요하고( 아마 카피된다면 시퓨 내부에서 카피되겠지 )스케쥴러도 필요할 텐데( 이건 OS 영향 받을 것 같고)
아 프로세스를 다 프로세서로 써버렸네스발. c s는 프로세서에 할당된 프로세스를 다른프로세스로 교체하는시간. t s는 프로세스가 프로세서에 할당되있는 시간
너가 말하는 프로세스란 쓰레드 단위 개념인가?
ㄴㄴ 근데 쓰레드단위여도 내질문엔 영향을 미치진않을거같음
음 아니지 쓰레드는 컨텍스트 스위칭이 안일어나지않나? 쓰레드로 볼수가없을듯 그냥 프로세스자체임
'context switch가 시작되는 시점부터 다음프로세스의 time slice가 진행' 이게 여전히 이해가 안감. 컨텍스트 스위칭 되자마자 실행되는 다음 프로세스의 실행 시간이 time slice의 interval보다 부족( interval - 컨텍스트 스위칭 시간 )하면 무슨 문제가 있는 거임?
음 아니지 쓰레드는 컨텍스트 스위칭이 안일어나지않나? 쓰레드로 볼수가없을듯 그냥 프로세스자체임 // <- 이건 좀 심각한데.. 거의 대다수 프로그래머가 컨텍스트 스위칭하면 쓰레드부터 떠올릴 걸
context switch가 일어나는시점에서 time slice시작된다면 time slice-context switch time=실제 프로세스진행가능한 시간이 되자나. time slice가 충분히 크지않다면 실질적으로 프로세스 진행이 원활히 이루어지지 않겠지. 근데이게 내생각이라 맞는지 틀린지 확인을해야되는데..
context switch는 프로세세에게 할당된 프로세스를 교체하는걸 말하는거 아니야?
그러니까 내말이.. 왜 충분히 크지 않다면 프로세스 진행이 원할하지 않냐는거야
컨텍스트 스위칭의 일반적인 개념은 쓰레드 스위칭인데.. 크게 보면 프로세스 스위칭도 틀린 개념은 아님..
timeslice가 context switch time과 비슷하면 할당된시간이너무짧으니까 비효율적이란거지 자주 context swich를 해야하니까 오버헤드가 너무많이생기잖아
time slice 란 것도 잘 생객해보면 instruction 별로 클럭 소요가 다르기에 칼 같이 전환이 안될텐데, 딱히 시간이 부족하다고 프로세스 진행이 원활하지 않을 이유가 없어보이거든..?
아 오버헤드.. 글쿤.. 그런데 또 이해 안가는게 time slice interval 마다 무조건 컨텍스트 스위칭이 일어나진 않을텐데? 그렇게 보면 오버헤드도 문제가 아닐 것 같은데?
오히려 컨텍스트 스위칭이 일어난 interval 에서 stall 하는 리스크가 더 크지 않나?
음 time slice 끝날때마다 컨텍스위치가 무조건 일어나진 않는다는거는 첨들어보는데..
stall은 뭐고 어느부분에서 리스크가생기는거야?
time slice가 끝났는데 할당된프로세스를 안바꾸고 프로세서는 뭐해?
그래? time slice마다 컨텍스트 스위칭이 일어나는 거였어? os에서 수많은 쓰레드가 실행되는 걸 생각해보면 time slice 의 interval 은 작을 거고 그 때마다 컨텍스트 스위칭이 일어난다는 건 그냥 생각해봐도 이상한데?
stall은 대기시간이라고 이해하면 될듯
음 내생각은 time slice가 끝났는데 교체를안하고 가만히있는게 더이상한데..
혹시 time slice 란게 priority에 따라서 동적인 건가? 같은 interval을 가지고 있는데 priority에 따라서 더 할당해주는게 아니라?
time slice를 다소모한 프로세스는 더이상진행을못하고 다른프로세스에게 프로세세를 넘겨주는데 이게 안일어나면 프로세스는 아무일도 안하고 가만히있는거잖아
그렇다면 priority가 높은 프로세스가 컨텍스트 스위칭될 때 stall 되는 리스크가 넘 커질 것 같은데
음.. 나는 프로세스 priority에 따라서 time slice 를 연속으로 여러개 배정해 줄 거라고 생각한 거였지.. 그렇다면 컨텍스트 스위칭이 일어나도 해당 interval에서 stall하는게 아니라 한번 더 배정해주면 해결되니까
낮은우선순위들이 실행안되는걸 리스크라고 생각하는거야?
같은 프로세스가 연속으로 time slice를 할당받으면 컨텍스트 스위칭할 필요가 없자나?
아니.. time slice가 prioriry에 따라서 동적으로 길어진다면, 그만큼 컨텍스트 스위칭 시 stall하는 시간이 길어지니까 이게 리스크란 거였어
근데 그건 메모리에 프로세스가 하나라는 특수한경우잔ㅅ아
time slice는 고정이지
갑자기 무슨 말이야? '근데 그건 메모리에 프로세스가 하나라는 특수한경우잔ㅅ아' <- 이해가 안가네?
아근데 내가질문한 그부분대답을듣고싶은데 흠
같은프로세스만 연속적으로 할당이라매 그건 당연히 프로세스가 메모리에 하나밖에 없는경우여야지
왜 그런 결론이 나오는거지.. 프로세스가 여러개여도 priority가 높으면 os에서 time slice를 연속으로 할당해 줄 수 있자나?
시분할시스템은 여러프로세스를 다중처리하는게 목적인데 하나만생각할건 아니지
prior가 높아도시간에지남에따라 낮은우선순위 프로세스들도 에이징에의해서 우선순위가 높아질수있어
낮은우선순위 프로세스들도 에이징에의해서 우선순위가 높아질수있어
내말은 priority 가 높은 프로세스는 time slice를 3개, 낮은 프로세스는 1개 이런식으로 연속할당 받을 수 있지 않느냐는 거였어. time slice마다 컨텍스트 스위칭하는 건 이상하자나?
그럴수야있지 스케쥴러가 그렇게하면 그런거니까
난 time slice를 편하게생각하려고 고정으로생각했는데 넌아니였나보네
그렇다면 다시 돌아가서.. 컨텍스트 스위칭 되서 남은 time slice가 짧은 건 문제가 안될 것 같은데? time slice를 한번 더 배정해주면 되니까. 굳이 해당 interval에서 stall 할 필요가 없자나?
나도 고정이라고 생각했는데, time slice마다 컨텍스트 스위칭이 일어난다고 하길래
남은time slice라니? 프로세서에게 할당될때 time slice가 소모되는거잖아 . 그리고 그런 한번더 배정해주는 그런거는 오버헤드라고 안할수있을까?
time slice가짧으면 context switch를하던 프로세서 재배정을하던 프로세스 진행을 그순간엔 못하고 프로세서가 일해야되는건 똑같잖아
일하ㄴ다는건재배정이나 context switch를말하는거지 프로세스진행한다는의미는아니야
'프로세서에게 할당될때 time slice가 소모' , '프로세스 진행을 그순간엔 못하고 프로세서가 일해야되는건' <- 무슨 뜻이야?
time slice는 저장되는개념이 아니라 프로세세에게 할당될때마다 일정시간동안 진행되는 시간인걸 알려준거고(너가 남은time slice라고하길래) 두번째꺼는 당연히 context switch나 재배정할때도 프로세서가 그거에관련된연산을해야되니 프로세스진행을 못한다는걸 말한거야
음.. 애초에 정확한 매커니즘 이해도 못한 내가 할 얘기가 아닌 거 같네. time slice는 os가 스케쥴링 할 것 같고, time slice interval 이 칼 같을 필요도 없을 거고.. 컨텍스트 스위칭 완료될 때부터 time slice가 시작되는게 맞을 것 같은데 왜 컨텍스트 스위칭 시작부터 time slice 시작이 되는지 이해를 못하겠음
내가 말한 남은 time slice는 time slice interval - 컨텍스트 스위칭 시간 이였어
지금까지 얘기한 걸로 내 나름대로 이해한 건 오히려 컨텍스트 스위칭 시간보다 time slice 가 무조건 길어야 될 것 같다 야..
컨텍스트 스위칭 완료될 때부터 time slice가 시작되는게 맞을 것 같은데 왜 컨텍스트 스위칭 시작부터 time slice 시작이 되는지 이해를 못하겠음/이부분은 내가한 질문에 포함되는건데..나도잘몰라서 내생각주저리써놓은거야 근데 아래댓글보니 니가말한 time slice와 내가말하는timeslice가 다른거구나