PROJECT FROM SYSTEMS FUNDAMENTALS II
Written in C
This is a command line utility to encrypt and decrypt strings and files by either Polybius cipher or Fractionated Morse cipher. Using "-h" command or checking "hw1/include/const.h" for details of this project.
This is a shell that offers these functions: scripting support, redirection support, builtins, ability to run executables and simple job control.
This is an online dating web application that constructed from designing MySQL database to writing front end using HTML/JSP.
ALl transactions/queries in database level have been finished. Some front end and JSP work are still in progress by me.
This is a simple hangman game with the following function.
Rendering the target word space
Displaying guessed letters
Dynamically rendering the hangman graphic
Incorporating a hint/End Game
Handling illegal keys/Filtering the choice of target words
This project is larger than hangman with following functions supported.
Check for validity of profile credentials before allowing a user to start game play of any sort
User will unlock higher levels by passing easier ones
Asking User if wanting to exit when exit button is clicked.
Hint the user with first few letters
Highlight the letters entered by user
OPERATING SYSTEM PROJECTS (OSP):
Threads are scheduled according to their priority. Threads with the same priority are to be scheduled according to the time they were inserted in the ready queue.
The priority is calculated by the following expression:
1.5 * total time the thread was waiting in the ready queue minus total CPU time the thread has used so far minus 0.3 * total CPU time all the threads in the same task have used so far.
LRU page replacement algorithm (the real LRU, with timestamps, not the clock algorithm) and dirty-bit optimization
Proactive page cleaning daemon. The daemon kicks in every 20,000 clock ticks and swap out the 5 least recently used dirty frames. (If the number of dirty frames is less than 5, swap out whatever there is.)
Initially there is one queue of I/O requests.
When the device starts processing the first request in that queue, the queue is closed and any subsequent I/O requests are added to another queue.
When the device is done with the first queue, it switches to the second. That second queue is then closed and new requests go into a third queue, etc.
Within each queue, requests are processed using SSTF (shortest seek time first)