What is an Operating System ? ReadString() WriteString() ReadChar() WriteChar() Read one Char Write one Char
Live Menu Initialization (addresses, registers, variables) Show menu and Input Character from console 1 ? 2 ? 4 ? Yes Task 1 Task 4 Yes No Cycle1 Jump Cycle1 Cmp2Strings Save $RA Read 2 Strings and print the comparison result Save All Registers Save all registers Restore all registers Return Push all registers to stack Pop all registers from stack Return Cmp2s trings Restore All Registers Return Restore $RA No RA saving la$a0, mystring li$a1, 6 jalread_string nop la$a0, mystring jalwrite_string nop String Driver usage in user program Call the OS
Save $RA Save All Registers Restore All Registers Return Restore $RA Read String (This is the OS) Characters Count Read_character from Driver Return Read Character (This is the driver) Wait Character Take character
Save $RA Save All Registers Restore All Registers Return Restore $RA Write String (This is OS) Characters Count Write_character to Driver Return Write Character (This is the driver) Wait device to be ready Write character