CPU그래픽 카드 (GPU)응용 전용 처리장치 등 (특별한 목적을 위해서 계산하는 녀석)연산 수행컴퓨터의 모든 장치의 동작 제어프로세서 내부에 있는 메모리 \- 프로세서가 사용할 데이터 저장 \- 컴퓨터에서 가장 빠른 메모리 레지스터의 종류용도에 따른 분류 \-
운영체제의 역할 User Interface(편리성) CUI (Character User Interface) GUI (Graphical User Interface) EUCI (End-User Comfortable Interface) Resource management
실행 할 프로그램 + 데이터컴퓨터 시스템에 실행 요청 전의 상태실행을 위해 시스템(커널)에 등록된 작업시스템 성능 향상을 위해 커널에 의해 관리 됌.디스크 안에 있는 상태면 Job, 커널에서 실행되고 있으면 Process가 된다.커널에 등록되고 커널의 관리하에 있는 작
Light Weight Process(LWP)프로세서(e.g CPU) 활용의 기본 단위제어 요소 외 코드, 데이터 및 자원들은 프로세스 내 다른 스레드들과 공유전통적 프로세스 = 단일 스레드 프로세스 (제어가 하나)구성요소 Thread ID Register set
프로세스는 실행 중인 프로그램으로 디스크로부터 메모리에 적재되어 CPU 의 할당을 받을 수 있는 것을 말한다. 운영체제로부터 주소 공간, 파일, 메모리 등을 할당받으며 이것들을 총칭하여 프로세스라고 한다. 구체적으로 살펴보면 프로세스는 함수의 매개변수, 복귀 주소와 로
자원을 할당할 프로세스를 선택해야 함(Scheduling)하나의 자원을 여러 스레드들이 번갈아가며 사용(예, 프로세서)프로세스 스케줄링(Process Scheduling)프로세서 사용시간을 프로세스들에게 분배하나의 자원을 분할하여 동시에 사용예) 메모리작업 요청으로부터
첫번 째 과제 수행(Alarm System Call)을 수행하기 위해 알아야할 Thread에 대해 알아보자. 프로세스의 문제점 프로그램이 메모리에 로딩되어 실행 중인 상태인 프로세스(Process)를 기반으로 하는 멀티태스킹은 여러 프로세스를 동시에 실행시킴으로써
기상을 위해 정해진 시간이 되면(또는 지나면) 울리는 알람처럼 이번 과제에서의 Alarm(알람)은 호출한 프로세스를 정해진 시간 후에 다시 시작하는 커널의 내부 함수이다.기본적으로 Pintos에서 제공하는 알람 기능은 Busy waiting을 이용하여 구현되어 있는데,
Alarm Clock: busy-wait, interruptPriority Scheduling(1): thread waiting, list priority, semaphore waiting listPriority Scheduling(2): priority donatio
작성예정
시스템 콜 핸들러 및 시스템 콜 (halt, exit, create, remove) 구현Pintos는 시스템 콜 핸들러가 구현되어 있지 않아 시스템 콜이 호출될 수 없으므로 응용 프로그램이 정상적으로 동작하지 않는다.사용자는 Pintos의 시스템 콜 매커니즘을 이해
유저모드 (User Mode)와 커널모드 (Kernel mode)커널에서 중요한 자원을 관리하기 때문에, 사용자가 그 중요한 자원에 접근하지 못하도록 모드를 2가지로 나눈 것이다.유저(사용자)가 접근할 수 있는 영역을 제한적으로 두고, 프로그램의 자원에 함부로 침범하지
이어서 진행해보도록 하겠다.이전 글에서는 비교적 쉬운(?) 시스템 콜들을 다루어보았는데, 이번 글에서는 wait(), exec(), open(), filesize() 등을 다루어 보겠다.파일을 열 때 사용하는 시스템 콜성공시 fd를 생성하고 반환, 실패 시 -1 반환F
열린 파일의 데이터를 읽는 시스템 콜열린 파일의 데이터를 읽는 시스템 콜성공 시 읽은 바이트 수를 반환, 실패 시 -1 반환buffer : 읽은 데이터를 저장할 버퍼의 주소 값size : 읽을 데이터 크기fd 값이 0일 때 키보드의 데이터를 읽어 버퍼에 저장. (inp
Argument Passing & x86-64 Calling ConventionSystem Call (Syscall handler, Syscall, exception, register): \- user mode, kernel modehalt, exit, fork, e
In this assignment, you will remove that limitation by building an illusion of infinite memory.You should take care to fix any bugs in your project 2
물리적 메모리의 주소변환은 운영체제가 관여하지 않지만,Virtual Memory 기법은 전적으로 운영체제가 관여한다.실제로 필요할 때 page를 메모리에 올리는 것예를 들면, 방어적인 코드는 일반적인 상황에서 요청이 이루어지지 않아 메모리에 미리 올라가 있을 필요가 없
Memory Management > 가상 메모리 시스템을 지원하려면 virtual pages와 physical frames을 효과적으로 관리한다. 즉, 사용 중인 (virtual or physical) 메모리 영역, 용도, 사용자 등을 추적해야 한다. 먼저 suppl
이 프로젝트에서는 non-disk 기반의 image인 anonymous page를 구현한다.anonymous mapping에는 backing file이나 device가 없다.file-backed pages와 달리 named file source가 없기 때문에 anony
작성예정
작성예정
작성예정
사실 Virtual Memory에 대해 아직 배워야할 것들이 너무 많고, 아직 이해하지 못한 부분들이 있기 때문에 세세한 내용은 적을 수 없어 자세한 개념이나 설명은 적을 수 없을 것 같고 키워드 위주로 정리하려고 한다.WIL KeywordVirtual Memory (
이전 프로젝트에서는 실제로 파일 시스템이 어떻게 구현되는지에 대한 걱정 없이 광범위하게 파일 시스템을 사용했다. 이번 프로젝트에서는 파일 시스템 구현을 향상시킬 것이다. 코드 수정 및 구현은 주로 filesys directory에서 할 것.프로젝트 4는 기존에 구현했
기본 파일 시스템은 외부 단편화에 취약한 single extent로 파일을 할당한다. 즉 n-block 파일은 n개의 블록이 할당 가능 상태일지라도 할당되지 않는다(외부 단편화). on-disk inode 구조체를 수정하여 이 문제를 제거해야한다.on-disk inod
드디어 PintOS의 마지막 주제인 Project4 과제 기간이 끝났다. Project4의 주제는 File System. 이전까지 핀토스는 단일 디렉토리만 존재하는 단일 계층으로 root 디렉토리에만 파일이 생성되었다. File System을 구현하여 root 디렉토리
컴퓨터 시스템을 운영하는 소프트웨어컴퓨터에서 계속 돌아가는 프로그램어플리케이션 프로그램에게 시스템 서비스를 제공하기 위함프로세스, 자원, 유저 인터페이스 등을 제공하는 역할컴퓨터의 하드웨어를 관리하는 소프트웨어간단히 말하면, 컴퓨터에서 사용자가 편리하게 하드웨어 위에서