【发布时间】:2012-08-13 12:58:09
【问题描述】:
我正在考虑做一些低级编程,编写一个基本的操作系统。我熟悉关系数据库,所以我想知道复制存储在 web aps(MySql、SQL Server 等)中的方法数据是否是将数据存储在操作系统内存中的好方法。这一切都只适用于操作系统任务等。我所说的“好方法”主要是指速度,但当然优雅和良好的架构也是因素。我假设大多数操作系统都偏爱速度而不是设计模式?我没有使用低级 Linux 的经验,所以我想知道关系数据库是否是编写内存管理器的良好起点。
【问题讨论】:
-
您是否介意澄清一下“复制存储在网络应用程序中的方法数据是一种将数据存储在操作系统内存中的好方法”?
-
我基本上是指用于实现数据库事务的算法。
-
好的。只是一个简单的问题:当你的算法需要分配内存时,你会怎么做?
-
malloc?是这个意思吗?
-
我的意思是,谁提供malloc?在您的操作系统上,应用程序调用您的数据库事务类内存管理 API,然后 API 调用 malloc() 如您所说,现在,malloc 如何获取内存?通常,OS 提供较低级别的 API,称为
system calls。对于 Linux,它是 sbrk() 或 mmap()。 stackoverflow.com/a/3479496/640650 。一旦通过了系统调用边界,您就处于内核内存管理中。 :-)
标签: database memory-management transactions operating-system