Misc/CS

· Misc/CS
/* * context_switch - 새 MM 및 새 스레드의 등록 상태로 * 전환합니다. */ static inline void context_switch(struct rq *rq, struct task_struct *prev, struct task_struct *next) { struct mm_struct *mm, *oldmm; prepare_task_switch(rq, 이전, 다음); mm = 다음->mm; oldmm = 이전->active_mm; /* * paravirt의 경우 이는 스위치_to의 종료와 결합되어 * 페이지 테이블 다시 로드와 스위치 백엔드를 * 하나의 하이퍼콜로 결합합니다. */arch_start_context_switch(이전); if (!mm) { next->active_m..
· Misc/CS
바쁜 대기 busy wating 또는 spinning 은 어떠한 특정 공유자원에 대하여 두 개 이상의 프로세스나 스레드가 그 이용 권한을 획득하고자 하는 동기화 상황에서 그 권환 획득을 위한 과정에서 일어나는 형상이다. 장점 공유 자원에 대한 권한 획득이 아주 빠른 시간 내에 이루어질 수 있다는 확신이 있는 상황 또는 뮤텍스나 세마포어 등의 동기화 객체등을 이용하기에는 그 오버헤드가 큰 상황에서 간단히 쓸 수 있다. 단점 단순한 우선순위 스케줄링, 혹은 FCFS (First-come First-served) 스케줄링 기반의 단일 프로세서 시스템에서는 바쁜 대기를 적용할 때에 시스템에 행(hang) 이 거릴 수도 있다. 즉 빠르게 접근해서 빠르게 처리할 수 있는 경우 적용해서 공유자원을 이용하는데에 매우 ..
lmxx
'Misc/CS' 카테고리의 글 목록