现代计算机系统由一个或多个处理器、主存、打印机、键盘、鼠标、显示器、网络接口以及各种输入/输出设备构成。
然而,程序员不会直接和这些硬件打交道,而且每位程序员不可能会掌握所有计算机系统的细节,这样我们就不用再编写代码了,所以在硬件的基础之上,计算机安装了- -层软件,这层软件能够通过响应用户输入的指令达到控制硬件的效果,从而满足用户需求,这种软件称之为操作系统,它的任务就是为用户程序提供一个更好、更简单、更清晰的计算机模型。
我们一般常见的操作系统主要有Windows、Linux、 FreeBSD 或OSX,这种带有图形界面的操作系统被称为图形用户 界面(Graphical User Interface, GUI) ,而基于文本、命令行的通常称为Shell。下面是我们所要探讨的操作系统的部件
这是一个操作系统的简化图,最下面的是硬件,硬件包括芯片、电路板、磁盘、键盘、显示器等我们上面提到的设备,在硬件之上是软件。大部分计算机有两种运行模式:内核态 和用户态,软件中最基础的部分是操作系统,它运行在内核态中,内核态也称为管态和核心态,它们都是操作系统的运行状态,只不过是不同的叫法而已。操作系统具有硬件的访问权,可以执行机器能够运行的任何指令。软件的其余部分运行在用户态下。
用户接口程序(shell或者GUI)处于用户态中,并且它们位于用户态的最低层,允许用户 运行其他程序,例如Web浏览器、电子邮件阅读器、音乐播放器等。而且,越靠近用户态的应用程序越容易编写,如果你不喜欢某个电子邮件阅读器你可以重新写- -个或者换一个,但你不能自行写一个操作系统或者是中断处理程序。这个程序由硬件保护,防止外部对其进行修改。
需要免费领取这份字节跳动内部强推的Java操作系统笔记的朋友,麻烦帮忙转发一下这篇文章+关注我,然后私信我【学习】二字获取!
操作系统
计算机硬件简介
操作系统博物馆
操作系统概念
系统调用
操作系统结构
进程
线程
进程间通信
调度
无存储器抽象
一种存储器抽象:地址空间
虚拟内存
页面置换算法
文件
目录
文件系统的实现
文件系统的管理和优化
I/O设备
I/O软件原理
I/O层次结构
盘
时钟
资源
死锁
贝鸵鸟算法
死锁检测和恢复
死锁避免
破坏死锁
其他问题
总结
需要免费领取这份字节跳动内部强推的Java操作系统笔记的朋友,麻烦帮忙转发一下这篇文章+关注我,然后私信我【学习】二字获取!