⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changelog

📁 Murphy 大俠 GPL 的 C++/x86 RTOS, 支持 MMU, 用戶/核心 模式區隔. http://hpc.ee.ntu.edu.tw/~murphy/me/EKernel.html
💻
字号:
1998/09/02:
	Made the exception/trap/interrupt handler work.
	Tested the Divided by Zero Exception & Timer Interrupt.


1998/09/03:
	Coded the context_switch routine.
	Coded the thread_create routine.

1998/09/04:
	Made the context_switch, thread_create, scheduler routines work.

1998/09/15:
	Made the VGA mode swith code SetVideoMode work.
	Testing the PutPixel and FillRectangle code.

1998/09/16:
	Made PutPixel, FillRectangle, Blit work.

1998/09/17:
	Made ShowPage work.
	Added and tested multiboot_find, multiboot_info_dump from OSKit.

1998/09/22:
	Rearrange all the makefiles. Not to make individual parts libraries.
	Make them object files only. Because libraries can not refer to
	external symbols.


1998/09/25:
	Added kernel_critical_enter & kernel_critical_leave.
	Added malloc & free.

1998/11/25:
	Modified the linked-based memory management from C modules to a
	C++ class.

1998/12/02:
	Create new classes : GDT and Processor.

1998/12/03:
	Create new classes : IDT and TSS.

1998/12/06:
	Modify the directory structure.
	Eliminate the 'include' directory tree. Put include files along with
	their implementation files.

1998/12/08:
	Add the file coff.h defining structures about COFF file format in 
	sub-directory 'libexec'.

1998/12/09:
	Create new classes : PageDirectory and PageTable for handling paging.

1998/12/10:
	Debug PageDirectory ,PageTable, and Allocator.
	Modify coff.h and try to gather the information contained in
		COFF files.

1998/12/11:
	Add the C library function: strcpy from DJGPP-v2 source.

1998/12/14:
	Add the Array template class.
		void SetSize(int nSize);
		int GetSize() const;
		void SetAt(int nIndex, Type& tElement);
		Type GetAt(int nIndex) const;
		bool CheckValid(int nIndex);
		int FindEmptySlot();
		int Add(Type& tElement);
	Redesign the function ::CreateThread, because at this time
		the concept of process has been introduced.
	Design the function ::CreateProcessFromImage();
	Add some member function to Process class:
		void SetProcessID(dword nID);
		void MemoryAllocatorSpace(void *addr, vm_size_t size);
		void* MemoryAllocatorAlloc(vm_size_t size);
		void* PageTableGetBase();
		void PageTableInit();
		void PageTableMapRange(vm_offset_t linear_address,
			vm_offset_t physical_address, vm_size_t size, dword mapping_bits);

1998/12/26:
	Modify the context-switch related code, use hardware supported 
	task-state-segment and iretd for context switching.

1998/12/27:
	Design the system call interface.

1999/01/06:
	Design the SystemCallDispatcher class.
	Debug System Call Dispatcher via Call Gates, and test okay!
	Add codes in multi_boot_main to call global object constructors.

1999/01/31:
	Redesign the List template class.
	Add new member functions to Process class:
		void AddThread(dword nThreadID);
		void RemoveThread(dword nThreadID);

1999/02/01:
	Automatically generate dependency files for Makefile.
	Add new files: serial_io.cc serial.h for outputing messages thru RS232.

1999/03/09:
	Greatly modify the overall architecture, making it more and more portable.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -