운영체제

    가상메모리

    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. 프로세스의 이해

    3. 프로세스의 이해

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

    2. 운영체제의 개념과 구조

    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..