程序不能脱离操作系统的原因

原创 2006年06月02日 13:20:00

操作系统起到如下两个作用:
     一、将所有的系统资源收归己有,然后视需要有条件地分配给用户进程,目的是协调诸多进程对系统资源的请求;
     二、提供任何一个用户进程都需要的功能。比如维护页表,比如磁盘IO等。这一方面是因为第一条的理由,另一方面也简化了程序的编写。所以这些程序脱离了操作系统就无法执行。

     编写“脱离”操作系统的程序主要是要完成:CPU和外设的初始化,在初始化完成之后,再设法把程序从ROM中读到主存,初始化CPU寄存器,将指令计数器(i386上是CS:IP的组合)指向程序代码的开始处,就可以开始运行了。为了方便起见,i386系列CPU可以工作在实模式,省去了处理保护模式工作的麻烦。
     整个过程系统初始化和寄存器初始化都是系统相关的,可以参考lilo和linux内核的初始化代码。
     上面说的都是系统同一时刻只运行一个进程的情况。如果有多个进程并发执行,就要写一段调度和协调的代码,这本身就是一个操作系统了。

Windows 系统错代码

0-操作成功完成。 1-函数不正确。 2-系统找不到指定的文件。 3-系统找不到指定的路径。 4-系统无法打开文件。 5-拒绝访问。 6-句柄无效。 7-存储控制块被损坏。 8-存储空...
  • applewangpai
  • applewangpai
  • 2013年06月21日 09:49
  • 46763

【操作系统】抖动与工作集

多道程序度与处理机的利用率由于虚拟存储器系统能从逻辑上扩大内存,人们希望在系统中能运行更多的进程,即增加多道程序度,以提高处理机的利用率。如果多道程度过高,页面在内存与外存之间频繁调度,以至于调度页面...
  • qq_28602957
  • qq_28602957
  • 2016年12月22日 21:53
  • 2676

【你可能不知道的】 PICkit3 脱机烧写 program to go 模式

烧写PIC单片机,其实PIC Kit3具备脱机烧写功能!请认准MC石头的唯一CSDN博客  请认准MC石头的唯一CSDN博客 这个功能对生产部门可能意义不大,但是对研发来说还是会经常用到的。请认准...
  • dexinzheng
  • dexinzheng
  • 2016年11月18日 16:35
  • 1893

VMWare不能安装64位操作系统原因探析

您已经配置此虚拟机使用64位客户操作系统。然而,64位操作系统不可用。此主机具有虚拟化支持能力的,但虚拟化技术被禁用。 这通常是因为虚拟化技术已经在BIOS /固件设置或禁用或主机没有权限改变此设置。...
  • whatday
  • whatday
  • 2013年03月16日 22:59
  • 28402

wince 三年之后,忍痛分析微软在移动互联网嵌入式操作系统上不能做大的原因

//--------------------------------------------------------------------------------------------------...
  • gooogleman
  • gooogleman
  • 2012年01月08日 02:39
  • 8808

VMWare不能安装64位操作系统原因探析

您已经配置此虚拟机使用64位客户操作系统。然而,64位操作系统不可用。此主机具有虚拟化支持能力的,但虚拟化技术被禁用。 这通常是因为虚拟化技术已经在BIOS /固件设置或禁用或主机没有权限改变此设置...
  • chengyu779394084
  • chengyu779394084
  • 2016年01月05日 17:06
  • 165

wince 三年之后,忍痛分析微软在移动互联网嵌入式操作系统上不能做大的原因

//---------------// topic:wince 三年之后,忍痛分析微软在移动互联网嵌入式操作系统上不能做大的原因 // 作者:gooogleman ...
  • aristolto
  • aristolto
  • 2012年09月14日 08:17
  • 1046

删除程序以后重新安装显示此程序已存在不能重复安装的原因和解决方法

  • 2017年12月25日 13:28
  • 11KB
  • 下载

zedboard---------linaro下面不能执行交叉编译的opencv程序的原因及解释

在上篇文章中,我主要说出了问题,主要就是为什么交叉编译的opencv的代码不能再linaro的桌面上面执行,但是却能够在busybox制作的文件系统下面执行?这这边文章中我将简单的分析,并且写出解决的...
  • gao0arm
  • gao0arm
  • 2013年07月13日 22:24
  • 1606

VC/MFC 程序最小化后不能还原的原因与解决方法

程序最小化后不能还原,一般原因是程序中至少存在一个Popup类型的窗口引起的,因为Popup类型的子窗口即使由于父窗口的隐藏而隐藏,其WS_VISIBLE属性仍然是可见的,当用户再次点击任务栏的程序图...
  • FISH_LJZ
  • FISH_LJZ
  • 2014年03月17日 19:49
  • 1583
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:程序不能脱离操作系统的原因
举报原因:
原因补充:

(最多只允许输入30个字)