본문 바로가기

컴퓨터 구조 + 운영체제8

_운영체제_ 13. 교착 상태 13-1. 교착 상태란 두개 이상의 프로세스가 각자 가진 자원을 무작정 기다리면서 발생 식사하는 철학자 문제 교착 상태를 잘 표현할 수 있는 고전적인 문제 - 식사하는 철학자 원통형 탁자에 둘러앉고, 각자 음식이 있으며, 양옆에 포크 배치, 사람 수만큼 있는 포크로 식사 1. 왼쪽이나 오른쪽 포크가 사용 가능하면 집어든다 2. 왼쪽 오른쪽을 둘다 집을 시 식사한다 3. 식사가 끝나면 오른쪽->왼쪽 순서로 포크를 내려놓는다 4. 반복 -> 전부 다 식사하려고 포크를 집어들 경우, 영원히 하지못함(교착 상태) - 해결법 1. 교착 상태 발생 시의 상황을 정확히 표현 2. 교착 상태 발생의 근본적 이유 인지 교착 상태 표현법 : 자원 할당 그래프 어떤 프로세스가 어떤 자원을 사용하는지, 어떤 프로세스가 어떤 .. 2024. 1. 10.
_운영체제_ 12. 프로세스 동기화 12-1. 동기화란 협력하여 실행되는 프로세스들의 실행 순서와 자원 일관성을 보장하기 위한 개념 동기화의 의미 동시다발적으로 실행되는 각기 다른 독립적인 프로세스라도 공동의 목표를 위해 협력 올바른 실행을 위해 동기화는 필수 - 프로세스 동기화 프로세스들의 수행 주기를 맞추는 것 실행 순서 제어 : 프로세스를 올바른 순서로 실행 상호 배제 : 동시접근이 불가한 자원에 하나의 프로세스만 접근 -> 실행 순서 제어를 위한 동기화와 상호 배제를 위한 동기화로 나뉘어짐 - 실행 순서 제어 동기화 ex) Book.txt 파일을 처리하는 Writer와 Reader 프로세스가 있다고 가정할 시, Reader는 Writer 프로세스가 완료되어야 실행 가능 -> 올바른 순서대로 실행되어야 함 - 상호 배제 동기화 ex).. 2023. 12. 19.
_운영체제_ 11. CPU 스케줄링 11-1. CPU 스케줄링 개요 운영체제가 프로세스들에게 공정하고 합리적으로 CPU를 배분하는것 프로세스 우선순위 프로세스마다 우선순위의 차이가 존재(입출력 작업 양에 비례) - 프로세스의 실행 과정 CPU 사용 -> 입출력장치 사용 -> CPU 사용 -> 입출력 장치 사용 -> ... 프로세스 종류별로 입출력 장치와 CPU를 이용하는 시간의 차이 존재 -> 이에 따라 "입출력 집중 프로세스"와 "CPU 집중 프로세스"로 나뉘어짐 - 입출력 집중 프로세스 : 실행 상태 대기 상태(CPU 버스트 높음) 입출력 집중 프로세스는 작업 완료 후 대기 상태(CPU 할당X)가 되므로 먼저 처리한 후에 다른 작업을 재개하는 것이 "효율적".. 2023. 12. 19.
_운영체제_ 10. 프로세스와 스레드 10-1. 프로세스 개요 프로세스는 실행중인 프로그램을 의미 프로세스의 생성 : 보조기억장치에 저장된 프로그램을 메모리에 적재 후 실행 - 프로세스 직접 확인하기 포그라운드 프로세스 : 사용자가 볼 수 있는 실행 프로세스 백그라운드 프로세스 : 사용자가 보지 못하는 실행 프로세스 서비스 : 사용자와 상호작용X, 정해진 일만 수행하는 백그라운드 프로세스 - 프로세스 제어 블록(PCB) 수행되는 프로세스 실행 순서 관리 및 CPU와 같은 자원 배분 프로세스 식별을 위한 정보 저장 프로세스 생성 시 제작, 프로세스 실행 후 폐기 프로세스 ID : 특정 프로세스 식별 번호(고유) 레지스터 값 : 프로세스의 실행 시 이전 사용 레지스터 중간값 복원(작업을 이어 실행) 프로세스 상태 : 해당 프로세스의 상태 정보 .. 2023. 12. 15.
_운영체제_ 09. 운영체제 시작하기 09-1. 운영체제를 알아야 하는 이유 운영체제란 프로그램 실행에 필요한 요소인 자원을 필요한 만큼 할당하고 실행을 돕는 프로그램 운영체제는 기본적으로 메모리 내 '커널 영역'에 따로 적재 운영체제를 알아야 하는 이유 개발자의 유연한 문제 해결능력 향상 09-2. 운영체제의 큰 그림 운영체제의 심장, 커널 자원의 접근과 조작, 프로그램의 안전 실행을 담당하는 핵심 부분 - 운영체제 제공 서비스 중 커널에 '포함되지 않는' 서비스 사용자 인터페이스 : 윈도우 바탕화면 등과 같은 사용자가 컴퓨터와 소통하는 통로 1. 그래픽 인터페이스 2. 커맨드 라인 인터페이스 이중 모드와 시스템 호출 - 이중 모드 : CPU가 명령어 실행 모드를 '사용자 모드'와 '커널 모드'로 구분하여 운용 사용자 모드 : 운영체제 서.. 2023. 12. 3.
_컴퓨터 구조_ 07. 보조 기억 장치 07-1. 다양한 보조 기억 장치 하드 디스크 자기적 방식으로 데이터 저장(자기 디스크의 일종으로도 지칭) -하드 디스크의 물리적 구성요소 1. 플래터 : 실질적으로 데이터가 저장되는 하드디스크 내의 원판 2. 스핀들 : 플래터를 회전시키는 요소 3. RPM : 스핀들이 플래터를 돌리는 분당 회전수 단위 4. 헤드 : 플래터 위에서 데이터를 읽고 쓰는 바늘같은 부품 5. 디스크 암 : 헤드를 원하는 위치로 이동시키는 부품 하드디스크는 트랙과 섹터의 단위로 데이터를 저장 -하드 디스크의 논리적 구성요소 1. 트랙 : 플래터를 여러 동심원으로 나누었을 때 그 중 하나의 원 2. 섹터 : 트랙을 피자와 같이 여러 조각으로 나누었을 때 그 중 하나의 조각 3. 실린더 : 여러겹 겹쳐놓은 플래터 상에서 같은 위치.. 2023. 11. 26.