操作系统学习-- 概论

    xiaoxiao2021-03-25  103

    (一)概论篇

    操作系统主要功能可以概括为:

    (1)fork()  -> 开启新的进程;

    (2)time-share -> 实现多任务;

    (3)isolation between processes -> 所有的进程之间是独立的;

    (4)work with each other ->进程之间的通信,比如pipe

    总结起来就是三点:多任务,独立进程块,相互通信

    设计的不是太好的操作系统内核,提供的库应用可以选择不使用,意味着内核无法控制进程,系统的表现依赖于app是否可以放弃执行权。

    好的内核需要做到:

    (1)好的内核必须将硬件资源抽象出来,例如我们在unix系统中读写文件,而不是直接操作硬盘。

    (2)好的内核提供任务切换接口,所以app不需要考虑任务切换带来的寄存器保存与恢复问题。

    (3)好的内核需要安排内存,apps只需要用就可以;

    (二)kernel mode && user mode

               内核模式拥有一些特殊指令,比如读写硬盘,假如app想要执行这些指令,这个app将会比kill,。同时,内核模式运行与内核空间。

               用户模式执行一般指令,运行于用户空间。如果用户app必须执行特殊指令,它必须切换到kernel mode。
    转载请注明原文地址: https://ju.6miu.com/read-36270.html

    最新回复(0)