文档章节

linux-1多任务实现方式

AnSn
 AnSn
发布于 2017/08/29 12:07
字数 920
阅读 131
收藏 0

码上生花,ECharts 作品展示赛正式启动!>>>

1)输入设备速度慢与CPU执行时间快这样情况下,CPU会经常空闲着,解决方法:把CPU执行时间分段,称时间片;同时内存也分段。
    A.原理:
    按道理一个CPU一次只能执行一个程序,一个内存段也只能存一个可执行程序。CPU执行时间是连续的,而且访问内存找指令也是从编号
    依小到大顺序。
    CPU时间和内存分段后,每个时间片执行一个可执行程序,并行执行的多个程序被分在标有编号的内存段中,每个CPU时间片对应一个内存段。用进
    程监控前一个程序执行情况,如果在本次CPU的执行周期的本次时间片内执行不完,保留数据和状态,并接着执行本周期内到来的时间片
    所负责的管理和执行的程序,等本次CPU时间周期结束后接着开始执行新的周期时间,而未执行完的程序又在上一个时间片位置接着再运行剩
    下的程序命令。
    而正在运行的程序就是进程,因此进程是有多个的。
    而操作系统是负责分配CPU的时间片和内存段,并保证时间片内正在执行的程序(称进程)按规定时间内运行并结束,保留状态和运算器的执行结果,
    称任务的监控、调度及管理。
    B.操作系统是一种通用软件,装到主机上时就把硬件本身所提供的计算能力使用软件的方式给模拟出来了,所以用户程序并不是直接操作硬件,而是
    与操作系统所提供的接口打交道,是间接性的。
    C.操作系统为了简化接口往往做得很底层。操作系统里面有个内核,内核的功能是系统调用。把最低层的接口功能封装成系统调用,这些封装起来的
    最低层系统调用即称内核,用户程序要访问硬件,必须经过请求内核,由内核代替用户程序访问硬件,
    硬件把结果返回给内核,内核再把返回的结果再给返回给用户,所以用户是不能直接接触硬件的。由此可见内核是起到中间人作用
    D.把最底层的系统调用二次封装,他们的一个或者多个功能封装起来做成更高级的接口,这个接口就是库,即所谓的API。
                                            用户程序
                                            库
                                            操作系统
                                            硬件
2)sell是一个软件,它把计算机的功能关联到一个接口上,而这个接口是人类可以接触的和操作的,从而实现人机交互,即人可以操作用户程序,用户
    程序在和库,操作系统及硬件直接或间接打交道。
                                            
3)不同的操作系统底层是由汇编语言编写的,写出的代码却不相同,主机的硬件接口却是固定的,那不同的操作系统能跑在主机的上运行就需要
    做一些处理了,如操作系统的最低层不变,但是在不同操作系统的中间不同处再提取出一个双方都能适应的环境接口,只要提供这个接口,任何
    主机都能适应不同的操作系统了,而这个环境接口就是API,即所谓的库。

© 著作权归作者所有

AnSn
粉丝 1
博文 6
码字总数 2834
作品 0
贵港
其他
私信 提问
加载中
请先登录后再评论。
linux中用户和用户组的概念以及查看命令

Linux 是多用户多任务操作系统,换句话说,Linux 系统支持多个用户在同一时间内登陆,不同用户可以执行不同的任务,并且互不影响。 例如,某台 Linux 服务器上有 4 个用户,分别是 root、www...

osc_kzwkjl9k
2019/07/05
12
0
linux的多任务

写过一篇关于linux多用户的文章,在提到多用户的时候,多任务的概念也是有必要提出的,实际上,多用户必然意味着多任务,每个用户起码一个任务。这么看来。多任务是比多用户更加基本的一个概...

晨曦之光
2012/04/10
1.3K
0
开源操作系统 - Linux

Linux 是一个类Unix操作系统,是 Unix 的一种,它控制整个系统基本服务的核心程序 (kernel) 是由 Linus 带头开发出来的,「Linux」这个名称便是以「Linus's unix」来命名,Linus 选择用「GNU...

匿名
2011/05/12
4.5W
14
ucos 和uclinux的区别及各自的特点

uc/os和uclinux操作系统是两种性能优良源码公开且被广泛应用的的免费嵌入式操作系统,可以作为研究实时操作系统和非实时操作系统的典范。本文通过对uc/os和uclinux的对比,分析和总结了嵌入式...

clmngu
2018/04/20
0
0
Linux 操作系统 — 系统结构

目录 文章目录 目录 Linux 系统架构 Linux 内核 内存管理 进程管理 文件系统 设备驱动程序 网络接口 Shell Linux 系统架构 Linux 系统一般有 4 个主要部分:内核、Shell、文件系统和应用程序...

范桂飓
05/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊puma的ChangedEvent

序 本文主要研究一下puma的ChangedEvent Event puma/core/src/main/java/com/dianping/puma/core/event/Event.java public abstract class Event implements Serializable {private stat......

go4it
昨天
11
0
为什么Kubernetes和容器与机器学习密不可分?

当前,数字化转型的热潮在IT领域发展的如火如荼,越来越多的企业投身其中,机器学习和人工智能等现代技术的融合在公司组织内部也逐渐流行起来。 随着那些构成企业复杂IT基础架构的技术日益成...

京东智联云开发者
昨天
5
0
协程swoole对比golang

协程概念 协程(Coroutines)是一种比线程更加轻量级的存在,正如一个进程可以拥有多个线程一样,一个线程可以拥有多个协程。 协程具有以下几个特点 用户态执行,完全由程序所控制,不是被操...

冻结not
昨天
5
0
如何在macOS或OS X上安装pip? - How do I install pip on macOS or OS X?

问题: This post is a Community Wiki . 这篇文章是社区维基 。 Edit existing answers to improve this post. 编辑现有答案以改善此职位。 It is not currently accepting new answers. 它......

fyin1314
昨天
11
0
net.sf.JSONException Map中value字段为null,服务响应500

6月2号凌晨系统生产发布,2号白天仓库作业时有仓库拣选单打印面单接口500,不是所有的拣选单掉接口都是500, 当时通过接口响应正产和响应500,逻辑梳理以及数据对比,最后发现是Map 对象里面...

Lbj虞
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部