본문 바로가기

스레드2

[운영체제] 멀티스레드 멀티스레드 멀티스레드프로세스 내에서 여러 개의 스레드를 생성해 동시에 작업을 수행멀티코어 활용각각의 스레드가 다른 코어에 배정되어 작업을 병렬로 실행장점성능 향상작업을 병렬로 실행 및 멀티코어 활용자원 절약멀티 스레드는 코드, 데이터 영역 등 자원을 공유그로인해 멀티프로세스 보다 자원이 적게 들고 컨택스트 스위칭 비용도 낮음응답성 개선안드로이드의 경우 메인 스레드에서 UI만 처리하고다운로드 등 다른 작업을 다른 스레드에서 처리하여 UI의 응답성을 개선단점동기화 문제여러 스레드가 동시에 같은 데이터에 접근하면 Race Condition이 발생할 수 있음뮤텍스, 세마포어, 락 등으로 해결해야 됨Race Condition 두 개 이상의 프로세스 또는 스레드가 공통 자원에 동시에 접근하여 읽기/쓰기 작업을 할 .. 2025. 4. 18.
[운영체제] 프로세스와 스레드 프로세스 프로그램컴퓨터가 실행할 수 있는 명령어의 집합(파일)실행프로그램을 실행시키면 메모리에 올라가 프로그램의 인스턴스가 생성됨프로그램은 디스크(HDD, SDD)에 저장되어 있음프로세스컴퓨터에서 실행중인 프로그램즉 메모리에 올라와 실행되고 있는 프로그램의 인스턴스운영체제 입장에서는 잡(Job)의 단위운영체제의 스케줄러가 프로세스를 선택하여 CPU에 할당프로세스의 실행 단계프로세스 생성스케줄러가 프로세스를 선택스케줄러가 프로세스 내의 스레드를 선택선택된 스레드를 CPU 코어에 할당프로세스는 운영체제로 부터 할당된 자원의 집합 (ex 메모리 공간, PCB, 스레드 등)운영체제가 잡을 실행하기 위한 정보, 자원을 프로세스에 할당 및 관리PCB운영체제가 프로세스를 관리하기 위한 정보들PID (프로세스 ID)상.. 2025. 4. 9.