Operating System

250 阅读3分钟

操作系统组成

监控程序

操作系统开发层次

1)硬件系统开发: 这一层主要负责做一些诸如电路板设计,如VHDL,实现一个提供基本二进制映射的芯片器,或者将硬件指令烧制到CPU内部实现微指令集之类的工作,不属于IT公司所说的底层开发。

2)内核系统开发: 这一层主要负责在给定的体系结构系统上实现一个操作系统,从无到有实现一个操作系统。所谓实现一个操作系统,无外乎就是实现操作系统的一些服务和功能,例如,提供文件读写啊,提供TCP/UDP的数据传输接口啊。这一层位于系统API之下,具体而言,就是试图在硬件结构之上实现系统的编程接口的功能。什么意思?大家应该都调用过read/write函数,但是有人想过这些函数是怎么实现的吗(就类似于大部分C语言学习者都用过printf但是很少有人去考虑实现一个printf吧),这就是内核开发干的事儿,即实现那些你经常调用的系统函数。

3)系统应用开发: 这一层是大部分IT企业所说的系统开发干的事儿,就是,调用我上面说的那些系统API去实现一些基本的应用功能,例如用linux提供的文件读写接口函数实现一个STL,例如用linux socket接口实现一个HTTP协议的服务器(如nginx或apache之类的服务程序)。你可以发现,干这些活其实不需要真的去了解内核代码,即不需要去了解这些程序所调用的API是怎么实现的,你需要了解的无非是:我调用那些系统函数,这些系统函数是干什么的,接受什么参数,按什么顺序调用;最后根据你需要实现的功能去编写代码。

指令集硬连线到CPU ......它实际上是电路构建方式的结果,没有保存指令的实际空间。当计算机启动时,ROM上有一个小程序,它知道如何初始化所有组件并启动操作系统。由于计算机的构建方式,该程序是第一个运行的程序。

设计CPU时,其中一个组件是解码器,它是解码电信号的CPU的一部分; 并执行由这些信号(指令)指示计算的计算。

引导加载程序是一个小程序,它告诉CPU如何启动计算机。显然它是使用CPU指令集编写的,通常驻留在ROM或EEPROM等中。它告诉CPU如何与磁盘接口以加载引导扇区(然后加载更多的操作系统)。在PC上,引导加载程序是BIOS的一部分。

操作系统(内核)有六大子系统:存储管理、输入设备管理、输出设备管理、进程管理、网络管理、安全管理。

术语

比特流编码
I/O控制器
中断控制器
VRAM
D触发器
JDK
runtime system
编译器
OS

I/O接口

(1)I/O接口芯片 这些芯片大都是集成电路,通过CPU输入不同的命令和参数,并控制相关的I/O电路和简单的外设作相应的操作,常见的接口芯片如定时/计数器、中断控制器、DMA控制器、并行接口等。 (2)I/O接口控制卡 有若干个集成电路按一定的逻辑组成为一个部件,或者直接与CPU同在主板上,或是一个插件插在系统总线插槽上。 按照接口的连接对象来分,又可以将他们分为串行接口、并行接口、键盘接口和磁盘接口等。

操作系统通过读写IO寄存器以及显存,显卡定时根据IO寄存器的指令完成读取显存并显示画面的功能。