IT/OS

    운영체제 5차 정리 - Virtual Memory

    운영체제 5차 정리 - Virtual Memory

    호야의 블로그 [OS] 운영체제 5차 정리저번 메모리 관리에 이어 가상 메모리에 관한 정리를 하도록 하겠습니다. Virtual Memory*Background of Virtual Memory - 프로그램이 실행되려면 메인 메모리에 프로그램이 탑재되어야 하는데, 그 크기가 클 경우는 문제가 될 수 있다. - 소스 코드의 전체의 루틴 중에 실행되어 사용되는 코드는 많지 않으므로, 전체 중에 일부만 탑재시키는 목적으로 가상 메모리를 사용한다. - Memory Management에서의 목적과 같이 Degree of multiprogramming을 높여주는 것이 목적이지만 Memory Management의 Overlay나 Dynamic Loading, Linking과 다른 것은 Logical address spa..

    운영체제 4차 정리 - Memory Management (2)

    운영체제 4차 정리 - Memory Management (2)

    호야의 블로그 [OS] 운영체제 4차 정리저번 메모리 관리 정리에 이어 이번에 메모리 관리 마무리 정리를 하도록 하겠습니다. Memory Management (2)Non-Contiguous Allocation* Page - 물리적 주소공간을 고정된 사이즈의 Block으로 나눈 것을 Frame이라 한다. - 논리적 주소공간을 고정된 사이즈의 Block으로 나눈 것을 Page라 한다. - 1개의 프로그램을 실행시키기 위한 n개의 Page는 n개의 Frame이 필요하다. - 논리적 주소공간을 물리적 주소공간으로 번역하기 위해 Page Table이 필요하다. - External Fragmentation을 없앨 수 있으며, 프로세스에 할당되는 주소공간이 연속적일 필요가 없다. - Internal Fragmenta..

    운영체제 3차 정리 - Memory Management (1)

    운영체제 3차 정리 - Memory Management (1)

    호야의 블로그 [OS] 운영체제 3차 정리저번 운영체제 정리에 이어 이번에는 메모리 관리에 대한 정리를 시작하겠습니다. Memory Management (1) - 메모리의 기본 단위는 "byte" 또는 "word"이며 일반적으로 프로세서는 메모리로부터 처리할 내용을 가져오거나 처리 결과를 메모리에 저장함 - 명령어 실행과정에서 메모리는 단지 메모리 주소의 연속으로 보기 때문에, 프로그램이 메모리의 주소를 어떻게 생성하는지 알 수 없어 프로그램을 실행시키기 위한 메모리 load 방법을 알 필요가 있음 - Process를 메모리에 Load 하는 방법으로 연속적으로 메모리를 할당하는 방법과 프로세스를 페이지나 세그먼트 단위로 나누어 여러 곳에 흩어져 적재하는 분산 적재로 구별할 수 있음 - 다중 프로그래밍 시..

    운영체제 2차 정리 - 데드락(Deadlock)

    운영체제 2차 정리 - 데드락(Deadlock)

    호야의 블로그 [OS] 운영체제 2차 정리저번 포스트와 마찬가지로 운영체제 정리했던 자료를 공유하겠습니다. 오늘은 데드락에 관한 내용을 다루겠습니다. 기본 개념을 익히신 상태로 참고용으로 봐주시면 도움이 되겠습니다. 데드락(Deadlock)※ 데드락 - 다중 프로그래밍 시스템에서 결코 일어나지 않을 사건을 기다리고 있는 프로세스를 Deadlock, 교착상태 - 두 개 이상의 작업이 중지되고 각각 사용할 수 있는 자원을 기다리는 경우, 시스템 측면에서 자원의 교우가 서로 뒤엉킨 상태 - 임의의 프로세스 집합에서 그 집합 내의 각각의 프로세스가 그 집합 내의 다른 프로세스에 의해서만 발생될 사건을 서로 기다리고 있는 상태 - Deadlock은 제한된 자원의 이용률과 효율성을 증가시키기 위한 병행 처리와 자원..

    운영체제 1차 정리 - 스케줄링

    운영체제 1차 정리 - 스케줄링

    호야의 블로그 [OS] 운영체제 1차 정리작년에 정리한 운영체제 과목을 공유하고자 합니다. 최대한 간단히 정리하였습니다. OS - Scheduling1. 멀티프로그래밍-CPU사용/IO ->메모리 사용 ->실행 우선권 2. 타임 쉐어링(Time Sharing): 동일 시간으로 배분 3. 계층 접근 방식(layered approaches): OS를 여러 계층으로 나누고 각 계층의 하위 계층에 놓음app 장점: 모듈화 / 단점: 정의가 어렵다HWOS ->user/kernel 4. 프로세스: 실행중인 프로그램, 능동적이다. 일의 기본 단위(unit of working)프로그램: 수동적인 동작을 하며 메모리에 미리 안 올라가있다.프로세스의 주기: 탄생-활동-죽음(상태 변화로 일어남) new -> ready run..

    운영체제 CPU 스케줄러

    운영체제 CPU 스케줄러

    호야의 블로그 들어가며저번 시간 프로세스에 관해 간단히 알아보았고, 이번 시간엔 스케줄링 알고리즘의 핵심. CPU 스케줄링에 대해 알아보겠습니다. 시스템 전체에 퍼포먼스를 고려한 공평성을 위한 것으로 3가지 종류의 스케줄러가 있다고 했습니다.long-term 스케줄러: new->ready 사이midium-term 스케줄러: swap에 관여short-term 스케줄러: CPU 스케줄링, ready -> run (CPU에서 동작해서 속도가 제일 빠르다)이중에서도 short-term 스케줄러에 해당하는 CPU 스케줄링 알고리즘에 대해 알아보도록 하겠습니다. 평가기준(performance criteria)CPU 스케줄링을 평가하는 기준이 있습니다. CPU에 동작시간이나, 사용량, 응답시간 등 아래와 같은 다양한..

    진짜 간단히 정리한 OS 프로세스 개념

    진짜 간단히 정리한 OS 프로세스 개념

    호야의 블로그 간단한 정리운영체제에 대한 공부를 할 때 가볍게 알고 넘어가면 좋을 개념 설명을 시작하겠습니다. 프로세스의 개념과 상태프로세스는 OS를 이해하기 위해 알아야 할 개념입니다. 프로세스(process)는 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 말합니다. 능동적이며 일의 기본 단위(unit of working)를 말합니다. 프로그램과의 차이는 프로그램은 수동적이며 메모리에 미리 올라가있지 않다는 것입니다. 또한 프로세스는 생명과 같이 '탄생-활동-죽음'과 같은 상태 변화를 합니다. 종종 스케줄링의 대상이 되는 작업(task)이라는 용어와 거의 같은 의미로 쓰이죠. 또한, 여러 개의 프로세서를 사용하는 것을 멀티프로세싱이라고 하며 같은 시간에 여러 개의 프로그램을 띄우는 시분할 방식..

    운영체제에 대해서

    운영체제에 대해서

    호야의 블로그 운영체제작년 운영체제에 대한 과제로 수행했던 자료입니다. 운영체제에 대한 기초를 잡으시는 분들은 가볍게 읽고 넘어가시면 좋을 것 같습니다.17년도를 기준으로 작성된 자료이며 디테일한 부분은 생략된 점 참고해주시길 바라겠습니다. 운영체제의 의미와 목적 (운영체제란 무엇이고 왜 사용하는가?) 사용자가 컴퓨터를 쉽게 이용할 수 있게 사용자 인터페이스 제공과 동시에 컴퓨터와 사용자 간의 중개 역할을 하는 시스템 소프트웨어입니다. 또한, 컴퓨터 시스템의 하드웨어를 관리도 할뿐더러 응용 소프트웨어를 실행할 수 있게 하드웨어의 추상화 플랫폼과 공통의 시스템 서비스를 제공합니다. 운영체제의 목적으로는 사용자에게 프로그램을 쉽고, 효율적인 환경 제공과 동시에 시스템 하드웨어 및 소프트웨어 자원들을 다중 사..