본문 바로가기
728x90

운영체제2

스레드 Thread Safe 멀티 스레드 환경에서 여러 스레드가 하나의 객체 혹은 변수를 공유하면서 발생하는 동기화 문제를 막기 위한 방법 이유 스레드는 3단계 작업을 거친다 읽기 계산 저장 3단계 중 2단계의 계산 과정에서 레지스트리에서 계산된 값이 변수에 저장이 되지 못하면 다음 스레드를 넘어가서 다시 읽기의 과정을 거친다. 그러면 이전 스레드에서 업데이트 되지 못한 변수를 그대로 읽어서 다시 작업을 하게된다. 상호배제(mutual exclusion) 공유 자원에 접근하는 임계영역을 동기화 기법으로 순서대로 접근하도록 제어 임계자원(critical resource) 임계영역(critical section) 동기화 기법 뮤텍스(Mutex) 임계영역에 하나의 스레드만 접근가능 세마포어(Semaphore) 임계영.. 2020. 8. 19.
프로세스 vs 스레드 용어정리 프로그램 : 어떤 작업을 위해 실행할 수 있는 파일 프로세스 : 컴퓨터에서 연속적으로 실행되고 있는 프로그램 스레드 : 프로세스 내에 실행되는 여러 흐름의 단위 자바 스레드 : JVM가 운영체제 역할을 하는 스레드 1. 프로그램 하드웨어에 저장된 작업을 할 수 있는 파일 2. 프로세스 실행된 프로그램 운영체제에 의해 메모리에 올라온 상태 각각 독립된 메모리영역(Code, Data, Stack, Heap)을 할당받는다 각 프로세스는 별도의 주소 공간에서 실행된다 프로세스 상호간에 자원을 공유할 수 없다 IPC로 다른 프로세스의 자원에 접근가능하다 3. 스레드 프로세스 내부에 Stack에 존재하는 코드 프로세스의 Code, Data, Heap 영역을 공유한다 스레드는 별도의 Register와 Sta.. 2020. 8. 18.
728x90