操作系统的基础

操作系统的基础

跟着MOOC上的课程一起,学习操作系统,做点笔记。

  • 什么是操作系统?
    操作系统是计算机硬件和应用之间的一层软件,计算机由CPU、内存、磁盘和各种输入输出设备等组成,为了能够方便和高效的使用这些硬件,我们便需要一个操作系统。
    而操作系统需要CPU管理、内存管理、终端管理、磁盘管理、文件管理、网络管理、电源管理和多核管理。
    打开电源后,计算机就开始取指执行。
    我们要学习的是,操作系统到底是怎么运行的,在使用高级语言调用函数的时候,计算机内部到底发生了什么。
  • 操作系统接口
    操作系统接口就是由操作系统提供的,可以供上层应用软件调用的重要函数,使得应用软件可以和操作系统连接起来,它也称为系统调用。
    常见的操作系统接口如下:
    操作系统的基础
  • 系统调用的实现
    在用户程序中,不能够随意的获取和修改内核中的数据,因为能够在用户程序中直接操作内核数据会泄露很多的数据,比如root密码,会导致各种不安全的因素发生。
    处理器有一种硬件设计,可以将用户程序和内核程序隔离,CPL(当前权限等级)为0时则当前程序处于内核态,为3时则当前程序处于用户态。
    而硬件也提供了一种主动进入内核态的方法,对于Intel x86的CPU来说,通过中断指令int可以把CPL改为0,从而进入内核态,而用户程序也只能通过系统调用来触发中断指令int。
  • 接下来的学习内容
    比如CPU的管理,进程的管理和使用、内存的管理和使用,操作文件等。