Chinaunix首页 | 论坛 | 博客
  • 博客访问: 85136
  • 博文数量: 153
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 882
  • 用 户 组: 普通用户
  • 注册时间: 2022-03-12 10:39
个人简介

不积小流,无以成江海。

文章分类

全部博文(153)

文章存档

2023年(50)

2022年(90)

我的朋友

分类: 信息化

2023-09-04 08:53:02

declaration:以下为个人学习此书的摘录,仅做学习用途。

0904周一

操作系统内核是应用程序和硬件之间的媒介。它提供三个基本的抽象概念:

文件是对I/O设备的抽象概念;

虚拟存储器是对主存和磁盘的抽象概念;

进程是对处理器、主存和I/O设备的抽象概念。

网络提供了计算机系统之间通信的手段。从某个系统的角度来看,网络就是一种I/O设备。
0906周三 
第四章 处理器体系结构

P218

指令被编码为一个或多个字节序列组成的二进制格式,一个处理器支持的指令和指令的字节级编码称为它的ISAinstruction-set architecture, 指令集体系结构)

 

ISA在编译器编写者和处理器设计人员之间提供了一个概念抽象层:

编译器编写者只需要知道允许哪些指令,以及它们是如何编码的;

而处理器设计者必须建造出执行执行指令的处理器。

1008周日
RISC与CISC介绍,HCL了解
p223~227


1105周一 第11章 系统级I/O

输入输出是在主存和外部设备(例如磁盘驱动器、终端和网络)之间拷贝数据的过程。

输入操作是从I/O设备拷贝数据到主存,而输出操作是中主存拷贝数据到I/O设备。

Unix系统中,是通过使用内核提供的系统级Unix I/O函数来实现这些较高级别的I/O函数的。

了解Unix I/O有助于理解其他的系统概念。I/O是系统操作不合或缺的一部分。

有时除了使用Unix I/O以外别无选择。在某些重要的情况下,使用高级别I/O函数不太可能,或者不太合适。例如,标准I/O库没有提供读取文件元数据的方式,这些元数据包括文件大小或文件创建时间。

11.1 Unix I/O  ---------todo

1121 周二

Chapter13 并发编程

并发(concurrent):逻辑控制流在时间上重叠

现代操作系统提供了三种基本的构造并发程序的方法:

进程:用这种方法,每个逻辑控制流都是一个进程,有内核来调度和维护。因为进程有独立的虚拟地址空间,想要和其他流通信,控制流必须使用显式的进程间通信(interprocess communicationIPC)机制。

I/O多路复用  应用程序在一个进程的上下文中显式地调度它们的逻辑流。

(没理解)

可以参考这个网上的帖子:

https://blog.csdn.net/weixin_33465519/article/details/124740848

1. 什么是IO多路复用

一句话解释:单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力。

IO多路复用

IO多路复用在Linux下包括了三种,、、,抽象来看,他们功能是类似的,但具体细节各有不同:首先都会对一组文件描述符进行相关事件的注册,然后阻塞等待某些事件的发生或等待超时。更多细节详见下面的 "具体怎么用"。IO多路复用都可以关注多个文件描述符,但对于这三种机制而言,不同数量级文件描述符对性能的影响是不同的,下面会详细介绍。

线程。



1127周一

13.3 基于线程的并发编程

是基于进程和I/O多路复用的混合。

13.3.1 线程执行模型

每个进程开始生命周期都是单一线程,这个线程称为主线程(main thread)。在某一时刻,主线程创建一个对等线程(peer thread),从这个时间点开始,两个线程并发运行。{BANNED}最佳后,因为主线程执行一个慢速系统调用,例如read或者sleep,或者因为它被系统的间隔计时器中断,控制就会通过上下文切换传递到对等线程。在控制传递回主线程前,对等线程会执行一段时间,一次类推。

 

与进程的区别:

线程的上下文切换要比进程的上下文切换快得多。因为线程的上下文比进程小得多。

另一个不同就是线程不像进程那样,不是按照严格的父子层次组织的。

和一个线程相关的线程组成一个对等(线程)池(a pool of peers),独立于其他线程创建的线程。一个线程可以杀死它的任何对等线程,或者等待它的任意对等线程终止。

退一步来说,每个对等线程都能读写相同的共享数据。


阅读(125) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~