samos's People
samos's Issues
Add base and limit registers to your core memory access code in the host OS and to your PCB objects in the client OS.
First-come, First-served (FCFS)
[Challenge] Provide the ability to single-step execution (via GUI buttons).
allow user to load 3 programs at once
store multiple programms in memory each with their own partition / segment, allocated by the client OS (which obviously needs to keep track of available and used partitions/segments).
Add a shell command, getschedule, to return the currently selected cpu scheduling algorithm.
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.
REMOVE WAITING proc state
Add all new shell commands
• clearmem — clear all memory partitions
• runall — execute all programs at once
• ps — display the PID and state of all processes
• kill — kill one process
• killall — kill all process
• quantum — let the user set the Round Robin quantum
(measured in cpu cycles)
Create a Ready queue for the running processes.
Develop a PCB prototype and implement it in the client OS.
Load the dsDD in a similar manner as the keyboard device driver.
As the programs executes, update and display the memory, PCB, and CPU status in real time
(program counter, instruction reg, accumulator, X reg, Y reg, Z flag)
[challenge] track tunaround time and wait time for each processes
Add a shell command to allow the user to select a CPU scheduling algorithm — setschedule [rr, fcfs, priority]
Create a Resident list for the loaded processes.
mplement context switches with software interrupts. Be sure to update the mode bit (if appropriate), the PCBs, and the Ready queue.
Modify the load command to copy the 6502a machine language op codes into main memory.
Put the code at location $0000 in memory
• assign a Process ID (PID)
• create a Process Control Block (PCB)
• return the PID to the console and display it.
Make it look pretty
Develop a memory manager and implement it in the client OS.
Develop a core memory prototype and implement it in the host OS.
Add date, whereami, and another interesting shell command
date - displays the current date and time
• whereami - displays the users current location (use your imagination)
• something else interesting and creative; surprise me
shell commands
create — Create the File "ilename and display a message
denoting success or failure.
read — Read and display the contents of "ilename or
display an error if something went wrong.
write “data” — Write the data inside the quotes to
"ilename and display a message denoting success or failure.
delete — Remove "ilename from storage and display a
message denoting success or failure.
format — Initialize all blocks in all sectors in all tracks and display a
message denoting success or failure.
Add a shell command, ls, to list the Files currently stored on the disk.
Provide command history recall via the up and down arrow keys
Implement command completion with tab key
Develop a CPU scheduler in the client OS using Round Robin scheduling with the user-speciZied quantum measured in cpu cycles (default = 6).
• Make the client OS control the host CPU with the CPU scheduler.
• Log all scheduling events.
Display a BSOD message (on the CLI) when the kernel traps an OS error.
Add a shell command to test this. Remember to include it in the help.
[Challenge] Allow the user to break the current program with Ctrl-C.
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 a File system in HTML5 session storage as discussed in class.
Alter ver command to display my own data
Display the ready queue and its contents
[challenge] Implement line-wrap in the CLI.
Implement line-wrap in the CLI.
Develop your dsDD 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.
Add a shell command, run <pid>, to run a program already in memory.
Note: the user should be able to execute many load/run cycles in sequence.
Enhance host display with graphic taskbar
shows:
the current date and time
• status messages as specified by the user with a new shell command:
status
example: status I love Opera*ng Systems
non-preemptive priority (You will need an optional load parameter here.)
nclude a disk system viewer in your OS interface.
Develop a CPU prototype and implement it in the host OS.
fix scrolling
fix bsod
Develop a memory accessor prototype and implement it in the host OS.
Implement scrolling in client OS console/cli
Handle Backspace appropriatley
Accept and display punctuation characters and symbols
Instantiate a PCB for each loaded program and put it in the Resident list.
Add a shell command called load to validate the user code in the HTML5 text area (id= “taProgramInput”). Only hex digits and spaces are valid.
Enforce memory partition boundaries at all times.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.