电脑系统包括_电脑系统的概念
用于管理计算机本身的软件称为 系统软件 ,可以分成两块:
一块是 平台性 的,如操作系统内核、驱动、运行库;
另外一块是 用于程序开发 的,如编译器、汇编器、链接器。
多道程序: 通过监控程序使CPU不空闲,一空闲,就把等待着的程序启动(策略粗糙,不分轻重)。
分时系统: 部分系统调用时,OS判断是否有其他程序在等待,有就让出CPU。(问题:如果有1个程序进行耗时运算或陷入无限循环,不进行系统调用,OS就好像死机了一样。
多任务系统: 通过抢占式分配CPU。所有应用程序以进程的方式,运行在比OS权限低的级别。CPU由OS进行分配,每个进程有 优先级 。OS将CPU执行的进程快速切换,造成了很多进程同时运行的假象。
物理磁盘分为多个 盘片 ,每个盘片 2个盘面 ,每面按 同心圆 分为若干 磁道 ,每个磁道分为若干 扇区 ,每个扇区一般存储 512字节 数据。
现代磁盘已经演进为 => 屏蔽了复杂的硬件细节,通过LBA(Logical Block Address), 对整个磁盘的扇区从001进行编号 。
早期,各程序是直接运行在物理内存上的,
因此带来了3个问题:
为此提出过2个解决方案:
这个方案解决了问题1、3,但是没有解决连续内存的问题,于是提出了方案2。
每个进程由1~3个线程组成,会 共享进程的text、data、heap段中的数据,寄存器和栈中的数据不共享 。
线程有三种状态:
每个线程拥有一段可执行的时间,称为 时间片 。
优先级调度 + 轮转法 :
每个线程有优先级,高优先级的线程更早被分配时间片。
线程可分为 IO密集型线程 (经常IO主动放弃时间片)和 CPU密集型线程 (很少等待IO,一直在进行运算),
其中IO密集型线程更容易获得优先级的提升。
导致的问题: 进程饿死 ,优先级过低的线程,始终分配不到时间片,无法执行。
解决:等待过久的线程将获得优先级提升。
Linux下不存在真正意义上的线程概念,都称为 任务 (task)。但是不同的任务间可以共享内存空间,构成同一个进程,这些任务也就成了这个进程里的线程。
简单来说,作为智能设备的电脑系统相当于一个人,硬件系统——就相当于人的肉体,软件系统——就相当于人的大脑中枢中的思维和记忆等内容。软件的存在是依赖于硬件的,就于同大脑的思维活动依赖于脑细胞才能存在。
智能设备的软件和数据是都是用0、1两种数码表示的,因此也称这类设备为数字设备。
软件系统可包括两类:程序和数据。程序决定电脑进行怎样的思维运算活动,数据则是电脑思维和动的“素材”或成果。
具体的细节就比较多了,你可以从网上查找有关资料。
事实上所有的智能设备都是这个原理,但具体的硬件构架差别比较大,比如智能手机,甚至mp3、mp4等。
回过头来说,电脑和人一样,只不过是一架复杂的机器。只是这种机器的控制系统精密而复杂且集成度很高,从而显得自动化程度很高。
这里所说的集成度很高就在于控制机器的大量而复杂、巧妙的指令集中装在电脑内存或人脑中,通过人脑的大脑皮层或电脑的CPU集中处理,通过人脑的脑干脊髓或电脑的南北桥芯片和总线最终控制具体的物理动作(行走,说话,显示,打印)。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。