본문 바로가기

Computer Science/운영체제12

[운영체제] 인터럽트 (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.
[운영체제] 운영체제 개요 ※출처 : TOPCIT 에센스 운영체제 제한된 컴퓨터 자원을 효율적으로 관리하여 사용자나 응용프로그램에게 컴퓨터 자원의 인터페이스를 제공하는 시스템 소프트웨어 컴퓨터 자원 제어, 사용 정책 구현 → 사용자에게 스케줄링을 통해 자원 할당 입출력 장치를 통해 데이터 교환, 예외사항이나 에러 출력 ​ 운영체제 사용 목적 1. 추상화 : 컴퓨터 하드웨어의 복잡성을 추상화 시켜 응용 프로그램에게 표준화된 API 제공 ​ 2. 가상화 : 여러 개의 응용 프로그램과 여러 명의 사용자가 컴퓨터 자원을 공유하고 가상의 단독 컴퓨터 하드웨어를 사용하도록 제공하는 가상화 기능 제공 ​ 3. 관리화 : 컴퓨터 자원의 제약사항에 만족시키면서 컴퓨터 자원의 성능을 최대화시켜 응용 프로그램에게 제공 ​ 운영체제의 주요 기능 1. .. 2020. 9. 14.