본문 바로가기
728x90
반응형

스레드5

선점형 방식(면접을 위한 CS 전공지식 노트) 선점형 방식 선점형 방식 선점형 방식(preemptive scheduling)은 컴퓨터 운영체제와 스케줄링 알고리즘에 관련된 개념으로, 다중 프로세스 또는 스레드를 관리하고 CPU 자원을 할당하는 방법 중 하나입니다. 이 방식은 여러 프로세스나 스레드가 동시에 실행될 수 있는 환경에서 각 프로세스나 스레드에 CPU 시간을 할당하는 방법을 기술합니다. 선점형 스케줄링 특징 우선순위 부여: 각 프로세스나 스레드에 우선순위를 부여하여 우선순위가 높은 작업이 CPU 시간을 우선적으로 할당받을 수 있습니다. 시간 할당량(Time Quantum 또는 Time Slice): 각 프로세스나 스레드는 일정 시간 동안 CPU를 사용할 수 있는 시간 할당량을 받습니다. 이 시간 할당량이 끝나면 CPU를 반납하고 다른 프로세.. 2023. 9. 25.
교착 상태(면접을 위한 CS 전공지식 노트) 교착 상태 교착 상태 교착상태(Deadlock)는 컴퓨터 과학 및 운영 체제 분야에서 중요한 개념 중 하나로, 다중 프로세스 또는 스레드가 서로의 실행을 막고 무한 대기 상태에 빠지는 상황을 말합니다. 이러한 상황에서는 시스템이 진행할 수 없게 되며, 사용 가능한 리소스를 효과적으로 활용하지 못하게 됩니다. 교착상태는 일반적으로 다음과 같은 네 가지 조건이 동시에 충족될 때 발생합니다. 상호 배제 (Mutual Exclusion): 리소스는 한 번에 하나의 프로세스 또는 스레드만 사용할 수 있어야 합니다. 즉, 어떤 프로세스가 리소스를 사용 중이면 다른 프로세스는 기다려야 합니다. 점유 및 대기 (Hold and Wait): 프로세스가 최소한 하나의 리소스를 점유한 상태에서 다른 리소스를 기다립니다. 이.. 2023. 9. 22.
공유자원과 임계 영역(면접을 위한 CS 전공지식 노트) 공유자원과 임계 영역 공유자원과 임계 영역 공유 자원 (Shared Resource): 공유 자원은 여러 프로세스나 스레드에 의해 동시에 접근될 수 있는 데이터나 자원을 가리킵니다. 예를 들어, 메모리, 파일, 네트워크 연결, 데이터 구조, 프린터 등은 공유 자원의 예입니다. 여러 프로세스나 스레드가 공유 자원을 동시에 수정하거나 읽는 경우, 데이터 일관성과 안전성 문제가 발생할 수 있습니다. 임계 영역 (Critical Section): 임계 영역은 공유 자원에 접근하는 코드 또는 섹션을 가리킵니다. 임계 영역은 여러 프로세스나 스레드가 동시에 접근하지 못하도록 보호되어야 합니다. 그렇지 않으면 공유 자원에 대한 경쟁 조건 (Race Condition)이 발생할 수 있습니다. 이것은 예측할 수 없는 결.. 2023. 9. 21.
스레드와 멀티스레딩(면접을 위한 CS 전공지식 노트) 스레드와 멀티스레딩 스레드와 멀티스레딩 스레드(Thread)와 멀티스레딩(Multithreading)은 컴퓨터 프로그래밍에서 중요한 개념으로, 다중 작업을 동시에 수행하거나 병렬로 실행하기 위해 사용됩니다. 스레드(Thread) 스레드(Thread): 스레드는 프로세스 내에서 실행되는 가장 작은 실행 단위입니다. 하나의 프로세스 내에서 여러 스레드가 동시에 실행될 수 있습니다. 스레드는 프로세스 내의 자원(메모리, 파일 등)을 공유하므로 스레드 간 데이터 공유가 쉽습니다. 스레드는 프로세스의 코드 세그먼트와 데이터 세그먼트를 공유하며, 각 스레드는 별도의 스택을 가집니다. 스레드는 프로세스 내에서 생성 및 관리되며, 스레드 간 통신이 비교적 쉽고 빠릅니다. 멀티스레딩(Multithreading) 멀티스레.. 2023. 9. 20.
멀티프로세싱(면접을 위한 CS 전공지식 노트) 멀티프로세싱 멀티프로세싱 멀티프로세싱(Multiprocessing)은 컴퓨터 과학 및 소프트웨어 개발에서 사용되는 중요한 개념으로, 하나 이상의 프로세서(또는 CPU 코어)를 사용하여 여러 작업을 동시에 처리하는 기술입니다. 멀티프로세싱 이점 성능 향상: 멀티프로세싱을 사용하면 작업을 병렬로 처리할 수 있으므로, 여러 작업을 동시에 수행하여 시스템의 전체 성능을 향상할 수 있습니다. 작업 분리: 멀티프로세싱은 하나의 큰 작업을 여러 개의 작은 작업으로 분리하고, 각 작업을 별도의 프로세서에서 실행하여 복잡한 작업을 단순화하고 가속화할 수 있습니다. 응답성 향상: 멀티프로세싱을 사용하면 다른 작업이 진행 중이더라도 시스템이 계속해서 응답하고 작업을 수행할 수 있어 사용자 경험을 향상시킬 수 있습니다. 멀티.. 2023. 9. 19.
728x90
반응형