process image

    [전공생이 설명하는 OS] 쓰레드(Thread)와 동기화 문제

    [전공생이 설명하는 OS] 쓰레드(Thread)와 동기화 문제

    1. 쓰레드의 의미 프로세스의 의미를 두가지 측면에서 설명할 수 있다. (자원 관점) 자원 소유자로서의 최소 단위 (제어 관점) schedule 의 최소 단위 / 실행의 단위 보통 개발할 때 하나의 실행 흐름(single execution sequence)만 생각하기 쉽다.. 하지만 실제로 프로세스에는 실타래와 같이 여러개의 실행흐름(multiple execution sequence)이 존재할 수 있다. 이 때 실행의 단위(the unit of execution sequence)를 thread 라고 정의한다. 따라서 현대 os에서 multithreading은 단일 프로세스 내에서 여러개의 실행 흐름을 지원할 수 있는 능력을 의미한다. 가장 중요한 점은 다수의 thread는 같은 프로세스 내의 자원을 공유..

    [전공생이 설명하는 OS] 프로세스(Process)란?

    [전공생이 설명하는 OS] 프로세스(Process)란?

    1. Program vs Process  - program : 디스크에 byte sequence로 저장되어 있는 passive entity  - process : 메모리에 execution sequence 로 load 되어 있는 active entity 2. Process Description  `프로세스` 를 설명할 때는 크게 3가지의 맥락을 고려한다. (1) 시스템 수준에서 os 가 프로세스를 관리하기 위한 정보(2) User Program level 에서의 정보 (text code, data, stack, ...)(3) 프로세스를 실행하는 하드웨어의 수준의 정보 (1) System Level   OS의 관리 대상이라는 점에서 프로세스를 바라본다. OS 는 프로세스 전체 목록을 가지고 있다. 이를 p..