操作系统1.0

操作系统1.0

概述

计算机系统是由各种I/O,monitors,main store等组成,但是程序员不会直接和硬件打交道。硬件之上是软件,软件和硬件的交界地带就是COD(机器语言,汇编语言等机器可以直接读懂的),操作系统位于软件的最底部,这层软件可以响应用户输入的指令达到控制系统的效果。常见的系统由linux,Windows,mac,操作系统界面分为GUI和shell。软件分为内核态和用户态,用户态分为应用软件和用户接口程序,其下为操作系统(内核态)。用户态的程序越远离底层越好写,越容易修改,操作系统不可以修改(中断程序也不行),由硬件保护。

CPU

CPU是计算机的大脑,主要和内存进行交互,从内存提取指令并执行它。一个CPU执行周期是从内存提取第一条指令开始,解码并运行,一直重复,直到程序运行完毕。

每个CPU都有特定的指令集,所以x86的CPU无法执行ARM的程序,反之同样不行。

CPU中存在寄存器的理由:访问指令有时比执行指令的时间更长,为了提高效率,设置寄存器,存储关键变量和临时结果。因此,指令集中通常有一些指令把关键字从内存加载到寄存器或者反过来,又或者

把内存和寄存器里的变量进行处理然后存进内存。大多数计算机还有存储下一条内存提取指令的地址的寄存器,和堆栈指针,PSW(程序状态字寄存器)。操作系统必须了解所有寄存器,因为当CPU的调用上,往往停止一个程序运转后去运行另一个程序,停止运行那个程序的时候,会保存所有寄存器的值,以便后续重新运行程序

多线程和多核芯片

多线程允许CPU同时保持多个不同的线程状态并且在纳秒级的时间完成切换,线程是一种轻量级的进程。但是线程并不是并行运算,在一个时刻只有一个进程在真正运行,只是可以快速切换。对于操作系统而言,多线程是有意义的,一个CPU可以承载多个线程就相当于多个CPU了。

GPU

由成千上万个微核组成的处理器,擅长处理大量并行的简单计算。

内存

内存分为寄存器,高速缓存,主存,磁盘。从上至下,价格越便宜,访问速度越慢,容量越大。

I/O设备

CPU和存储器不是操作系统需要管理的全部,I/O设备也与操作系统关系密切。三者早期通过一条总线连接。I/O设备包括:设备控制器(一块芯片或一组芯片–控制物理设备),设备本身(有相对简单的接口,现在一般标准化了)。

总线

早期是一条总线,连接所有设备,过于冗杂,效率低,必须每项完成后才能进行下一项。现在主要再用南桥和北桥的方式,南北桥之间有一条高速连接线,北桥主要是CPU和一些高速处理的设备,南桥则是比较慢的如I/O设备,硬盘等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值