학교/운영체제 14

[운영체제] 10. 가상 메모리

아래 도서 기반 정리 운영체제 | Abraham Silberschatz - 교보문고 운영체제 | ▶ 이 책은 운영체제론을 다룬 이론서입니다. 운영체제론의 기초적이고 전반적인 내용을 학습할 수 있습니다. product.kyobobook.co.kr 목차 배경 요구 페이징 쓰기 시 복사 페이지 교체 프레임의 할당 스래싱 메모리 압축 배경 실제 프로그램을 보면 많은 경우에 프로그램 전체가 한꺼번에 메모리에 늘 올라가 있어야 하는 것은 아니다. 만약 프로그램을 일부분만 메모리에 올리고 실행 가능하다면, 아래와 같은 이점이 있다. 프로그램은 물리 메모리 크기에 제약받지 않을 수 있다. 각 프로그램이 더 작은 메모리를 사용하므로, 더 많은 프로그램을 동시에 수행할 수 있다. 따라서 응답시간은 늘어나지 않고, CPU ..

학교/운영체제 2023.02.06

[운영체제] 9. 메인 메모리

아래 도서 기반 정리 운영체제 | Abraham Silberschatz - 교보문고 운영체제 | ▶ 이 책은 운영체제론을 다룬 이론서입니다. 운영체제론의 기초적이고 전반적인 내용을 학습할 수 있습니다. product.kyobobook.co.kr 목차 배경 연속 메모리 할당 페이징 페이지 테이블의 구조 스와핑 배경 메인메모리와 각 처리 코어에 내장된 레지스터들은 CPU가 접근할 수 있는 유일한 범용 저장장치다. 모든 실행되는 명령어와 데이터들은 CPU가 직접적으로 접근 가능한 메인 메모리와 레지스터에 있어야 한다. 기본 하드웨어 (Basic Hadware) 시스템의 올바른 동작을 위해선 사용자 프로그램으로부터 운영체제 영역과 사용자 프로그램 사이를 보호해야 한다. 운영체제가 CPU와 메모리 간의 접근 중에..

학교/운영체제 2023.02.04

[운영체제] 8. Deadlocks (교착 상태)

아래 도서 기반 정리 운영체제 | Abraham Silberschatz - 교보문고 운영체제 | ▶ 이 책은 운영체제론을 다룬 이론서입니다. 운영체제론의 기초적이고 전반적인 내용을 학습할 수 있습니다. product.kyobobook.co.kr 목차 Deadlocks 시스템 모델 멀티 스레드 응용에서의 교착 상태 교착 상태 특성 교착 상태 처리 방법 교착 상태 예방 교착 상태 회피 교착 상태 탐지 교착 상태로부터 회복 Deadlocks (교착 상태) 두 개 이상의 프로세스들이, 오로지 대기중인 프로세스들 중 하나에 의해서만 야기될 수 있는 이벤트를 무한정 기다리는 상황이 발생했을 때 이 프로세스들이 교착상태라고 한다. 프로세스가 리소스를 점유하고 놓아주지 않는 상태 어떠한 프로세스도 리소스를 점유하지 못..

학교/운영체제 2023.01.30

[운영체제] 7. 동기화 예제

아래 도서 기반 정리 운영체제 | Abraham Silberschatz - 교보문고 운영체제 | ▶ 이 책은 운영체제론을 다룬 이론서입니다. 운영체제론의 기초적이고 전반적인 내용을 학습할 수 있습니다. product.kyobobook.co.kr 목차 고전적인 동기화 문제들 커널 안에서의 동기화 POSIX 동기화 JAVA에서의 동기화 대체 방안들 고전적인 동기화 문제들 유한 버퍼 문제 (The Bounded-Buffer Problem) 생산자 소비자 문제 Readers-Writers Problem Readers : 데이터를 읽기만하는 프로세스 Writers : 데이터를 갱신하는 프로세스 reader가 동시에 공유데이터에 접근해도 문제가 발생하지 않는다. 그러나 여러 writer나 스레드가 동시에 접근하면 ..

학교/운영체제 2023.01.30

[운영체제] 6. 동기화 도구들

아래 도서 기반 정리 운영체제 | Abraham Silberschatz - 교보문고 운영체제 | ▶ 이 책은 운영체제론을 다룬 이론서입니다. 운영체제론의 기초적이고 전반적인 내용을 학습할 수 있습니다. product.kyobobook.co.kr 목차 배경 임계구역 문제 Peterson의 해결안 동기화를 위한 하드웨어 지원 Mutex Locks 세마포 모니터 라이브니스 배경 프로세스가 병행(동시) 또는 병렬로 실행될 때, 여러 프로세스가 공유하는 데이터의 무결성에 문제를 일으킬 수 있다. race condition (경쟁 상황) 여러 개의 프로세스가 동시에 동일한 자료를 접근하여 조작하고, 접근이 발생한 특정 순서에 따라 실행 결과가 바뀌는 상황 ex) 은행 계좌 인출 문제, 생산자 소비자 문제 이러한 문..

학교/운영체제 2023.01.29

[운영체제] 5. CPU 스케줄링

