20210223计算机科学速成课40集(18-25)

CrashCourse计算机科学速成课40集B站
18. 操作系统:早期计算机一次只能运行一个程序,因此可以让计算机自动运行程序的程序出现了,就是operating systerm,OS具有操作硬件的特殊权限,可以运行和管理其他程序。操作系统充当软件和硬件之间的媒介,更具体地说,操作系统提供API来抽象硬件,叫“设备驱动程序device drivers”,程序员可以用标准化机制和输入/输出硬件交互。后来的操作系统具有多任务处理功能mutitasking,以减少因CPU与I/O硬件效率不同造成的cpu闲置。但是多任务的问题在于,每个程序都占用内存,即便暂时休眠的程序,依然在占用内存,解决办法是给每个程序提供专属的内存模块。但是又会带来新问题,在于同一程序,可能被存储在多个离散的内存模块中,解决办法是用虚拟内存向物理内存映射。这种机制使程序内存大小可以灵活增减,叫“动态内存分配”,对程序而言,内存看起来是连续的。
19. 内存&储存介质memory&storage:最早的储存介质是纸卡,读写慢,而且是一次性的。延迟存储器,同一时刻只能读取其中一位,所以又叫顺序存储器或循环存储器,而我们想要的是随机存取存储器,可以随时访问任何位置。磁芯存储器。磁带存储器。磁鼓存储器。磁盘存储器。软盘flopp disk。ssd。
20. 文件系统File&File Systerm:文件格式file format,程序员偶尔会发明新的文件格式,但最好用现成的标准,如JPEG、MP3。以WMA文件为例,文件开头是元数据,后面是一串代表不同时间声音振幅的数字。位图bitmap,BMP文件开头也是元数据metadata,有图片宽度、图片高度、颜色深度。所有文件,底层都是一串二进制数,为了知道文件是什么,文件格式至关重要。为了在存储介质上存多个文件,需要一个特殊文件,记录其他文件位置,这个特殊文件有很多名字,这里统称目录文件Directory File,这个文件常常存在最前端,方面查找,即位置0。目录文件里,存了所有其他文件名称,格式是“文件名.扩展名”,目录文件还存了文件元数据,比如创建时间、修改时间、文件所有者、能否读写。最重要的是,目录文件有文件的起始位置和长度,如果要添加、删除、修改文件名等,必须更新目录文件。为解决文件增减造成后续文件覆盖问题,现代存储器将存储空间划分成一块一块,导致有些“预留空间”方便改动,同时也方便管理,同时将文件拆分,保存在不同块里。删除文件是,只需要在目录文件里删除文件相关记录,让相应块空间变为可用,注意这并没有删除数据,只是删除了记录,所以数据还可以恢复。磁盘碎片是增加、删除、修改文件导致的,不可避免。事实上,文件可能存储在数百个块中,而且不是连续的,为了提高读取效率,需要进行磁盘整理defragmentation,即把数据来回移动,排列成正确的顺序。分层文件系统,即文件夹嵌套文件夹,在目录文件中,我们需要额外的元数据,来区分是文件还是目录文件。
21. 压缩compression:把数据占用空间压到最小。游程编码run-length encoding,适合经常出现相同值的文件。DFTBA:需要一个dictionary,存储代码和数据的对应关系。Huffman Tree霍夫曼树。游程编码和字典编码都可以实现无损压缩。有损压缩,删掉一些人类无法识别的信息,或者不重要的信息,比如电话中人的声音和实际声音不一样,压缩音频是为了让更多人同时打电话。和无压缩的WMA、FLAC相比,压缩文件MP3能小10倍多,省了许多储存空间。这种删掉人类无法感知的数据的编码方法,叫做“感知编码”perceptual coding。JPEG,我们善于看见尖锐对比,比如物体边缘,但是看不出颜色的细微变化,JPEG利用这一点把图像images分解成88像素块,然后删掉大量高频率空间数据。视频压缩MPEG-4是常见标准,可以比原文件小20倍到200倍。
22. 命令行界面Keyboards&Command Line Interfaces:命令行非常强大,无所不能。现在程序员依然用命令行去访问远端服务器。
23. 屏幕&2D图形显示Screens&2D Graphics:早期屏幕只用来显示中间状态,而不用于输出结果。用纸来打印结果。光栅扫描。由于早期屏幕像素占内存比较大,因此早期计算机不储存大量像素值,而是储存符号,80
25符号最典型,总共2000个字符,为此计算机需要额外硬件来从内存读取字符,转换成光栅图形,这样才能显示在屏幕上,这个硬件叫做字符生成器,是第一代显卡。矢量图,由线段组成任何图形,而不是用像素,因此矢量图占空间更小。
24. 冷战和消费主义:
25. 个人计算机革命:

你可能感兴趣的:(20210223计算机科学速成课40集(18-25))