操作系统调用程序前需要做哪些准备

学习的一些记录,忘记了的时候再回来看看
计算机操作系统——程序执行的流程
一个简单的例子描述,程序从执行到结束操作系统都做了什么
#include &stdio.h&
int main()
printf("hello world");
* 用户告诉操作系统执行hello程序
* 操作系统到硬盘找到该程序
* 由编译程序将用户源程序编译成若干个目标模块
* 由链接程序将目标模块和相应的库函数链接成装入模块
* 操作系统分配内存,由装入程序将装入模块装入内存
* 为执行hello程序创建执行环境(创建新进程)
* 操作系统设置CPU上下文环境,并跳到程序开始处
* 程序的第一条指令执行
* 程序执行与printf对应的系统调用
* 操作系统分配设备
* 执行显示驱动程序
* 窗口系统将像素写入存储映像区
* 视频硬件将像素表示转换成一组模拟信号控制显示器(重画屏幕)
* 显示器发射电子束
* 你在屏幕上看到hello world
没有更多推荐了,> 问题详情
在操作系统中引入并发可以提高系统效率。若有两个程序A和B,A程序执行时所做的工作按次序需要用CPU
悬赏:0&答案豆
提问人:匿名网友
发布时间:
在操作系统中引入并发可以提高系统效率。若有两个程序A和B,A程序执行时所做的工作按次序需要用CPU:10秒,DEV1:5秒;CPU:5秒;DEV2:10秒;CPU:l0秒。B程序执行时所作的工作按次序需要用DEV1:10秒;CPU:10秒;DEV2:5秒;CPU:5秒;DEV2:10秒,则:如果有顺序环境下执行A、B两个程序,CPU的利用率为(9)。A.30%.B.40%.C.50%.D.60%.请帮忙给出正确答案和分析,谢谢!
权威推荐: & &
为您推荐的考试题库
您可能感兴趣的试题
1如果在并发环境下执行A、B两个程序,假设A程序先执行,则CPU的利用率为(10)。.A.99%.B.89%C.79%.D.69%.2对于键值序列{12,13,11,18,60,15,7,18,25,100},用筛选法建堆,必须从键值为(11)的结点开始。A.100B.12C.60D.153下列指令中有几条指令是不合法的?(12)。&①MOV[SI),[DI]&②IN AL,DX&③JMP WORD PTR[BX]&④PUSH WORD PTR 10[BX+2]A.1条B.2条C.3条D.4条4对有18个元素的有序表做折半查找,则查找A[3]的比较序列的下标依次为(13)。A.1-2-3B.9-5-2-3C.9-5-3D.9-4-2-3
我有更好的答案
电脑、移动端同步直播
请先输入下方的验证码查看最佳答案
图形验证:
验证码提交中……
每天只需0.4元
选择支付方式
支付宝付款
郑重提醒:支付后,系统自动为您完成注册
请使用微信扫码支付(元)
支付后,系统自动为您完成注册
遇到问题请联系在线客服QQ:
恭喜你被选中为
扫一扫-免费查看答案!
请您不要关闭此页面,支付完成后点击支付完成按钮
遇到问题请联系在线客服QQ:
恭喜您!升级VIP会员成功
提示:请截图保存您的账号信息,以方便日后登录使用。
常用邮箱:
用于找回密码
确认密码:博客分类:
通过 java.lang.Runtime 类可以方便的调用操作系统命令,或者一个可执行程序,下面的小例子我在windows和linux分别测试过,都通过。基本原理是,首先通过 Runtime.getRuntime() 返回与当前 Java 应用程序相关的运行时对象,然后调用run.exec(cmd)
另启一个进程来执行命令(cmd为要执行的命令)。
一、运行一个可执行程序
执行一个.exe的文件,或通过已安装的软件打开一个特定格式的文件,如word、chm或mp3等等。
1. 在window下可以直接执行一个.exe文件,如执行我在F盘下的tomcat安装文件,将命令写为:
String cmd = "F:\\apache-tomcat-6.0.20.exe";
2. 打开一个word文档。如果系统已经安装了office应用程序,就可以通过调用word的可执行程序来打开一个word文档:
String cmd = "D:\\Program Files\\Microsoft Office\\OFFICE11\\WINWORD.EXE F:\\test.doc";
当然这样写有点麻烦,我们想打开一个word文档时只要双击就可以了,用不着去找WINWORD.EXE。要是打开每一种格式的文件都得去找它的可执行程序,那可累死了,我们可以通过下面的代码,打开任意一个已知格式的文件(只要安装的打开这种文件格式的软件),相当于用鼠标双击一个文件的图标:
String cmd = "cmd.exe /c start F:\\test.doc";
我用C写了一个进程操作的小例子,放在 linux 下编译出的可执行文件叫“fork_wait”,然后把我的java文件编译成TestRunTime.class后扔到 linux 上,在控制台执行 java TestRunTime 命令,TestRunTime 和 fork_wait 程序均运行成功。
String cmd = "./fork_wait";
二、执行一个有标准输出的系统命令
通过调用进程的 getInputStream() 方法,可以获得执行命令的标准输出。在 windows 的cmd控制台窗口和 linux 控制台执行系统名利的格式是一样的,只是输入的命令不同而已。
如要执行windows控制台中ping命令,可写为:String cmd = "ping www.baidu.com";
执行linux的ls命令,可写为:String cmd = "ls -l";
如果要执行一个带参数的命令,可使用 String 数组形式,如:
String[] cmd=new String[3];
cmd[0]="/bin/sh";
cmd[1]="-c";
cmd[2]="ls -l ./";
下面是我写的小例子:
package com.why.RunT
import java.io.BufferedInputS
import java.io.BufferedR
import java.io.InputStreamR
public class TestRunTime {
public static void main(String[] args) {
String cmd = "F:\\apache-tomcat-6.0.20.exe";
String cmd = "D:\\Program Files\\Microsoft Office\\OFFICE11\\WINWORD.EXE F:\\test.doc";
String cmd = "cmd.exe /c start F:\\test.doc";
String cmd = "ping www.baidu.com";
String cmd = "./fork_wait";
String cmd = "ls -l";
String[] cmd=new String[3];
cmd[0]="/bin/sh";
cmd[1]="-c";
cmd[2]="ls -l ./";
Runtime run = Runtime.getRuntime();//返回与当前 Java 应用程序相关的运行时对象
Process p = run.exec(cmd);// 启动另一个进程来执行命令
BufferedInputStream in = new BufferedInputStream(p.getInputStream());
BufferedReader inBr = new BufferedReader(new InputStreamReader(in));
String lineS
while ((lineStr = inBr.readLine()) != null)
//获得命令执行后在控制台的输出信息
System.out.println(lineStr);// 打印输出信息
//检查命令是否执行失败。
if (p.waitFor() != 0) {
if (p.exitValue() == 1)//p.exitValue()==0表示正常结束,1:非正常结束
System.err.println("命令执行失败!");
inBr.close();
in.close();
} catch (Exception e) {
e.printStackTrace();
浏览 60286
如果是执行一段脚本,bat或则是shell,你如何判断成功与否?p.waitfor的返回值只是脚本中最后一个命令执行返回的结果,万一你中间有那条命令执行错误最后一条却成功,那岂不是判断执行成功?感谢关注先!再说这个p.waitfor返回的并不是脚本中哪个命令的执行结果,而是这个脚本是否正常执行完毕,就算一个脚本中的所有命令都执行失败,只要这个脚本能执行完,就返回成功。
浏览: 346384 次
来自: 哈尔滨
如何在java Web项目中开发WebService接口,地址 ...
如何在java Web项目中开发WebService接口,地址 ...
如何在java Web项目中开发WebService接口,地址 ...
[color=red][/color] 学习了
我很喜欢你对设计模式的理解。
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix' 上传我的文档
 上传文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
2014操作系统复习题(含答案)
下载积分:1500
内容提示:2014操作系统复习题(含答案)
文档格式:DOC|
浏览次数:1419|
上传日期: 22:29:29|
文档星级:
全文阅读已结束,如果下载本文需要使用
 1500 积分
下载此文档
该用户还上传了这些文档
2014操作系统复习题(含答案)
关注微信公众号以下试题来自:
单项选择题操作系统提供给程序员的接口是()。
A.系统调用
D.系统调用和系统库
为您推荐的考试题库
您可能感兴趣的试卷
你可能感兴趣的试题
A.多媒体硬件系统
B.多媒体操作系统
C.媒体处理系统工具
D.用户应用软件
A.程序服务处理
B.自简及初始化
C.硬件中断处理
D.软件中断处理
B.光电信号}

我要回帖

更多关于 c语言经典程序100例 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信