01计算机操作系统-启动和中断,异常,系统调用

操作系统运行的基础常识

主要讲解了操作系统的作用,以及操作系统是怎样提供服务的

操作系统的作用

主要分为:控制软件,管理应用程序,为应用程序提供服务,杀死应用程序;资源管理,管理外设,分配资源
操作系统作为介质有(进程->CPU 文件->磁盘 地址空间->内存),操作系统是应用程序和计算机硬件的纽带
操作系统分为:shell和kernel。
kernel是负责CPU的调度,物理内存管理,虚拟内存管理,文件系统管理,中断处理与设备驱动
OS kernel 具有并发的特性,即在一颗CPU上跑多个程序,这里就涉及到保持与恢复机制
并发与并行的区别,并发是一个时刻只有一个程序,并行需要多个CPU,在一个时刻有多个程序在运行

OS启动

首先Bios将Bootloader从disk引导到相应扇区,然后Bootloader将os的代码和Data拷贝到内存,并跳转到操作系统的起始地址。
内存空间的变化大体上像这样:
(Bios Data->Bootloader->free space->Bios Rom->free space)
(Bios Data->Bootloader->free space->Bios Rom->OS->free space)

中断,异常和系统调用

中断:就是OS与外部设备交互的,它是异步完成的,并且是透明的,对应用程序透明
异常:是与软件交互的,当应用程序发生处理错误的时候,OS会决定杀死应用程序,还是重新执行;它是同步的;
系统调用:是为应用程序提供服务的,它可以是异步或者同步,对响应是等待和持续的

中断异常处理机制

其核心的就是保存与恢复机制
其中硬件需要设置中断标记(这部分是由CPU初始化完成的)。1.需要将内部与外部事件设置中断标记,2.形成中断标记的ID
软件1.保存当前的处理状态,2.中断服务程序处理,3.消除中断标记,4.恢复之前的状态

异常

保存现场——》异常处理(kill or recall)——》恢复现场

系统调用(system call)

应用程序与OS Kernel交互,主要是提供系统提供的API实现的。
win32 API——>win
Posix API——>Posix based sys
Java API——>java 虚拟机(是基于上面两个中的一个)

OS为了保证操作系统的安全,会将应用程序与内核隔离,他们分别跑在不同的堆栈区,也涉及到用户态与内核态的转变,这里会影响效率,但是这是值得的

你可能感兴趣的:(操作系统)