目录
计算机的基本组成
处理器(processor)
-
主存储器(main memory)
易失性的
Real memory OR primary memory
输入输出模块(I/O modules)
二级存储设备
通信设备
终端(人机交互设备)
系统总线(system bus)
为处理器,主存,和输入/输出模块间提供通讯的设施
计算机部件:顶层视图
存储地址寄存器(MAR)
确定下一次读写的存储器地址
存储缓冲寄存器(MBR)
写入存储器的数据
从存储器中读出的数据
I/O地址寄存器(I/O AR)
确定一个特定的输入/输出设备
I/O 缓冲寄存器(I/O BR)
缓存输入/输出设备与处理
器间的交换数据
程序计数器(PC)
包含将取指令的地址
指令寄存器(IR)
包含最近取的指令内容
指令周期
处理器执行的程序由一组指令组成
一个单一的指令执行称为一个指令周期
一个指令的执行需要两个步骤
处理器从存储器读一条指令
fetch
处理器执行指令
excute
取指令和执行指令
取指令
处理器从程序计数器(PC)保存的寄存器地址中取指令,存放在指令寄存器(IR)中。
执行指令:
处理器解析IR中的指令并执行对应操作。这些操作分为四类:
处理器-存储器
在存储器和处理器之间传递数据
处理器-I/O
处理器和I/O模块间传递数据
数据处理
数据的算术操作和逻辑操作
控制
改变执行顺序
理想计算机的特征
注:
a:指令寄存器中的存储格式
b:数据寄存器中的存储格式
程序执行的例子
将地址940的存储单元中的内容与地址为941的存储单元中的内容相加,并将结果保存在后一个单元
操作系统的概念
应用程序和系统硬件之间的接口
控制应用程序执行的程序
操作系统与普通的计算机软件相同
由处理器执行的一段和一组程序
操作系统经常释放控制,并且必须依赖于处理器才能
恢复控制
操作系统的目标
方便
是计算机更易于使用
有效
更有效的利用计算机资源
扩展的能力
不影响服务的情况下:有效的开发,测试和引入新的系统功能
计算机系统的层次视图
操作系统提供的服务
程序开发
程序执行
I/O设备访问
文件访问控制
系统访问
错误检测和响应
内部或外部的硬件错误
存储器错误
设备故障
软件错误
算术溢出
试图访问被禁止的存储器单元
操作系统无法确认应用程序的请求
操作系统的主要特性、发展及特性
操作系统的主要特性
易扩展性
并发性
共享性
异步性
虚拟性
操作系统的发展
串行处理
简单批处理系统
多道程序批处理系统
分时系统
现代操作系统的特征
微内核体系结构
多线程
对称多处理
分布式操作系统
面向对象设计
批处理系统示意图
Linux操作系统的基本构成
内核
Shell
文件系统
应用程序
内核(kernel)
操作系统的核心,负责管理系统的进程、内存、设备驱动程序、文件和网络系统。
控制系统和硬件之间的相互通信
决定着系统的性能和稳定性
查看内核源码
目录:/usr/src/kernels
Linux操作系统的基本概念
文件和文件系统
文件:数据或设备的一种逻辑组织
文件系统:文件间关系管理的一种逻辑组织
程序和进程
程序: 计算机执行的指令集和
进程: 程序的一个运行实例,操作系统资源分配的最小单位
线程(轻量级进程)
程序运行的基本单位,一个进程内部可以有一或若干线程同时运行
信号
Linux系统中进程 通信的一种技术,异步程序设计的基础
客户端和服务器
-
启动流程
芯片和部分外围电路的初始化
加载内核
加载最小文件系统
加载硬盘上的根文件系统
启动1号进程/sbin/init
BootLoader(uboot)
BootLoader就是在操作系统内核运行之前运行的一段小程序
初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。
严重依赖于硬件,在嵌入式开发中里建立一个通用的
BootLoader几乎是不可能的。
在Linux中称为grub
init进程
Linux系统启动的第一个进程(1号进程),0号为内核进程(swapper进程)
执行/etc/init.d目录中的所有脚本文件,启动某些系统的服务
执行/sbin/getty 初始化0、1和2(标准输入、标准输出和标准错误)
执行/bin/login启动用户登录程序
管理孤儿进程
内存管理
进程隔离
保护独立的进程,防止互相干涉数据和存储空间
自动分配和管理
动态地分配,分配对程序员是透明的
支持模块化的程序设计
能够定义程序模块,并且动态地创建、销毁模块,改变模块大小
保护和访问控制
允许一部分内存可以由各种用户以各种方式进行访问
长期存储
关机后长时间保存信息
虚拟内存
- 虚存寻址
段页式内存管理
进程在虚拟内存中分为代码段、数据段和堆栈段
进程在段中有许多固定大小的块组成,这些块成为页
虚拟地址由段号、页号和页中偏移量构成
虚地址和贮存中实地址(物理地址)的动态映射。
缺页
消除了进程全部载入内存中
按需调页
系统调用
所谓系统调用是指操作系统提供给用户程序的一组“特殊”接口,用户程序可以通过这组“特殊”接口来获得操作系统内核提供的特殊服务。
Linux进程的运行状态
内核态
进程运行在内核空间
用户态
进程运行在用户空间
例:应用程序调用系统函数,进入内核态,调用完毕后进入用户态。
UNIX标准
ISO C
IEEE POSIX
在linux中用户编程接口(API)遵循了在UNIX中最流行的应用编程界面标准—POSIX标准。
这些系统调用编程接口主要通过C库(libc)实现的。
Linux程序设计:操作系统概论及Linux系统基本概念
猜你喜欢
转载自blog.csdn.net/baidu_41388533/article/details/108372813
今日推荐
周排行