thread
-
[OS] - Process vs ThreadCS/면접준비 2022. 9. 29. 15:23
Process Program을 Memory 상에서 실행 중인 작업 Process마다 최소 1개의 Thread가 존재한다. ( Main Thread ) Process는 각각의 Process마다 별도의 주소 공간을 할당한다. ( 독립적 ) Memory 1. Code 코드 자체를 구성하는 Memory 2. Data static , global , 배열 등 Init된 Data들은 Data Area ( static a = 10 ) Init되지 않은 Data들은 BSS Area ( static b ) global = life cycle = Program이 죽을 때 까지 / 다른 File에서 접근하여 사용 가능 static = life cycle = Program이 죽을 때 까지 / 다른 File 및 함수에서 접근하..
-
7.Posix thread(Pthread)CS/OS 2022. 5. 25. 20:42
들어가기 전에 Process에 대해서 살펴보고 시작한다. Process / Thread 일반적으로 Unix Process 는 Main() Function으로 부터 실행되는 Single Thread이다. 앞서 말하였듯이 Fork()를 통해 Process가 생성됨으로 Memory 및 File Descriptor를 Copy-on-Write 방식으로 자식에게 복사하여준다. 반면, Thread는 전역 Memory들은 서로 공유하고 있기 때문에 Process보다 속도가 빠르다. Thread = Semi Process = Light weight Process 라고 불린다. Posix Thread 일반적으로 PThread로 불리며, Thread를 지원하기 위한 C 표준 라이브러리 셋을 사용하여 동작시켜야 한다. #Pt..
-
6. ThreadCS/OS 2022. 4. 27. 23:09
프로세스 생성 원리 프로세스는 프로세스에 의해 만들어진다. 컴퓨터가 부팅이 되면 운영체제가 메모리에 올라오는데 운영체제가 처음으로 수행하는 일 중에 하나는 최초의 프로세스를 생성하는 것이다. 처음 만들어진 프로세스가 다른 프로세스를 만들고 그 프로세스가 또 다른 프로세스를 만드는 과정을 반복한다. 최초의 프로세스는 Init이다. init은 UNIX 운영체제 기준이다. 여러 다른 프로세스들이 생성되면 위 그림처럼 트리로 나타낼 수 있다. 프로세스는 각각 고유의 번호를 갖는데 이를 PID(Process Identifirer)라고 한다. Process 생성하기 위해서는 System Call( Fork() ) -> Process 내에서 File 실행 System call( exec() ) -> Process 종..