운영체제(25) - virtual memory (1)
virtual memory virtual memory를 사용하게 된 배경 프로그램을 실행해보니, 전체 code가 꼭 memory에 올라가지 않아도 됨 사용을 잘 하지 않는 code(error 처리하는 code는 에러가 raise한 경우에만 실행됨. 에러가 없다면 굳이 메모리에 올리지 않아도 되는 것 아닌가?), 제일 마지막...
virtual memory virtual memory를 사용하게 된 배경 프로그램을 실행해보니, 전체 code가 꼭 memory에 올라가지 않아도 됨 사용을 잘 하지 않는 code(error 처리하는 code는 에러가 raise한 경우에만 실행됨. 에러가 없다면 굳이 메모리에 올리지 않아도 되는 것 아닌가?), 제일 마지막...
xv6 linux scheduling nice 구현 process간 우선순위를 설정하기 위해, nice value를 사용합니다. 이는 process struct 내부에 구현이 되어야 합니다. process struct는 proc.h 내부에 구현되어 있습니다. 이를 추가해줍니다. 완료 fork시, 자식 프로세스는 부모 프로세스의 nice를 상속받습니...
git blog를 꾸며보자 반갑습니다. 제가 예전부터 git blog에 tistory나 다른 블로그 플랫폼처럼 투데이를 넣어보고 싶었습니다. 하지만 git blog는 그런 기능을 제공해주지 않아서 항상 아쉬웠습니다. 개발자의 자유를 중시하는 git blog의 장점이자 단점입니다. 이를 해결하기 위해서, gjbae님의 hit counter라는 오픈소...
머신러닝 머신러닝은 기존의 데이터를 사용를 컴퓨터를 활용해 모델을 만들고(모델을 만드는 여러 알고리즘에 대해 학습도 나중엔 할 예정입니다), 이를 통해 새로운 입력을 예측하는 것입니다. 그렇다면 이러한 모델이 어떤 구조로 이루어져 있는지, 대략 이해해봅시다. rule 제일 간단한 구조입니다. 각 특징에 대한 table을 만들어서, 이를 활용해 규...
들어가기에 앞서 반갑습니다. 하도 많이 이야기하는 머신러닝에 대해 정리를 하려고 합니다. 조금 들어가기에 앞서, 머신러닝과 데이터마이닝의 차이에 대해 이해해봅시다. 머신러닝 (maching learning) 머신러닝(기계학습)이란 무엇인가요? 너무 많이 들어본 단어입니다. 이 기회에 제대로 알고 갑시다. 머신러닝이란, 적당한 과거의 예시들을 입력...
arithmetic for computers 컴퓨터에서 어떻게 수학적 연산을 처리하는지를 알아보겠습니다. 개요 덧셈은 carry를 사용해서, 뺄셈은 2의 보수(2’s complement), 곱셈은 덧셈을 여러 번 하는 형식으로, addition 모든 숫자를 컴퓨터는 이진수로 인식합니다. 0+0, 1+0, 0+1을 하면 문제가 딱히 없지만 1+...
MLQ 저번 글에서는, CPU scheduling중 FCFS, SJF, RR(round robin) 방식을 알아보았습니다. 적게는 몇 십개, 많게는 몇 백개의 프로세스를 시분할하여 동시에 작동하게 보이도록 하는 것이 CPU scheduling의 목표입니다. 하지만 위 3개의 scheduling은 뭔가 부족해보입니다. 당연 선입선출인 FCFS, 짧은...
CPU scheduling (2) 저번 포스팅을 참조해주세요! SJF (Shortest Job First, 최단작업 우선) 알고리즘의 이름에서도 알 수 있듯이, 현재 기준으로 처리되는데 제일 짧은 시간을 갖는 프로세스를 처리하는 기법입니다. 이는 탐욕적이자, 비선점적인 기법입니다. 이는 제일 짧은 프로세스를 빠르게 처리하기에, 프로세스의 평군 w...
CPU scheduling 중요한 주제가 나왔습니다. 바로 CPU scheduling입니다. 왜 중요한가? 실행중인 프로그램인 프로세스는 일련의 instruction으로 구현되어 있습니다. 또한, I/O 작업(I/O burst) 과 CPU가 instruction을 수행하는 것(CPU burst)은 분리되어 있다는 것을 기본 전제로 깔고 갑니다. ...
Description 이거 특징점 전부 window 해서 얼추 비슷한지 matching 갈기면 안되나? 사이즈 너무 많아서 realtime에선 안댐 나온 것이 SIFT임 SIFT descriptor는 이미지 각도 바뀌건 변하면 안됨(Invariance) 식별성 아무거나 쓰면 안됨 즉 식별하기 가능해야함(Discriminability) , ...