凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 91280
  • 博文数量: 150
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 977
  • 用 户 组: 普通用户
  • 注册时间: 2022-03-12 10:39
个人简介

不积小流,无以成江海。

文章分类

全部博文(150)

文章存档

2024年(10)

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


《深入理解计算机系统》个人学习纪要-凯发app官方网站

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

输入操作是从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多路复用  应用程序在一个进程的上下文中显式地调度它们的逻辑流。

(没理解)

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

1. 什么是io多路复用

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

io多路复用

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

线程。



13.3 基于线程的并发编程

是基于进程和i/o多路复用的混合。

13.3.1 线程执行模型

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

 

与进程的区别:

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

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

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

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


阅读(76) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图