운영체제
가상메모리
https://inf.run/bXfg 그림으로 쉽게 배우는 운영체제 - 인프런 | 강의 이 강의를 통해 모든 개발자들이 필수로 알아야하는 운영체제의 원리를 알 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 본 포스팅은 위 링크의 강의를 요약/정리한 것으로, 지식의 공유보다는 개인적으로 공부하고 복습하기 위해 작성한 글입니다. 가상메모리 가상메모리란? 🔗당장 실행해야 하는 부분만 메모리에 넣고 나머지는 보조기억장치(스왑 영역)에 넣어 동작하도록 하는 것이다. 이렇게 함으로써 메모리보다 큰 프로세스나 운영체제를 실행할 수 있다. 🔗프로세스는 메모리 관리자를 통해 메모리에 접근하기 때문에 물리 메모리에 직접 접근할 일이 없다. 메모리 관리자는 프로세스의 요청이 있으면 그에 맞는 ..
데드락
https://inf.run/bXfg 그림으로 쉽게 배우는 운영체제 - 인프런 | 강의 이 강의를 통해 모든 개발자들이 필수로 알아야하는 운영체제의 원리를 알 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 본 포스팅은 위 링크의 강의를 요약/정리한 것으로, 지식의 공유보다는 개인적으로 공부하고 복습하기 위해 작성한 글입니다. 데드락이란? 데드락 🔗Deadlock, 교착상태 🔗여러 프로세스가 서로 다른 프로세스의 작업이 끝나길 기다리느라 아무도 작업을 못 하는 상태를 뜻한다. 🔗만약 어떤 자원을 여러 프로세스가 공유하지 않는다면 교착상태는 발생하지 않는다. 🔗교착상태가 일어나는 조건은 다음 네 가지다. 네 가지를 모두 충족하지 않는다면 교착상태는 일어나지 않는다. 상호배제: ..
CPU 스케줄링
https://inf.run/bXfg 그림으로 쉽게 배우는 운영체제 - 인프런 | 강의 이 강의를 통해 모든 개발자들이 필수로 알아야하는 운영체제의 원리를 알 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 본 포스팅은 위 링크의 강의를 요약/정리한 것으로, 지식의 공유보다는 개인적으로 공부하고 복습하기 위해 기록한 것입니다. CPU스케줄링 개요 CPU 스케줄링 🔗운영체제가 프로세스에 CPU를 할당하고 해제하는 것 🔗스케줄러(운영체제)가 고려하는 것 어떤 프로세스에 CPU 리소스를 줘야 하는가? 프로세스가 얼마나 오래 CPU를 사용해야 하는가? 🔗CPU Burst: CPU를 할당받아 실행하는 것 🔗I/O Burst: 입출력 작업 다중 큐 다중큐 🔗프로세스의 상태 중 준비와 대..
운영체제 들어가기
https://inf.run/bXfg 그림으로 쉽게 배우는 운영체제 - 인프런 | 강의 이 강의를 통해 모든 개발자들이 필수로 알아야하는 운영체제의 원리를 알 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 본 포스팅은 위 링크의 강의를 요약/정리한 것으로, 지식의 공유보다는 개인적으로 공부하고 복습하기 위해 기록한 것입니다. 개요 개인용 컴퓨터 - 윈도우즈, 맥 서버 - 유닉스, 리눅스 모바일 - 안드로이드 ios 내비게이션, 스마트워치, 세탁기 - 임베디드 운영체제 컴퓨터는 운영체제가 있어야 동작하는가? - 없어도 동작한다. 그러나 처음 설계한 그대로만 동작할 뿐 다른 기능을 추가할 수 없다. 운영체제가 하는 일 프로세스 관리, 메모리 관리, 하드웨어 관리, 파일 시스템 ..

3. 프로세스의 이해
프로세스의 이해 프로세스란? - 실행 중인 프로그램을 프로세스라 한다. - 프로세스란 운영체제에서의 작업 단위이다. - 프로세스를 실행하려면 자원이 필요하다.(CPU time, memory, files, I/O devices) Memory layout of a process 프로그램이 실행될 때 운영체제는 프로세스가 사용할 가상 메모리 공간을 받는데, 이 메모리의 구성을 메모리 레이아웃이라고 한다. - Text section: 실행 가능한 코드가 차지하는 영역 - Data section: 전역 변수가 차지하는 영역 - Heap sction: 동적 할당으로 저장되는 데이터가 차지하는 영역. 런타임 시에 크기가 결정되며, 사용자가 관리해 줘야 한다. 낮은 주소의 메모리에서부터 높은 주소의 메모리로 할당된다...

2. 운영체제의 개념과 구조
운영체제의 개념과 구조 A computer system can be divided roughly into four components: - the hardware, - the operating system, - the application programs, - user 운영체제는 어플리케이션과 하드웨어를 연결해 주는 역할을 한다. 운영체제의 정의 - 운영체제의 보편적인 정의는 없다 - 흔히 'kernel'이라고 하는, 항상 컴퓨터에서 작동하는 프로그램을 운영체제라고 한다 Kernel: 응용 프로그램이나 주변 장치가 올바르게 작동하도록 통제하고 디스크나 메모리 등의 자원을 배분하거나 응용 프로그램의 실행 등을 처리한다 전통적인 컴퓨터 시스템의 구성 요쇼 - 하나 이상의 CPU - 'bus'를 통해 연결된 ..
1. 운영체제란 무엇인가
운영체제(Operating system) 운영체제(Operating system)란 컴퓨터 프로그램을 운영하는 소프트웨어를 뜻한다. 이렇게만 말하면 쉽고 간단한데, 당연하게도 이것만으로는 운영체제가 무엇인지 안다고 말할 수 없다. 운영체제를 이해하려면 컴퓨터가 무엇인지부터 확실하게 알아야 한다. 컴퓨터는 정보를 처리하는 기계로 정의할 수 있다. 그렇다면 정보는 무엇인가? 클로드 섀넌의 정보 이론에 따르면 정보란 불확실성을 측정해서 수치화한 것이다. 섀넌은 다음과 같은 방식으로 정보량을 수치화했다. I(E)는 다음과 같이 나타낼 수 있다. I(E) = log₂1/P(E) = - log₂P(E) I(E)는 정보량을 뜻하며 P(E)는 사건이 발생할 확률을 뜻한다. 그리고 P(E)가 1/2일 때의 I(E)를 1..