---
# System prepended metadata

title: README

---


# README

### Requisites
Ubuntu 18.04.3 LTS 
binutils-2.30
gcc 5.5.0
nasm 2.13.02
eclipse 4.12.0

### Test Environment
QEMU 4.1.0-rc2 win32



**8/24**
부트로더 실행, OS 이미지 로딩

**8/26**
32bit 커널 전환

**9/4**
64bit 커널 전환

**10/1**
키보드 드라이버 추가 


**10/22**
인터럽트 추가
![](https://i.imgur.com/dEGwe6m.png)

**11/6**
각 인터럽트/예외 벡터의 핸들러 함수 추가
![](https://i.imgur.com/Pl8l7fc.png)

**11/20**
키보드 드라이버 업그레이드(Queue 사용), 쉘/명령어 구현
![](https://i.imgur.com/PrOgNDr.png)
![](https://i.imgur.com/zezvYmB.png)

**12/9**
타이머 디바이스 드라이버 추가/멀티태스킹 테스트 명령어 추가
![](https://i.imgur.com/PxwPBYS.png)


**2020/1/10**
라운드 로빈 스케줄러 추가
멀티태스킹 테스트 명령어 수정 및 1000개 태스킹 실행 테스트
![](https://i.imgur.com/w2Oze9Q.gif)

**1/13**
멀티레벨 큐 스케줄러 추가로 태스크 우선순위 설정/변경기능 추가
태스크 종료 및 프로세서 사용률 측정을 위한 유휴태스크 추가

**쉘 명령어 추가**
+ 태스크 리스트 출력
+ 태스크 종료 및 우선순위 변경 
+ 프로세서 사용률 출력

![](https://i.imgur.com/XP2FHzD.png)

![](https://i.imgur.com/IflXy5x.png)

**1/16**
태스크-인터럽트/태스크-태스크 간 동기화 처리 - 뮤텍스 동기화 객체 생성 및 임계영역 설정

**쉘 명령어 추가 및 수정**
+ 태스크 종료 - 쉘/유휴 태스크를 제외한 모든 태스크 종료기능 추가
+ 뮤텍스 테스트

![](https://i.imgur.com/hOqhgnr.png)
![](https://i.imgur.com/kbHQsaM.png)

**3/1**
FPU 실수연산 기능
예외 #7 Device Not Available 핸들러 추가
Printf 실수표현 기능 추가

**쉘 명령어 추가**
+ 원주율 계산과 실수연산 테스트

![](https://i.imgur.com/0SAv9Ro.png)

**03/31**
Buddy Block 알고리즘을 사용한 동적 메모리 할당/해제 기능 추가

**쉘 명령어 추가**
- 동적메모리 정보 보기
- 연속적/랜덤 메모리 할당 테스트

![](https://i.imgur.com/iSu54vm.png)

![](https://i.imgur.com/K9ouUWc.png)


**04/24**
PATA serial port를 사용한 HardDisk drive 구현

**쉘 명령어 추가**
- HDD information 보기
- HDD read/write sector

![](https://i.imgur.com/b183WSa.png)

![](https://i.imgur.com/o2FG97T.png)
