美文网首页高薪算法+计算机职称考试
计算机基础知识——操作系统

计算机基础知识——操作系统

作者: Aaron_ZhangKH | 来源:发表于2018-07-02 21:09 被阅读19次

    1. 操作系统出现前

    • 人们使用针孔打卡编程,当计算机运行速度呈指数级速度增长,整理程序(纸卡)的时间远大于运行程序(读卡)的时间,耗时耗力,因此人们需要一个程序让计算机自动运行程序。
    • 早期计算机的外接设备的配置不同,导致程序员运行程序时还需要了解外接硬件的底层,造成不必要的精力损耗。

    2. 操作系统出现(简称OS,operation system)

    • 计算机启动后运行的第一个程序
    • 可以运行、管理、存储其他程序
    • 有操作硬件的特殊权限,并提供API来抽象硬件(即设备驱动程序)

    2.1 操作系统的优点

    • 批量处理程序的能力
    • 多任务处理能力(多个程序共享CPU)
    • 动态内存分配
    • 内存保护

    2.2 多任务处理带来的问题

    • 多个程序之间的内存分配问题
    • 解决方案:给每个程序分配专属内存块
    • 带来的新问题:内存地址不连续,导致程序员难以追踪,如下图所示:
    内存地址不连续

    2.3 内存地址虚拟化(解决内存地址不连续问题)

    虚拟内存地址 → 物理内存地址

    在虚拟内存地址和物理内存地址之间建立映射关系,也称动态内存分配。动态内存分配的好处:提供内存保护(程序之间的内存互相独立,互不影响)。

    • 操作系统隐藏硬件上不连续的内存地址
    • 所有程序使用操作系统提供的虚拟内存(从0开始)
    动态内存分配

    3.0 Unix操作系统

    3.1 Unix的组成:

    • 内核,处理核心功能,如多任务、输入输出处理等
    • 工具(如程序和运行库)

    3.2 特点

    • 不做错误恢复处理,直接调用一个panic函数,让内核崩溃。用户只能通过重启来恢复。
    • 与其他做错误恢复处理的操作系统所需占用内存相比(1M),Unix只暂用极小内存,适合商业化。

    相关文章

      网友评论

        本文标题:计算机基础知识——操作系统

        本文链接:https://www.haomeiwen.com/subject/cgjkuftx.html