Edgar-操作系统笔记--第一章-无图片

什么是操作系统
1.作为扩展机或者说是虚拟机
它比底层硬件更容易编程,不用考虑底层,我们在底层之上抽象出另外一个底层与程序员对接就是os
至于程序如何与操作系统对接,这涉及到后续的系统调用

2.作为资源管理器(所有硬件资源我们管理并且指挥(分配)他们进行相应的动作)
操作系统–扩展机和资源管理器两个功能的理解
------模型—
用户层
||
扩展机

    资源管理器
           ||
       各个硬件系统    

操作系统的发展历史

系统调用在操作系统中的位置
操作系统—>扩展指令(这个接口)(系统调用)–>用户程序
此书的系统调用的分类:1.与系统进程相关 2.文件系统

1.进程
(系统调用一类与进程相关)
本质上讲,就是一个正在执行的程序。
地址空间:每个进程都有对应的地址空间,对其进行读写。其中包括了,可执行程序、程序的数据、它的栈
一组寄数器:程序寄数器、栈指针、其他硬件寄存器等等相关信息。
内核映像:进程的地址空间
进程表:进程那时候的状态信息
警报信号:此信号是的进程暂停,将状态保存,然后运行之前的其他的程序。
UID:每个合法用户在调用系统进程的时候,对应的进程就会标记UID,这样我们就能分辨。
超级用户
理解:
1.我们首先用递归的思想假设一下,假如说这个进程对应的地址空间中不是自己,那么他执行对别的程序的调用,也就是启动和关闭,别的程序最后可能会有一个结果,在存放在程序的数据中,另外程序执行期间的内存地址,就是这个进程的栈。
2.如果说进程本身调用的是他自己的程序,同样道理。
最后形成进程树

2.文件系统
(系统调用另一类与文件系统相关)
why:
Os想提供给程序员一个他不需要关心i/o设备具体细节的接口或者说模型。

2.1 目录
目录与目录之间,目录与文件之间层次化的模型,就是文件系统。
对比进程的层次树,文件层次更深。
2.1.1文件对应的最底层的目录—根目录
2.1.2路径名 —绝对路径—相对路径
2.1.3文件描述符–看看有没有权限访问该文件。
2.1.4根文件–系统–提供别的磁盘的挂载和简洁的访问方式

2.2设备文件
目的:使得i/o设备使用起来类似文件。—使得系统调用设备时与普通文件相同。
2.2.1 块设备文件—数据块为单元的设备
2.2.2字符设备文件—字符流的方式

2.3管道
定义:连接两个进程之间的虚拟文件,提供两个进程之间数据交互的流

命令解释器 shell
他是一个很好的系统调用的范例,也是中断用户与操作系统之间的主要接口。(排除用户使用图形化页面)
流程:
1.登录-启动shell
2.输入命令开始调用os 等待执行完毕,接受下一条指令。

文件管理系统的系统调用
creat创建新文件
Open打开文件
read和write
lseek-(通过修改当前文件的指针(指针指向下一个文件(本来应该按顺序的))来随机读写下一个文件)
目录管理的系统调用
mkdir和rmdir 创建和删除空目录(问题-这个是基于linux?)

保护的系统调用
对于文件的保护 ,每个文件都有一个11位的保护模式码。

时间管理的系统调用
四个命令:1.time-返回当前时间 2.stime(仅由超级用户执行)设置时间3.utime 4.times—进程的账户信息

操作系统结构
一、整体结构—无结构、一组函数的集合 用户态 内核调用
两个步骤 1.先输入参数 2.再陷入

二、分层结构
实例 the系统 6层结构 1.存储管理 2.进程与程序员之间的通信3.I/O通道 4.用户程序
5操作员 0层负责处理器的分配

虚拟机

一、分时操作系统

客户服务器模式
多用户只保留一部分进程,将另一部分地址空间分给os
用户需要什么计算,通过内核传递给服务器进程,得到值再传递回来。

分布式系统
对比上述单机模式,分布式通过网络间通讯将用户需要终端的服务进行运算

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