marineltinnirello / kos-mos Goto Github PK
View Code? Open in Web Editor NEWKOS-MOS is a Xenosaga-based operating system for CMPT 424.
KOS-MOS is a Xenosaga-based operating system for CMPT 424.
Provide the ability to single-step execution (via GUI buttons).
Alter the ver command to display your own data.
Develop your fsDD to insulate and encapsulate the implementation of the kernel-level I/O operations (noted above) from the byte-level details of your individual blocks on the local storage.
Develop a core memory prototype and implement it in the host OS.
Allow the OS to execute four or more concurrent user process by writing roll-out and roll-in routines to:
Develop a PCB prototype and implement it in the client OS.
Implement line-wrap in the CLI.
Develop a memory accessor prototype and implement it in the host OS.
Implement command line options for format:
Add the following shell commands:
Validate code if and only if it's in hex digits or spaces.
Modify the load command to copy the 6502a machine language op codes into main memory.
Store multiple programs in memory, each in their own partition /segment, allocated by the client OS (which obviously needs to keep track of available and used partitions/segments).
Develop a CPU prototype and implement it in the host OS.
Implement context switches with software interrupts. Be sure to update the mode bit (if appropriate), the PCBs, and the Ready queue.
Add the following shell commands:
Implement line-wrap in the CLI.
Allow the user to load three programs into memory at once.
Add a shell command, run , to run a program already in memory.
Create a Resident list for the loaded processes.
Support hidden files (that do not show up in ls output) with file names that begin with a period
Implement a File system in HTML5 session storage as discussed in class.
Allow the user to break the current program with Ctrl-C.
Enhance the host display with a graphic task bar that displays
Load the fsDD in a similar manner as the keyboard device driver.
Default to round robin. Add non-preemptive priority and first come, first serve.
Add base and limit registers to your core memory access code in the host OS and to your PCB objects in the client OS.
As the programs executes, update and display the memory, PCB, and CPU status (program counter, instruction reg, accumulator, X reg, Y reg, Z Glag) in real time.
Display the Ready queue and its contents (including process state) in real time.
Develop a memory manager and implement it in the client OS.
Add some new shell commands:
Detect and gracefully handle errors like invalid op codes, missing operands (if you can detect that), and most importantly, memory out of bounds or access violation attempts.
Implement scrolling in the client OS console/CLI.
Other console/CLI enhancements
Track turnaround time and wait time for each process.
Include a file system viewer in your OS interface.
Add the following shell commands:
Enforce memory partition boundaries at all times.
Instantiate a PCB for each loaded program and put it in the Resident list.
Add the following shell commands:
Create a Ready queue for the running processes.
Execute the running program (including displaying memory, CPU, and PCB status as well as any output). Be sure to synchronize the CPU execution cycles with clock ticks.
Develop a CPU scheduler in the client OS using Round Robin scheduling with the user-specified quantum measured in CPU cycles (default = 6).
Display a BSOD message (on the CLI) when the kernel traps an OS error, also accessible via a command.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.