도서 기반 내용 정리 운영체제 | Abraham Silberschatz - 교보문고 운영체제 | ▶ 이 책은 운영체제론을 다룬 이론서입니다. 운영체제론의 기초적이고 전반적인 내용을 학습할 수 있습니다. product.kyobobook.co.kr 목차 CPU 스케줄링 스케줄링 기준 스케줄링 알고리즘 CPU 스케줄링 CPU-I/O burst cycle 프로세스 실행은 CPU 실행과 I/O 대기의 사이클로 구성된다. 프로세스 실행은 CPU 버스트 다음 I/O 버스트가 번갈아 실행된다. 마지막 CPU 버스트는 실행 종료하기 위한 요청과 함께 끝낸다. CPU 스케줄러 (Scheduler) CPU가 유휴 상태가 될 때, 레디 큐에 있는 어떤 프로세스에게 CPU 코어를 할당할 지 결정한다. 선점 및 비선점 스케줄링 ..

학교/운영체제 2023.01.18

[운영체제] 4. 스레드와 병행성 (Threads and Concurrency)

도서 기반 내용 정리 운영체제 | Abraham Silberschatz - 교보문고 운영체제 | ▶ 이 책은 운영체제론을 다룬 이론서입니다. 운영체제론의 기초적이고 전반적인 내용을 학습할 수 있습니다. product.kyobobook.co.kr 목차 개요 다중 코어 프로그래밍 다중 스레드 모델 스레드 라이브러리 암묵적 스레딩 스레드와 관련된 문제들 Threads Threads 프로세스의 작업 흐름 이다. 프로세스 : 운영체제로부터 자원을 할당받는 작업의 단위 스레드 : 프로세스가 할당받은 자원을 이용하는 실행의 단위 CPU 이용의 기본 단위 스레드는 같은 프로세스에 속한 다른 스레드와 코드, 데이터 섹션, 열린 파일이나 신호와 같은 운영체제 자원을 공유한다. 프로세스가 다수의 제어 스레드를 가진다면, 프..

학교/운영체제 2023.01.18

[운영체제] 3. 프로세스 관리

도서 기반 내용 정리 운영체제 | Abraham Silberschatz - 교보문고 운영체제 | ▶ 이 책은 운영체제론을 다룬 이론서입니다. 운영체제론의 기초적이고 전반적인 내용을 학습할 수 있습니다. product.kyobobook.co.kr 목차 프로세스 개념 프로세스 스케줄링 프로세스에 대한 연산 프로세스 간 통신 공유 메모리 시스템에서의 프로세스 간 통신 메시지 전달 시스템에서의 프로세스 간 통신 IPC 시스템 사례 클라이언트 서버 환경에서 통신 프로세스 개념 프로그램 : 명령어 리스트를 내용으로 가진 디스크에 저장된 파일(실행파일)과 같은 수동적 존재 프로세스 : 다음에 실행할 명령어를 지정하는 프로그램 카운터와 관련 자원의 집합을 가진 능동적인 존재 실행 파일이 메모리에 적재될 때 프로그램은 ..

학교/운영체제 2023.01.16

[운영체제] 2. 운영체제 구조

도서 기반 내용 정리 운영체제 | Abraham Silberschatz - 교보문고 운영체제 | ▶ 이 책은 운영체제론을 다룬 이론서입니다. 운영체제론의 기초적이고 전반적인 내용을 학습할 수 있습니다. product.kyobobook.co.kr 목차 운영체제 서비스 시스템 콜 링커와 로더 응용 프로그램이 운영체제마다 다른 이유 운영체제 디버깅 운영체제 서비스 운영체제는 프로그램과 사용자에게 특정 서비스를 제공한다. 아래 서비스는 프로그래머가 프로그래밍 작어블 더 쉽게 수행할 수 있도록 해준다. 사용자 인터페이스 (User Interface) 사용자와 컴퓨터 시스템이 만나는 지점 키보드 타이핑이나 마우스 클릭과 같은 행동으로 사용자는 컴퓨터를 조작할 수 있다. GUI (Graphical user inter..

학교/운영체제 2023.01.09

[운영체제] 1. 서론

아래 도서 기반 내용 정리 운영체제 | Abraham Silberschatz - 교보문고 운영체제 | ▶ 이 책은 운영체제론을 다룬 이론서입니다. 운영체제론의 기초적이고 전반적인 내용을 학습할 수 있습니다. product.kyobobook.co.kr 목차 운영체제가 할 일 컴퓨터 시스템의 구성 컴퓨터 시스템의 구조 운영체제의 작동 자원 관리 운영체제가 할 일 운영체제 컴퓨터 하드웨어를 관리하고, 응용 프로그램 실행 환경을 제공하는 소프트웨어 컴퓨터 시스템의 4가지 구성요소 하드웨어 : CPU(중앙처리장치), 메모리 및 입출력(I/O) 장치로 구성되며 기본 계산용 자원을 제공 운영체제 : 다양한 사용자를 위해 응용 프로그램 간의 하드웨어 사용을 제어하고 조정 응용 프로그램 : 워드 프로세서, 컴파일러, 웹..

학교/운영체제 2023.01.07