[혼자 공부하는 컴퓨터구조+운영체제] Chapter 13 교착 상태
·
Computer Science/컴퓨터구조 | 운영체제
Chapter 13 교착 상태1. 교착 상태란교착 상태/ 식사하는 철학자 문제/ 자원 할당 그래프/ 교착 상태 발생 조건식사하는 철학자 문제(dining philosophers problem)교착 상태의 발생을 보여주는 예시철학자 사이에 식사에 필요한 포크/ 식사는 2개의 포크로 먹을 수 있는 음식 철학자 식사 순서계속 생각을 하다 L 포크 사용 가능하면 집어듬계속 생각을 하다 R 포크 사용 가능하면 집어듬L, R 포크 모두 집어들면 정해진 시간동안 식사를 함식사 시간 끝나면 R 포크 내려놓음R 포크 내려놓은 뒤 L 포크 내려놓음다시 1번부터 반복=> 모든 철학자 동시에 포크 집어 식사 -> 어떤 철학자도 식사 X 영원히 생각만 하는 상황 발생모든 철학자 L 포크 집어들면 모두 R 포크 집어들 수 X->..
[혼자 공부하는 컴퓨터구조+운영체제] Chapter 12 프로세스 동기화
·
Computer Science/컴퓨터구조 | 운영체제
Chapter 12 프로세스 동기화1. 동기화란동기화/ 공유 자원/ 임계 구역/ 상호 배제 협력하여 실행되는 프로세스 -> 실행 순서와 자원의 일관성 보장 필요 => 동기화 되어야 함동기화(Synchronization) 특정 자원에 접근할 때 한 개의 프로세스만 접근하게 하거나 프로세스를 올바른 순서대로 실행하게 하는 것 프로세스 동기화: 프로세스들 사이의 수행 시기를 맞추는 것 실행 순서 제어동시에 실행되는 프로세스 올바른 순서대로 실행ex. Writer 프로세스: Book.txt 파일에 값을 저장하는 프로세스/ Reader 프로세스:  Book.txt 파일에 저장된 값을 읽어 들이는 프로세스Writer -> Reader: 'Book.txt 안에 값이 존재' 조건 만족 -> Reader 프로세스 실행 ..
[혼자 공부하는 컴퓨터구조+운영체제] Chapter 11 CPU 스케줄링
·
Computer Science/컴퓨터구조 | 운영체제
Chapter 11 CPU 스케줄링1. CPU 스케줄링 개요프로세스 우선순위/ 스케줄링 큐/ 선점형과 비선점형 스케줄링 CPU 스케줄링(CPU scheduling)운영체제가 프로세스에게 공정하고 합리적으로 CPU 자원을 배분하는 것컴퓨터 성능하고 직결프로세스 우선순위프로세스마다 우선순위가 다름-> 우선순위 ↑ 프로세스 = 빨리 처리해야 하는 프로세스(ex. 입출력 프로세스) 프로세스는 실행 상태, 대기 상태 반복하며 실행입출력 집중 프로세스(I/O bound process)입출력 작업 ↑ 프로세스ex. 비디오 재생, 디스크 백업 작업실행 상태 *입출력 버스트 ↑ 프로세스CPU 집중 프로세스(CPU bound process)CPU 작업 ↑ 프로세스ex. 복잡한 수학 연산, 컴파일, 그래픽 처리실행 상태 >..
[혼자 공부하는 컴퓨터구조+운영체제] Chapter 10 프로세스와 스레드
·
Computer Science/컴퓨터구조 | 운영체제
Chapter 10 프로세스와 스레드1. 프로세스 개요프로세스/ 프로세스 제어 블록/ 문맥 교환/ 프로세스 사용자 영역프로세스(process)실행 중인 프로그램포그라운드 프로세스(foreground process): 사용자가 보는 앞에서 실행되는 프로세스백그라운드 프로세스(background process): 사용자가 보지 못하는 뒤편에서 실행되는 프로세스데몬(daemon)_유닉스/ 서비스(service)_윈도우: 사용자와 상호작용 X 정해진 일만 수행프로세스 제어 블록(PCB; Process Control Block)모든 프로세스는 실행 위해 CPU 필요로 함But, CPU 자원 한정되어 있음 = 모든 프로세스 CPU 동시에 사용 X-> 프로세스 돌아가며 한정된 시간만큼만 CPU 이용*타이머 인터럽트 ..
[혼자 공부하는 컴퓨터구조+운영체제] Chapter 09 운영체제 시작하기
·
Computer Science/컴퓨터구조 | 운영체제
Chapter 09 운영체제 시작하기1. 운영체제를 알아야 하는 이유운영체제/ 문제 해결운영체제(Operating System)프로그램 실행에 필요한 요소: 시스템 자원 = 자원ex. CPU, 메모리, 보조기억장치, 입출력장치 등 컴퓨터 부품=> 모든 프로그램은 실행되기 위해 반드시 자원 필요 운영체제실행할 프로그램에 필요한 자원 할당, 프로그램 올바르게 실행되도록 돕는 프로그램(: 메모리에 적재되어야 함)컴퓨터가 부팅될 때 메모리 내 커널 영역(kernel space)에 따로 적재지속적으로 메모리 자원 관리: 실행할 프로그램 -> 메모리에 적재/ 실행되지 X 프로그램 -> 메모리에서 삭제공정하게 여러 프로그램에 CPU 자원 할당사용자가 실행하는 응용 프로그램이 하드웨어 자원에 접근하는 것 방지 -> 자..
[혼자 공부하는 컴퓨터구조+운영체제] Chapter 08 입출력장치
·
Computer Science/컴퓨터구조 | 운영체제
Chapter 08 입출력장치1. 장치 컨트롤러와 장치 드라이버장치 컨트롤러/ 장치 드라이버 CPU와 메모리의 데이터 전송률 ↑, 입출력장치의 데이터 전송률 ↓전송률(transfer rate): 데이터를 얼마나 빨리 교환할 수 있는지를 나타내는 지표 => 컴퓨터에 직접 연결 X, 장치 컨트롤러 ~> 컴퓨터 내부와 정보 주고받음장치 컨트롤러(device controller) = 입출력 제어기(I/O controller) = 입출력 모듈(I/O module)CPU와 입출력장치 간의 통신 중개오류 검출데이터 버퍼링(buffering)전송률이 높은 장치와 낮은 장치 사이에 주고 받는 데이터 -> 버퍼(buffer)라는 임시 공간에 저장 => 전송률 비슷하게 맞추는 방법/ 버퍼에 데이터를 조금씩 모았다가 한꺼번에..
0123suh
'혼자 공부하는 컴퓨터 구조+운영체제' 태그의 글 목록