본문 바로가기

Computer Science/운영체제3

스레드 & 멀티스레드, 공유자원 스레드 : 스레드는 프로세스의 실행 가능 한 가장 작은 단위 1개의 프로세스는 여러 스레드를 가질수 있습니다. 코드,데이터, 스택 힙을 각각 생성하는 프로세스와는 달리 스레드는 코드, 데이터, 힙은 스레드끼리 서로 공유함 멀티스레딩 : 멀티스레딩은 프로세스 내 작업을 여러개의 스레드, 멀티스레드로 처리하는 기법, 멀티 스레딩의 장점과 단점 장점 응답성 : 프로그램의 일부분(스레드)이 중단되거나 긴 작업을 수행하더라도 프로그램의 수행이 계속 되어 사용자에 대한 응답성이 증가한다. ex) 멀티 스레드가 적용된 웹 브라우저 프로그램에서 하나의 스레드가 이미지 파일을 로드하고 있는 동안, 다른 스레드에서 사용자와 상호작용 가능 경제성 : 프로세스 내 자원들과 메모리를 공유하기 때문에 메모리 공간과 시스템 자원 .. 2022. 6. 24.
프로세스와 스레드 프로세스 (Process)는 컴퓨터에서 실행되고 있는 프로그램을 말하며 CPU 스케줄링의 대상이 되는 작업(task), HDD/SDD(디스크)에 있는 프로그램이 메모리 프로세스가 되고 이것을 인스턴스화라고 함 그리고 CPU 스케줄러에 의해 CPU가 프로세스를 실행함 ex : 구글프로그램 (chrome.exe)과 같은 실행파일을 두번 클릭하면 구글 크롬 프로세스가 시작되는것을 말함 스레드 :프로세스 내 작업의 흐름을 지칭 프로세스의 상태 new : 생성상태(create) 프로세스가 생성된 상태를 의미 fork() 또는 exec() 함수를 통해 생성함, 이때 PCB가 할당됨 Ready(대기상태) : 메모리 공간이 충분하면 메모리를 할당받고 아니면 아닌 상태로 대기 하고 있으며 CPI 스케줄러로부터 CPU 소.. 2022. 6. 18.
메모리 메모리 계층 CPU는 그저 메모리에 올라와 있는 프로그램의 명령어들을 실행할 뿐 레지스터 : CPU 안에 있는 작은 메모리,휘발성, 속도 가장 빠름, 기억 요량이 가장 적음 캐시 : L1, L2 캐시를 지칭합니다. 휘발성, 속도 빠름, 기억욜야이 적고 L3 캐시도 존재합니다. 주기억장치 : RAM을 가리킵니다. 휘발성, 속도 보통, 기억 용량이 보통입니다. 보조기억장치: HDD, SDD를 일컬으며 휘발성 속도 낮음, 기억용량이 많습니다. 캐시 (cache) 캐시는 데이터를 미리 복사해 놓는 임시 저장소이자 빠른 장치와 느린 장치에서 속도 차이에 따른 병목 현상을 줄이기 위한 메모리를 말함 실제로 메모리와 CPU 사이의 속도 차이가 너무 크기 때문에 그 중간에 레지스터 계층을 둬서 속도 차이를 해결합니다... 2022. 6. 3.