Computer Science51 [운영체제] Pthread 개요 3가지 thread 라이브러리 POSIX pthread Windows thread API Java thread API Pthread - user-level과 kernel-level에서 둘 다 실행되지만 보통 kernel-level에서 Windows thread - kernel-level 라이브러리 Java thread - 더 high level의 라이브러리 - pthread와 Windows thread 라이브러리 둘 다 호출 Pthread API - create, terminate, join, detach - synchronization Thread pool - 스레드를 사용하는 실행 모델 - 기존 방식 : 새 요청 들어옴 -> 새로운 스레드 생성 및 요청 처리 -> 완료되면 스레드 파.. 2020. 9. 14. [운영체제] 인터럽트 (Interrupt) Interrupt 인터럽트 CPU가 프로그램 실행 중, 입출력장치 등의 하드웨어에서 예외상황이 발생하면 CPU에게 알려 처리하게 함 CPU를 멈추고 Interrupt handler를 실행하게 함 1. HW 인터럽트 하드웨어가 발생시키는 인터럽트 타이머, 키보드, 마우스 등 시스템 버스를 통해 전달됨 2. SW 인터럽트 소프트웨어가 발생시키는 인터럽트 시스템 호출(System call) Interrupt vector interrupt service routine 주소 리스트 인터럽트 발생 시 처리해야할 인터럽트 핸들러들의 주소 리스트 Kernel mode vs User mode kernel mode = 관리자 모드 user process는 커널에 서비스 요청 : user mode -> ker.. 2020. 9. 14. [운영체제] 스레드(Thread) ※출처 : TOPCIT 에센스 스레드 (Thread) - CPU를 사용하는 기본 단위 - '경량 프로세스' 라고도 한다 - 프로세스는 최소 하나의 스레드를 갖는다 - 높은 병렬성으로 나은 성능 제공 - 리소스의 효율적 사용 - data 공유 쉬움 - 공유 O : 코드, 데이터, 파일 (기억장치 공유) - 공유 X : 레지스터, 스택 ※ 프로세스와의 차이점 프로세스 : 중앙처리장치 사용시간을 문맥 교환(Context Switching)에 많은 시간 사용 스레드 : 기억장치(코드, 데이터 영역)를 공유하기 때문에 더욱 경제적인 문맥 교환(Context Switching) 가능 멀티 스레드 싱글 스레드 프로세스 : 하나의 프로세스, 하나의 스레드 멀티 스레드 프로세스 : 하나의 프로세스, 여러개 스.. 2020. 9. 14. [운영체제] 프로세스 ※출처 : TOPCIT 에센스 프로세스(Process)의 이해 - 초기 컴퓨터 시스템 : 한 번에 하나의 응용 프로그램만 수행 가능 → 하나의 프로그램이 모든 시스템 점유, 자원 점유 및 사용 - 오늘날 컴퓨터 시스템 : 다수의 프로그램 병행 수행 → 자원 공유, 자원 관리 - 프로세스 : 수행 중인 프로그램, 시분할 시스템의 작업 단위 프로세스 상태(State) 변화 1. 생성 (New) : 프로세스가 생성 되었으나 아직 운영체제에 의해 실행 못하는 상태 2. 준비 (Ready) : 프로세스가 실행을 위해 CPU를 할당 받기를 기다리는 상태 3. 실행 (Run) : 프로세스가 CPU를 차지하고 있는 상태 4. 종료 (Exit) : 프로세스의 실행이 끝나고 CPU 할당이 해제된 상태 5.. 2020. 9. 14. 이전 1 ··· 5 6 7 8 9 10 11 ··· 13 다음