操作系统基础历史等

操作系统为所有其他软件提供基础的运行环境。

操作系统包含很多用于控制输入/输出设备的驱动

文件也是抽象出来的

操作系统的一个主要任务是隐藏硬件,呈现给程序(以及程序员)良好、清晰、优雅、一致的抽象。

shell也是操作系统提供给用户的一个用户接口

作为资源管理者的操作系统

把操作系统看作向应用程序提供基本抽象的概念,是一种自顶向下的观点。按照另一种自底向上的观点,操作系统则用来管理一个复杂系统的各个部分。现代计算机包含计算存储时钟网口和其他外设。从这个角度看,操作系统的任务是在相互竞争的程序之间有序地控制对处理器、存储器以及其他IO接口设备的分配。

作业job

批处理系统batch system

为什么C、JAVA、Python基本上输出语句都用print,因为在计算机发展的初期,输出主要就是用来让打印机打印的。那时候可能用纸质媒介记录信息,可能还没有显示器呢吧

控制卡片有$JOB $LOAD $RUN $END,还有一个$FORTRAN卡片,这些基本的控制卡片是现代shell和命令解释器的先驱。

栈stack是一种特殊的线性表,像烤串、弹夹、碟子,物理存在为内存的一片区域,stack是一种数据结构。分配一段内存空间创建一个stack栈

为了从操作系统中获得服务,用户程序必须使用系统调用(system call)以陷入内核并调用操作系统。

Trap指令把用户态切换成内核态,并启用操作系统。当有关工作完成之后,在系统调用后面的指令把控制权返回给用户程序。

现代计算机应该是使用trap而不是一条指令来执行系统调用。

多线程允许CPU保持两个不同的线程状态,然后在纳秒级的时间尺度内来回切换。

时钟周期

多线程不提供真正的并行处理。在一个时刻只有一个进程在运行,但是线程的切换时间则减少到纳秒数量级

CPU中寄存器的存储容量都小于1KB

三级Cache一般用的是SRAM

内存条一般用的是DRAM

RAM random access memory

SRAM static random access memory

DRAM dynamic random access memory

DDR double data rate synchronous dynamic random access memory 双倍数据速率时钟动态随机记忆

用户硬件交互流程

user-->operation system-->设备驱动程序(device driver)-->设备控制器(是插在电路板上的一块芯片或一组芯片)-->设备本身(设备本身有个相对简单的接口,这个接口已经被标准化了,SATA就是其中一种接口)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值