分享

计算机操作系统

 山峰云绕 2023-09-09

https://m.toutiao.com/is/ieSWFvJw/?= 


根据《计算机操作系统》(汤小丹、梁红兵等编写的教材)中的内容,操作系统的主要功能是处理机管理功能(进程管理)、存储器管理功能、设备管理功能、文件管理功能、操作系统与用户之间的接口。

进程管理:进程的创建、终止、挂起与激活、阻塞与唤醒。进程间的通信机制,更小粒度的线程。进程的调度,也就是进程占用CPU完成任务。

存储器管理:如何管理内存、如何分配内存等。因为进程是可执行程序加载到内存,才形成的。内存管理,主要包括的常见的段式内存管理、页式内存管理、段页式内存管理。针对页式内存管理,还有页面的换入换出。

设备管理:操作系统,说白了就是管理硬件的,包括磁盘、网卡、声卡等等。它们也是受到CPU的控制,CPU发出控制信号,比如读写,通过地址线发出要操作的设备地址,从而完成设备的控制。其中,设备和内存共享地址线,地址线会进行划分,比如某些地址范围0x00_00_00_00——0x10_00_00_00访问内存,某些地址范围0x10_00_00_00——0x20_00_00_00访问其他设备。

x86实模式下的内存布局

基于RISC-V指令集的SiFive研发的SoC开发板内存映射

文件管理:这个容易理解,就是日常办公的文件,比如word文档、图片、视频等等文件,怎么存储在硬盘中,另外,进行系统编程时,如何对文件进行IO操作。这都是文件管理的范畴,也就是文件系统的范畴。更深一层,一些存储研发的技术,其本质就是通过算法研究,如何在磁盘存储文件更加高效。

操作系统接口:目前常见的系统,主要是界面的Windows系统、Mac系统。命令行界面的,主要就是Unix、Linux系统。前者,提供了友好的界面操作接口,通过鼠标、键盘操作系统。而后者,就是黑乎乎的命令行窗口,通过shell命令进行系统操作。这些,仅仅是操作系统使用。另外,针对程序员,还提供了系统调用接口,也就是常见的C库接口,方便程序员进行编程。

Unix/Linux 系统程序、库函数、系统调用的分层关系

PS:后面,基于上述的“需求”,对操作系统进行编码实现,帮助我们完成对操作系统的充分理解。预期实现x86架构的指令集、ARM架构的指令集、RISC-V架构的指令集。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多