计算机系统基本概念

 我来答
黑科技1718
2022-06-02 · TA获得超过5822个赞
知道小有建树答主
回答量:433
采纳率:97%
帮助的人:79.7万
展开全部

用于管理计算机本身的软件称为 系统软件 ,可以分成两块:

一块是 平台性 的,如操作系统内核、驱动、运行库;

另外一块是 用于程序开发 的,如编译器、汇编器、链接器。

多道程序: 通过监控程序使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)。但是不同的任务间可以共享内存空间,构成同一个进程,这些任务也就成了这个进程里的线程。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式