[혼자 공부하는 컴퓨터구조+운영체제] 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 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)라는 임시 공간에 저장 => 전송률 비슷하게 맞추는 방법/ 버퍼에 데이터를 조금씩 모았다가 한꺼번에..
[혼자 공부하는 컴퓨터구조+운영체제] Chapter 07 보조기억장치
·
Computer Science/컴퓨터구조 | 운영체제
Chapter 07 보조기억장치1. 다양한 보조기억장치하드 디스크/ 플래터/ 데이터 접근 시간/ 플래시 메모리/ 페이지/ 블록 보조기억장치: 하드 디스크, 플래시 메모리(ex. USB 메모리, SD 카드, SSD)하드 디스크(HDD; Hard Disk Drive) = 자기 디스크(magnetic disk)자기적인 방식으로 데이터를 저장하는 보조기억장치트랙(track): 플래터를 여러 동심원으로 나눴을 때 그중 하나의 원섹터(sector)트랙을 여러 조각으로 나눈 것 중 한 조각하드 디스크의 가장 작은 전송 단위블록(block): 하나 이상의 섹터실린더(cylinder)여러 겹의 플래터 상에서 같은 트랙이 위치한 곳을 모아 연결한 논리적 단위연속된 정보는 한 실린더에 기록 -> 디스크 암을 움직이지 x 바..
0123suh
'혼공컴운' 태그의 글 목록