文档章节

linux-1多任务实现方式

AnSn
 AnSn
发布于 2017/08/29 12:07
字数 920
阅读 3
收藏 0
点赞 0
评论 0

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

© 著作权归作者所有

共有 人打赏支持
AnSn
粉丝 1
博文 5
码字总数 2834
作品 0
贵港
其他
如何在Linux上禁止任何人使用su命令成为root

如何在Linux上禁止任何人使用su命令成为root Ronny 2018年5月2日暂无评论 阅读 4 次 导读 Linux以它的高效性和灵活性著称,Linux模块化的设计结构,使得它既能在价格昂贵的工作站上运行,也能...

Ronny ⋅ 05/02 ⋅ 0

ucos 和uclinux的区别及各自的特点

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

clmngu ⋅ 04/20 ⋅ 0

RTX-TINY AND C51工具链相关

1. RTX51 TINY的信号是异步使用,如中断发信号,但是只有一种信号,反正就是等待信号和收到信号。信号不再继续分类。但是linux的信号同是异步使用,但是信号有很多种,如KILL信号等等。 2. 信...

yueqian_scut ⋅ 03/22 ⋅ 0

linux各个发行版本对比与简介

首先我们要能够清晰的区分Linux系统内核与Linux发行套件系统的区别,Linux系统内核指的是一个由Linus Torvalds负责维护,提供硬件抽象层、硬盘及文件系统控制及多任务功能的系统核心程序。而...

河图再现 ⋅ 04/27 ⋅ 0

在Ubuntu16.04.4上安装jdk

一、安装步骤 1.下载jdk安装包 首先我们在oracle官网上下载jdk-8u161-linux-x64.tar.gz,当然也可以下载其他版本的。 2.创建java的安装目录,并且解压该安装包,这里没有固定的解压目录,很类...

oO维尼熊Oo ⋅ 05/03 ⋅ 0

linux的多任务

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

晨曦之光 ⋅ 2012/04/10 ⋅ 0

Linux之父访谈录:设计内核只为了好玩

“有些人生来就具有统率百万人的领袖风范;另一些人则是为写出颠覆世界的软件而生。唯一一个能同时做到这两 者的人,就是Linus Torvalds。”这是美国《时代》周刊对Linux之父Linus的评价。Lin...

红薯 ⋅ 2010/09/19 ⋅ 18

Linux进程和线程间IPC机制

Linux进程间IPC 1.管道(Pipe)及有名管道(named pipe): 1、管道是半双工的,要实线读写需建立两根管道; 2、匿名管道用于父子进程或者兄弟进程之间(如forkexec创建的进程),命名管道允许没...

dodonei ⋅ 04/16 ⋅ 0

嵌入式Linux学习基础规划篇

嵌入式的学习是需要日积月累的,是通过一点一滴的积累才能成为大神。下面来介绍一下嵌入式linux学习基础规划,目标是达到适应嵌入式应用软件开发、嵌入式系统开发或嵌入式驱动开发的基本素质...

创客学院 ⋅ 04/10 ⋅ 0

学习Linux之特性综述

学习Linux之特性综述 linux学习教程 兄弟连IT教育 LINUX以其优越、稳定的网络服务器性能征服了许许多多的软、硬件制造商和广大计算机迷。据CNET报导,IDC资料显示,Linux在伺服器市场已经夺下...

疯狂的小黑 ⋅ 2016/10/18 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

spring Email

使用spring发Email其实就是使用spring自己封装携带的一个javamail.JavaMailSenderImpl类而已。这个类可以当一个普通的java对象来使用,也可以通过把它配置变成spring Bean的方式然后注入使用...

BobwithB ⋅ 22分钟前 ⋅ 0

spark 整理的一些知识

Spark 知识点 请描述spark RDD原理与特征? RDD全称是resilient distributed dataset(具有弹性的分布式数据集)。一个RDD仅仅是一个分布式的元素集合。在Spark中,所有工作都表示为创建新的...

tuoleisi77 ⋅ 25分钟前 ⋅ 0

思考

时间一天天过感觉自己有在成长吗?最怕的是时光匆匆而过,自己没有收获!下面总结下最近自己的思考。 认识自己 认识另一个自己,人们常说要虚心听取别人意见和建议。然而人往往是很难做到的,...

hello_hp ⋅ 26分钟前 ⋅ 0

IT行业的变革就像世界杯德国对战墨西哥一样难以预测[图]

最近在观看世界杯,尤其是昨天的比赛,上一届卫冕冠军德国队居然0:1告负墨西哥,这创造了历史,首先是墨西哥从来没赢过德国队,其次是德国队36年来首站没输过,再差也是打平,而这次,德国队...

原创小博客 ⋅ 45分钟前 ⋅ 0

解决CentOS6、7,/etc/sysconfig/下没有iptables的问题

一、Centos 6版本解决办法: 1.任意运行一条iptables防火墙规则配置命令: iptables -P OUTPUT ACCEPT 2.对iptables服务进行保存: service iptables save 3.重启iptables服务: service ...

寰宇01 ⋅ 55分钟前 ⋅ 2

数据库备份和恢复

备份:mysqldump -u root -p 数据库>磁盘路径 恢复:mysql -u root -p 数据库<sql脚本的磁盘路径

anlve ⋅ 今天 ⋅ 0

发生了什么?Linus 又发怒了?

在一个 Linux 内核 4.18-rc1 的 Pull Request 中,开发者 Andy Shevchenko 表示其在对设备属性框架进行更新时,移除了 union 别名,这引发了 Linus 的暴怒。 这一次 Linus Torvalds 发怒的原...

问题终结者 ⋅ 今天 ⋅ 0

在树莓派上搭建一个maven仓库

在树莓派上搭建一个maven仓库 20180618 lambo init 项目说明 家里有台树莓派性能太慢。想搭建一个maven私服, 使用nexus或者 jfrog-artifactory 运行的够呛。怎么办呢,手写一个吧.所在这个...

林小宝 ⋅ 今天 ⋅ 0

Spring发展历程总结

转自与 https://www.cnblogs.com/RunForLove/p/4641672.html 目前很多公司的架构,从Struts2迁移到了SpringMVC。你有想过为什么不使用Servlet+JSP来构建Java web项目,而是采用SpringMVC呢?...

onedotdot ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部