操作系统

1、现代操作系统(第3版)— Modern Operating Systems

操作系统的基本原理,包括进程、线程、存储管理、文件系统、输入/输出、死锁等,同时还包含了有关计算机安全、多媒体操作系统、掌上计算机操作系统、微内核、多核处理机上的虚拟机以及操作系统设计等操作系统概念 

2、深入理解计算机系统(原书第2版) — Computer Systems: A Programmer’s Perspective

主要内容包括信息的表示和处理、程序的机器级表示、处理器体系结构、优化程序性能、存储器层次结构、链接、异常控制流、虚拟存储器、系统级I/O、网络编程、并发编程等
为程序员描述计算机系统的实现细节,帮助其在大脑中构造一个层次型的计算机系统,从最底层的数据在内存中的表示到流水线指令的构成,到虚拟存储器,到编译系统,到动态加载库,到最后的用户态应用。通过掌握程序是如何映射到系统上,以及程序是如何执行的,读者能够更好地理解程序的行为为什么是这样的,以及效率低下是如何造成的。

3、归纳

平时开发或优化过程中遇到直接看《深入。。。》,不多说了 没事多品品

3.1、OS扮演的两个角色:魔术师和管理者

【计算机结构和虚拟内存: sylvanassun的博客给我们讲的很清楚了】
把差的东西变好,把少的东西变多,把复杂的东西变简单:
例如:通过进程抽象让每一个用户感受有一台自己独享的CPU;通过虚拟内存抽象,让用户感受物理内存空间具有无限扩张性。

如何利用硬件资源呢?分块,把硬件分块给应用程序使用。这就涉及到有效和公平的原则(大家一直优化的问题)

3.2、一切皆文件

目录、字符设备、块设备、 套接字、进程、线程、管道等都被视为是一个“文件”
文件描述符(file descriptor),简称fd

  • 其中每一个文件描述符都是一个文件的索引,当然也可以出现多个不同的文件描述符索引同一个文件
  • 操作,读写都可用**fopen()/fclose()/fwrite()/fread()**等函数进行处理。屏蔽了硬件的区别,所有设备都抽象成文件,提供统一的接口给用户。虽然类型各不相同,但是对其提供的却是同一套操作界面。更进一步,对文件的操作也可以跨文件系统执行。
    在这里插入图片描述
    VFS,是Linux 内核中的一个软件层,用于给用户空间的程序提供文件系统接口;同时,它也提供了内核中的一个抽象功能,允许不同的文件系统共存。系统中所有的文件系统不但依赖 VFS 共存,而且也依靠 VFS 协同工作。

3.2、一切皆SOCKET

  • 本地通信(IPC),有很多种方式,但可以总结为下面4类:
    • 消息传递(管道、FIFO、消息队列)
    • 同步(互斥量、条件变量、读写锁、文件和写记录锁、信号量)
    • 共享内存(匿名的和具名的)
    • 远程过程调用(RPC)
  • 网络通信:
    • socket起源于Unix,而Unix/Linux基本哲学之一就是一切皆文件
    • “打开open –> 读写write/read –> 关闭close”模式;
    • 我的理解就是Socket就是该模式的一个实现,socket即是一种特殊的文件;
    • 几乎所有的应用程序都是采用socket!

4、ML

终归高大上的技术只有用在改变普通人的生活上,才能发挥其根本的价值。
一些简单的场景,恰恰是实践机器学习技术的最好地方。

4.1、对比

传统上计算机工作,给它一串指令,它遵照这个指令执行,有因有果,非常明确。
机器学习,是一种让计算机利用数据而不是指令来进行各种工作的方法。

4.2、思想

“统计”思想将在你学习“机器学习”相关理念时无时无刻不伴随,
相关而不是因果的概念将是支撑机器学习能够工作的核心概念。

4.3、看图说话

在这里插入图片描述在这里插入图片描述在这里插入图片描述

引用

【1】

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值