Release v2.0 (Project #2)
Notable Changes
- Support user processes (#49)
- Support basic system calls (#42)
halt()
exit()
exec()
wait()
create()
remove()
open()
filesize()
read()
write()
seek()
tell()
close()
- Prevent invalid user memory pointer (#47)
All Changes
Pintos Core
- hangpark/pintos#32 - [#7] Change process_wait() to an infinite loop
- hangpark/pintos#33 - [#30] Setting up esp value as PHYS_BASE - 12
- hangpark/pintos#39 - [#4] Implement argument passing
- hangpark/pintos#42 - [#6] Basic syscall handler and skeleton for each syscall
- hangpark/pintos#43 - [#18] Implement halt system call
- hangpark/pintos#46 - [#45] Fix addr of first arg and not use memcpy
- hangpark/pintos#47 - [#5] Validate user virtual address
- hangpark/pintos#49 - [#48] Define a process hierarchy
- hangpark/pintos#50 - [#8] Implement exit system call
- hangpark/pintos#51 - [#9] Implement exec system call
- hangpark/pintos#52 - [#10] Implement wait system call
- hangpark/pintos#55 - [#53] Delete exited proc from parent's child list
- hangpark/pintos#56 - [#54] Deny writing on the executable file
- hangpark/pintos#58 - [#57] Fix typo and append conding convention
- hangpark/pintos#60 - [#11] Implement create system call
- hangpark/pintos#61 - [#59] Check validity of user input pointer
- hangpark/pintos#62 - [#12] Implement remove system call
- hangpark/pintos#63 - [#13] Implement open system call
- hangpark/pintos#64 - [#17] Implement close system call
- hangpark/pintos#66 - [#14] Implement filesize system call
- hangpark/pintos#67 - [#15] Implement seek system call
- hangpark/pintos#68 - [#16] Implement tell system call
- hangpark/pintos#69 - [#65] Implement read system call
- hangpark/pintos#70 - [#31] Implement write system call
- hangpark/pintos#72 - [#71] Separte child infos into a new structure
- hangpark/pintos#74 - [#73] Avoid memory leak
- hangpark/pintos#77 - [#75] Follow coding conventions
- hangpark/pintos#80 - [#79] Remove duplicated file list initialization
Documents
- hangpark/pintos#83 - [#82] Move LICENSE to the root directory
- hangpark/pintos#84 - [#81] Update README
Project Configures
- hangpark/pintos#29 - [#28] Edit .gitignore and add text files
- hangpark/pintos#37 - [#36] Modify .gitignore to accept example dir in tracking scope
- hangpark/pintos#41 - [#40] Edit .gitignore to untrack build files
- hangpark/pintos#86 - [#85] Remove .cvsignore files
Build Configures
- hangpark/pintos#25 - [#24] Continuous integration by using Travis-CI
- hangpark/pintos#27 - [#26] Change simulator from qemu to bochs
- hangpark/pintos#35 - [#34] Change .travis.yml to not build on iss branch
- hangpark/pintos#78 - [#76] Change simulator to QEMU
- hangpark/pintos#88 - [#87] Update .travis.yml to not export pintos path