操作系统概念
大部份操作系统提供了特定的基础概念以及抽象,例如过程、地址空间、文件等,它们是需要理解的核心内容。下面咱们会扼要介绍一些基本概念,为了说明这些概念,咱们会不时的从 UNIX 中提出示例,相同的示例也会存在于其他系统中,咱们后面会进行介绍。文章源自微观生活(93wg.com)微观生活-https://93wg.com/21291.html
过程文章源自微观生活(93wg.com)微观生活-https://93wg.com/21291.html
操作系统一个很关键的概念就是 过程(Process)。过程的本色就是操作系统执行的一个程序。与每一个过程相关的是地址空间(address space),这是从某个最小值的存储位置(一般为零)到某个最大值的存储位置的列表。在这个地址空间中,过程可以进行读写操作。地址空间中寄存有可执行程序,程序所需要的数据以及它的栈。与每一个过程相关的还有资源集,通常包含存放器(registers)之间的通讯。第 3 层管理 I/O 装备以及相关的信息流缓冲区。第 4 层是用户程序层,用户程序不用斟酌过程、内存、节制台或 I/O 装备管理等细节。系统操作员在第 5 层。文章源自微观生活(93wg.com)微观生活-https://93wg.com/21291.html
微内核文章源自微观生活(93wg.com)微观生活-https://93wg.com/21291.html
在分层方式中,设计者要肯定在哪里划分 内核-用户 的边界。传统上,所有的层都在内核中,然而这样做没有必要。事实上,尽量减少内核态中功能多是更好的做法。由于内核中的过错很难处理,一旦内核态中犯错误解拖累整个系统。文章源自微观生活(93wg.com)微观生活-https://93wg.com/21291.html
所以,为了实现高可靠性,将操作系统划分成小的、层级之间能够更好定义的模块是颇有必要的,只有一个模块 --- 微内核 --- 运行在内核态,其余模块可以作为普通用户过程运行。因为把每一个装备驱动以及文件系统分别作为普通用户过程,这些模块中的过错尽管会使这些模块崩溃,然而不会使整个系统死机。文章源自微观生活(93wg.com)微观生活-https://93wg.com/21291.html
MINIX 3 是微内核的代表作,它的具体结构如下文章源自微观生活(93wg.com)微观生活-https://93wg.com/21291.html
在内核的外部,系统的构造有三层,它们都在用户态下运行,最底层是装备驱动器。因为它们都在用户态下运行,所以不能物理的走访 I/O 端口空间,也不能直接发出 I/O 命令。相反,为了能够对 I/O 装备编程,驱动器构建一个结构,指明哪一个参数值写到哪一个 I/O 端口,并宣称一个内核调用,这样就完成为了一次调用进程。文章源自微观生活(93wg.com)微观生活-https://93wg.com/21291.html
位于用户态的驱动程序上面是服务器层,包括有服务器,它们完成操作系统的多数工作。由一个或多个文件服务器管理着文件系统,过程管理器创立、烧毁以及管理过程。服务器中有一个特殊的服务器称为 再生服务器(reincarnation server),它的任务就是检查服务器以及驱动程序的功能是不是正确,一旦检查出来过错,它就会补上去,无需用户干预。这类方式使得系统拥有可恢复性,并拥有较高的可靠性。文章源自微观生活(93wg.com)微观生活-https://93wg.com/21291.html
微内核中的内核还拥有一种 机制 与 策略 分离的思想。比如系统调度,一个比较简单的调度算法是,对每一个过程赋与一个优先级,并让内核执行拥有最高优先级的过程。这里,内核机制就是寻觅最高的优先级过程并运行。而策略关于“一文带你了解操作系统核心概念”的详细内容,希望对大家有所帮助!文章源自微观生活(93wg.com)微观生活-https://93wg.com/21291.html
评论