[운영체제] 8. 메모리 관리
·
Study/OS
해당 내용은 공룡책(Operating System Concepts 10th Ed: Abraham Silberschatz, Peter Baer Galvin, Greg Gagne)과 대학 강의를 기반으로 재구성하여 정리한 공부 내용입니다.+) 6장부터는 사자책(명품 운영체제: 황기태)에 더 중점을 두고 전개됩니다.1. 메모리 계층 구조와 메모리 관리 핵심메모리 계층 구조: CPU 레지스터 - 캐시 메모리 - 메인 메모리 - 보조 기억 장치 ...읽기쓰기의 속도와 용량에 따라 계층 구조를 이루는 것중심에 메인 메모리 존재!(일반적으로 메모리 = 메인 메모리 지칭) 메인 메모리(RAM): 휘발성, 하드 디스크: 비휘발성메인 메모리 없이 컴퓨터 존재할 수 없음 CPU의 빠른 명령 처리 속도와 메모리 응답 속도의 ..
[운영체제] 7. 교착상태
·
Study/OS
해당 내용은 공룡책(Operating System Concepts 10th Ed: Abraham Silberschatz, Peter Baer Galvin, Greg Gagne)과 대학 강의를 기반으로 재구성하여 정리한 공부 내용입니다.+) 6장부터는 사자책(명품 운영체제: 황기태)에 더 중점을 두고 전개됩니다.1. 교착상태 문제 제기식사하는 철학자 문제- 두 철학자가 양쪽 포크를 모두 들 수 있을 때는 아무 문제 X- 2~4명이 동시에 식사하는 경우, 포크에 대한 충돌이 발생해 누군가의 대기는 필요하지만 무한 대기가 발생하지는 않음- 5명이 동시에 식사하지만 포크를 잡는 순간이 약간씩 다른 경우, 위와 같이 잠깐씩 대기하면 식사 가능- 5명이 모두 동시에 왼쪽 포크를 잡은 경우, 모든 철학자가 자신의 오..
[운영체제] 6. 스레드 동기화(thread synchronization)
·
Study/OS
해당 내용은 공룡책(Operating System Concepts 10th Ed: Abraham Silberschatz, Peter Baer Galvin, Greg Gagne)과 대학 강의를 기반으로 재구성하여 정리한 공부 내용입니다.+) 6장부터는 사자책(명품 운영체제: 황기태)에 더 중점을 두고 전개됩니다.1. 스레드 동기화의 필요성P: 여러 스레드가 공유 데이터에 동시에 쓰기를 수행하면 공유 데이터가 훼손될 수 있다.S: 스레드 동기화로, 한 스레드가 공유 데이터에 대한 사용을 마칠 때까지 다른 스레드가 접근하지 못하도록 제어한다. 스레드 동기화: 다수의 스레드가 공유 데이터를 동시에 쓰는 충돌 상황에서 공유 데이터가 훼손되지 않도록 스레드의 실행을 제어하는 기법→ 한 스레드가 공유 데이터에 대해 ..
[운영체제] 5. CPU Scheduling
·
Study/OS
해당 내용은 공룡책(Operating System Concepts 10th Ed. : Abraham Silberschatz, Peter Baer Galvin, Greg Gagne)과 대학 강의를 기반으로 재구성하여 정리한 공부 내용입니다.1. 기본 개념(Basic Concepts)멀티 프로그래밍의 목적은 CPU 이용률을 최대화하기 위해 항상 실행 중인 프로세스를 갖는 것한 프로세스가 대기해야 할 경우 운영체제는 그 프로세스로부터 CPU를 회수하여 다른 프로세스에 할당한다. CPU-I/O 버스트 사이클(CPU-I/O Burst Cycle)프로세스 실행은 CPU 실행과 I/O 대기의 사이클로 구성된다.CPU 버스트로 시작되어 I/O 버스트와 두 상태가 교대로 발생하다가 실행 종료를 위한 시스템 요청으로 끝난..
[운영체제] 4. Threads & Concurrency
·
Study/OS
해당 내용은 공룡책(Operating System Concepts 10th Ed. : Abraham Silberschatz, Peter Baer Galvin, Greg Gagne)과 대학 강의를 기반으로 재구성하여 정리한 공부 내용입니다.1. 개요(Overview)동기(Motivation)프로세스는 운영체제가 응용 프로그램을 적재하는 단위, 자원을 할당받는 단위스레드는 실행(스케줄링) 단위 스레드 = CPU 이용의 기본 단위스레드 ID, 프로그램 카운터(PC), 레지스터 집합, 스택으로 구성같은 프로세스에 속한 다른 스레드와 코드, 데이터 섹션, 열린 파일이나 신호와 같은 운영체제 자원 공유 현대의 거의 모든 응용 소프트웨어는 다중 스레드를 이용스레드는 application 안에서 함께 실행된다.appl..
[운영체제] 3. Process
·
Study/OS
해당 내용은 공룡책(Operating System Concepts 10th Ed. : Abraham Silberschatz, Peter Baer Galvin, Greg Gagne)과 대학 강의를 기반으로 재구성하여 정리한 공부 내용입니다.1. 프로세스 개념(Process Concept)CPU 활동들에 대하여 일괄처리 시스템에서는 작업(job), 이후 시분할 시스템에서는 사용자 프로그램 또는 태스크(task)라 하였고, 현재에는 이 모든 활동에 대해 프로세스라 한다. 프로세스(The Process)프로세스: 실행 중인 프로그램프로세스의 현재 활동 상태: 프로그램 카운터 값과 프로세서 레지스터 내용으로 표현프로세스의 메모리 배치:텍스트 섹션: 실행 코드데이터 섹션: 전역 변수, 정적 변수힙 섹션: 프로그램..
[운영체제] 2. Operating System Structures
·
Study/OS
해당 내용은 공룡책(Operating System Concepts 10th Ed. : Abraham Silberschatz, Peter Baer Galvin, Greg Gagne)과 대학 강의를 기반으로 재구성하여 정리한 공부 내용입니다.1. 운영체제 서비스(Operating System Services) 사용자 인터페이스(User interface)거의 모든 운영체제가 UI를 제공한다.가장 일반적으로 그래픽 사용자 인터페이스(GUI)가 사용되며, 터치스크린 인터페이스, 명령어 라인 인터페이스(CLI)가 사용되기도 한다. (여러 형태를 모두 제공하기도 함)프로그램 수행(program execution)시스템은 프로그램이 정상적이든, 비정상적이든(오류를 표시하면서) 메모리에 적재해 실행을 끝낼 수 있어야 ..
[운영체제] 1. Introduction
·
Study/OS
해당 내용은 공룡책(Operating System Concepts 10th Ed. : Abraham Silberschatz, Peter Baer Galvin, Greg Gagne)과 대학 강의를 기반으로 재구성하여 정리한 공부 내용입니다.공룡책을 읽으며 느낀 점은 두서와 맥락이 없고 내용이 중구난방으로 이어진다는 것이었다... 이상한 번역은 덤공룡책을 주교재로 진행하는 대학 강의 역시 연속적으로 불연속적인 내용을 던지며 진행되었고, 스스로 이해를 돕고자 이 시리즈를 작성하게 되었다.큰 목차는 공룡책과 동일하게 나누어 작성하지만, 세부 내용은 이해하기 쉽게 순서를 재구성하고 최대한 현재 내용이 무엇을 설명하는 것인지 파악하기 쉽도록 Theme을 나누어 작성하도록 하였다.우선적으로 대학 강의에서 커버하는 내..