自己写的程序在OS中运行 杂想

搞嵌入式的同学问:怎么把自己的程序放到OS中?

程序放到OS中,回想一下自己学过的操作系统课程。学了一堆的进程调度、文件系统。是的,自己的操作系统学的都是怎么设计操作系统但是貌似没说明怎么将自己写的程序放到OS中。

首先Linux和Mac O都不熟悉,我回想一下Windows过程中程序的运行。安装-运行,就这么简单。

再想一下,在OS运行的过程中是一个死循环。那么在循环中应该有一个操作是专门监听事件的变动的------HOOK?应该就是想HOOK这种。

那么安装的时候也就是说:

1.我把程序的配置信息全部都放到了哪里------注册表?所以说玩war3时通过修改注册表的信息会改变画面的信息(屏幕分辨率)。

2.有一个很重要的一点,写过程序的都知道当自己的程序运行的时候,自己的程序的代码就不能改变了。也就是说------为什么会调用一个新的程序进来?

运行:

1.在死循环中监听到事件-------IDXXXX程序启动

2.读取配置的信息然后再设置初始化------估计就跟类的初始化一样。

时间: 2024-10-17 14:16:09

自己写的程序在OS中运行 杂想的相关文章

使用gdb进行程序调试1-在GDB中运行程序

在GDB中运行程序 一.启动程序 如果在启动gdb时没有指明程序,可以使用命令file或exec-file加载程序: run(r): run(r)命令使程序启动,可以在run命令中指明程序参数:值得注意的是,首次运行run后,如果再次执行run并且不带参数,会以之前的参数运行程序. set args: 指定程序的参数.set args后,run可以不带参数而以指定的参数运行程序.如果set args不太参数,清楚程序参数,执行run后程序不太参数运行. 在加载程序后,如果程序重新编译,gdb会根

实验一:初步认识程序在内存中运行

顾涛原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 如果我写的不好或者有误的地方请留言 实验要求: 题目自拟,内容围绕计算机是如何工作的进行: 博客中需要使用实验截图 博客内容中需要仔细分析汇编代码的工作过程中堆栈的变化 总结部分需要阐明自己对“计算机是如何工作的”理解 实验报告: 首先我们编译一个简单的c语言代码main.c int g(int x) { return x + 3; }

hadoop-初学者写map-reduce程序中容易出现的问题 3

1.写hadoop的map-reduce程序之前所必须知道的基础知识: 1)hadoop map-reduce的自带的数据类型: Hadoop提供了如下内容的数据类型,这些数据类型都实现了WritableComparable接口,以便用这些类型定义的数据可以被序列化进行网络传输和文件存储,以及进行大小比较.(如果是自定义的key,value的数据类型,必须也要写其大小比较的方法) BooleanWritable:标准布尔型数值 ByteWritable:单字节数值 DoubleWritable:

win10下通过Anaconda安装TensorFlow-GPU1.3版本,并配置pycharm运行Mnist手写识别程序

折腾了一天半终于装好了win10下的TensorFlow-GPU版,在这里做个记录. 准备安装包: visual studio 2015: Anaconda3-4.2.0-Windows-x86_64: pycharm-community: CUDA:cuda_8.0.61_win10:下载时选择 exe(local) CUDA补丁:cuda_8.0.61.2_windows: cuDNN:cudnn-8.0-windows10-x64-v6.0;如果你安装的TensorFlow版本和我一样1.

python环境中运行程序

运行Python程序,我们比较常用的是直接在Windows命令提示窗口或者Linux终端或shell窗口中,直接:Python *.py,或者在Linux环境下,在投不中,加入: #!/usr/bin/env python 然后 ./*.py 直接运行 但是进入Python后,该怎么运行呢? 这里就简单介绍一下,这里先简单介绍下os的部分功能. import os; #在Python环境中,引入环境,是必须的:具体可以查看Python中的os os.getcwd(); #得到当前工作目录 os.

在Linux中运行Nancy应用程序

最近在研究如何将.NET应用程序移植到非Windows操作系统中运行,逐渐会写一些文章出来.目前还没有太深的研究,所以这些文章大多主要是记录我的一些实验. 这篇文章记录了我如何利用NancyFx编写一个自托管(Self-host)的应用程序,并且将其发布到Linux系统中. 什么是NancyFx? 简单地说,这真是一个神奇的框架.它给自己的定义是:lightweigh web framework for .NET.不用不知道,一用吓一跳哈 http://nancyfx.org/ 与微软官方的AS

自己手写WEB程序框架并运行

1.新建文件夹,起名MyWeb 2.文件夹下,新建两个文件夹 WEB-INF, META-INF,,还可以新建一些jsp,html文件 ,如 index.html 3在WEB-INF中必须存在一个文件WEB.xml, 还包含两个文件夹 lib, classes 4 在WEB.xml中写入最简单的<web-app> ....  </web-app>,,,,,编辑一下index.html 下面是要运行了 1,cmd 2,切换到MyWeb的文件夹,jar 命令查看一下各个参数的含义 3,

树莓派3中运行Netcore2.0程序

一.简介 Netcore2.0发部后,可以运行在Arm平台上.因此,我们可以尝试在装了Debain的树莓派中运行. 二.方法: 1.在自己的电脑上使用VS写一个NetCore2.0的控制台程序,我假设我就写个Helloworld. 2.在项目目录下使用cmd命令执行:  dotnet publish -r linux-arm 说明:-r表示运行平台,可以是win-arm.linux-arm.win-x86.win-x64等等. 3.打开项目所在目录下的bin\Debug\netcoreapp2.

在apache中运行 cgi程序

cgi 就是网站中各种后台的程序,该程序可以通过网页运行,cgi可以通过C编写,也可以通过shell,python编写 如何在apache中运行各种cgi程序,例如shell perl等程序 1.在apache的主配置文件httpd.conf 中添加 Scriptalias /cgi  "/usr/local/httpd/cgi-bin/" 然后重启 httpd service httpd restart 2.准备一个cgi程序: vi /usr/local/httpd/cgi-bin