운영체제[OS] 쓰레드 구현 프로그램 ( fork(), Pthread, 자바 쓰레드(MultiThread) )
- 최초 등록일
- 2010.06.01
- 최종 저작일
- 2010.06
- 9페이지/ 한컴오피스
- 가격 2,500원
소개글
제가 운영체제 과제로 제출했던 보고서로서
쓰레드 구현 프로그램입니다. 아래 3가지 경우의 쓰레드 구현 프로그램이며,
각각은 아래와 같습니다.
1. 유닉스의 시스템 콜로 사용되고 있는 fork()를 사용했을 때
2. Pthread 라이브러리를 사용했을 때
3. 자바의 멀티(Multi)쓰레드를 사용했을 때
위 3가지 쓰레드 사용방법에 대한 프로그램 소스와 주석, 각 쓰레드 설명과 프로그램 설명 그리고 각각을 비교분석한 자료입니다.
목차
1. System call(fork사용시)
● 프로그램 소스
● 프로그램 설명
● 실행 결과
2. Pthread 라이브러리 사용
● 프로그램 소스
● 프로그램 설명
● 실행 결과
3. 자바 쓰레드(MultiThread)
● 프로그램 소스
● 프로그램 설명
● 실행 결과
본문내용
- 첫 번째 쓰레드 구현 프로그램에서는 유닉스의 시스템 콜로 사용되고 있는 fork()를 사용했는데, 여기서 사용된 fork()는 부모 프로세스가 쉽게 자식 프로세스와 통신할 수 있게 도와주는 함수로서 자식을 diplicate(복제)해서 사용하는 방법을 사용한다. 이 프로그램에서는 fork()가 서로 다른 복귀 코드를 가진다는 점을 이용해서 실행되고 있는데, fork() 함수가 실행되게 되면 int형의 정수를 넘겨주게 되는데, 이 값이 0일 경우에는 자식 프로세스가 수행되게 되고, 0보다 큰 정수값일 경우에는
-- 중략 --
이 프로그램은 pthread를 사용하여 각각의 프로세스의 실행을 화면에 출력시켜 주는 프로그램으로서 우선 pthread에 대해서 살펴본다면 pthread는 Thread Library가 여러 기종에서 개발되면서 시스템 간에 서로 다른 interface를 사용하는 시스템 사이에서 multithreads application을 porting 하는 것이 어려워짐에 따라서 그에 따른 대체 방안으로 사용하기 시작한 것이 pthread이다. pthread의 특징으로는 우선 C Thread의 모든 기능을 포함하고 있으며, Task 와 Thread 의 접근에 이식 가능한 방법들을 제공하며,
-- 중략 --
이 프로그램은 총 3개의 쓰레드를 사용하였는데, 각각의 3개는 모두 랜덤하게 실행되면서 화면에 결과물을 출력하게 한다. 자바의 멀티(Multi)쓰레드는 프로그램에서 여러 개의 함수들이 서로 독립적으로 수행되게 되는데, 이는 명령어들이 순차적으로 수행될 수 없음을 의미한다. 자바는 기본적으로 java.lang.Thread 클래스를 지원함으로 해서 하나의 프로세스에 하나 이상의 쓰레드가 생성되어 실행될 수 있는 다중 쓰레드 환경을
-- 중략 --
참고 자료
없음