CN100377093C - 嵌入式操作系统输入输出设备软件化方法 - Google Patents

嵌入式操作系统输入输出设备软件化方法 Download PDF

Info

Publication number
CN100377093C
CN100377093C CNB2006100502573A CN200610050257A CN100377093C CN 100377093 C CN100377093 C CN 100377093C CN B2006100502573 A CNB2006100502573 A CN B2006100502573A CN 200610050257 A CN200610050257 A CN 200610050257A CN 100377093 C CN100377093 C CN 100377093C
Authority
CN
China
Prior art keywords
input
output
software
output device
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2006100502573A
Other languages
English (en)
Other versions
CN1828545A (zh
Inventor
陈天洲
胡威
蒋宁
严力科
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CNB2006100502573A priority Critical patent/CN100377093C/zh
Publication of CN1828545A publication Critical patent/CN1828545A/zh
Application granted granted Critical
Publication of CN100377093C publication Critical patent/CN100377093C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种嵌入式操作系统输入输出设备软件化方法。在访问输入输出设备时,往往用采用软件化的方法,抽象出硬件特征,方便操作系统的管理与使用。本发明使用分层机制,根据硬件的相关性,将硬件的软件组织合理分层,使输入输出设备与用户无关,有效解决了访问设备时的错误处理,同步、异步传输以及访问独占性外围设备和共享性外围设备。能够及时处理用户对输入输出设备的请求,保证了硬件资源的合理分配和高度可靠性。本发明对嵌入式系统环境,尤其是面向嵌入式系统的嵌入式操作系统,有重大意义。

Description

嵌入式操作系统输入输出设备软件化方法
技术领域
本发明涉及基于因特网的分布式图案协同设计技术,特别是涉及一种图案协同设计中对象锁和区域锁同时存在的复杂加锁方法。
背景技术
现代计算机系统中配置了大量外围设备。一般说,计算机的外围设备分为两大类:一类是存储型设备,如磁带机、磁盘机等。以存储大量信息和快速检索为目标,它在系统中作为主存储器的扩充,所以,又称辅助存储器;另一类是输入输出型设备,如显示器、卡片机、打印机等。它们把外界信息输入计算机,把运算结果从计算机输出。
设备管理是操作系统中最庞杂和琐碎的部分,普遍使用输入输出设备中断、缓冲器管理、通道、设备驱动调度等多种技术,这些措施较好地克服了由于外部设备和主机速度上不配所引起的问题,使主机和外设并行工作,提高了使用效率。但是,在另一方面却给用户的使用带来极大的困难,它必须掌握输入输出设备系统的原理,对接口和控制器及设备的物理特性要有深入了解,这就使计算机推广应用受到很大限制。为了方便地使用各种外围设备。
以上两类外围设备的物理特性各不相同,因此,操作系统对它们的管理也有很大差别。为了使这些设备在用户面前具有统一的格式和一致的面貌,对于存储型设备,信息以文件为单位存取;对于输入输出设备,信息以文件为单位输入输出。这样,用户可以通过“按名存取”文件实现对外围设备的访问,而不必考虑直接控制外围设备时应做的许多繁琐工作。操作系统除了要提供文件系统外,还必须要有实现对外围设备上文件信息的物理存取和设备控制的功能。操作系统中完成这一功能的程序就是设备管理。
发明内容
本发明的目的在于提供一种嵌入式操作系统输入输出设备软件化方法。
本发明解决其技术问题采用的技术方案的步骤如下:
将输入输出的软件组织组织成一种层次结构,低层软件屏蔽硬件的具体细节,高层软件向用户提供一个简洁、规范的界面:
1)提供用户空间的输入输出设备软件:
向用户提供一个简洁、规范的操作接口,用于完成用户程序中的输入输出设备操作;
2)提供与硬件无关的输入输出设备软件:
与硬件设备无关软件的基本功能是执行适用于所有设备的常用I/O功能,并向用户层软件提供一个一致的接口;
3)提供设备驱动程序:
设备驱动程序中包括了所有与设备相关的代码,每个设备驱动程序只处理一种设备,设备驱动程序的功能是从与设备无关的软件中接收抽象的请求,并执行它;
4)提供输入输出设备中断处理程序:
将中断处理放在操作系统的最底层进行处理;
当一个进程请求输入输出设备操作时,该进程将被挂起,直到输入输出设备操作结束并发生中断,当中断发生时,中断处理程序执行相应的处理,并解除相应进程的阻塞状态;
输入输出中断的类型和功能如下:
通知用户程序输入输出操作沿链推进的程度中断,链推进的程度中断有程序进程中断;
通知用户程序输入输出操作正常结束,当输入输出控制器或设备发现通道结束、控制结束、设备结束信号时,就向通道发出一个报告输入输出操作正常结束的中断;
通知用户程序发现的输入输出操作异常,包括设备出错、接口出错、输入输出设备程序出错、设备特殊、设备忙,以及提前中止操作的原因;
5)提供访问输入输出设备过程:
①用户通过用户空间的输入输出设备软件访问输入输出设备;
②设备无关软件在数据块缓冲区中查找此设备块;
③调用设备驱动程序向硬件发出相应的请求;
④输入输出设备发出中断;
⑤执行中断处理程序。
本发明具有的有益效果是:使用分层机制隐藏底层无关信息,降低访问输入输出设备的复杂度。根据硬件的相关性,将硬件的软件组织合理分层,使输入输出设备与用户无关,有效解决了访问设备时的错误处理,同步、异步传输以及访问独占性外围设备和共享性外围设备。能够及时处理用户对输入输出设备的请求,保证了硬件资源的合理分配和高度可靠性。
附图说明
附图是访问输入输出设备访问层次图。
具体实施方式
在实施一种嵌入式操作系统输入输出设备软件化方法时采用C语言编写。
具体方式如下:
1)提供用户空间的输入输出设备软件:
向用户提供一个简洁、规范的操作接口,用于完成用户程序中的输入输出设备操作。
建立例程库,此类库例程的主要工作是提供参数给相应的系统调用并调用。它们作为用户程序的一部分运行。
建立虚拟设备,有效处理在多道程序系统中的独占设备共享问题。
2)提供与硬件无关的输入输出设备软件:
与硬件设备无关软件的基本功能是执行适用于所有设备的常用输入输出设备功能,并向用户层软件提供一个一致的接口。
尽管某些输入输出设备软件是设备相关的,但大部分独立于设备。设备无关软件和设备驱动程序之间的精确界限在各个系统都不尽相同。对于一些以设备无关方式完成的功能,在实际中由于考虑到执行效率等因素,也可以考虑由驱动程序完成。
由设备无关软件完成的功能:
对设备驱动程序的统一接口
设备命名
设备保护
提供独立于设备的块大小
缓冲区管理
块设备的存储分配
独占性外围设备的分配和释放
错误报告
设备无关软件的基本功能是执行适用于所有设备的常用输入输出设备功能,并向用户层软件提供一个一致的接口。
3)提供设备驱动程序:
设备驱动程序中包括了所有与设备相关的代码。每个设备驱动程序只处理一种设备,或者一类紧密相关的设备。设备驱动程序的功能是从与设备无关的软件中接收抽象的请求,并执行它。
执行一条输入输出请求的第一步,是将它转换为更具体的形式。决定应向控制器发送什么命令,这些控制命令发出后有两种可能。在许多情况下,驱动程序需等待控制器完成一些操作,所以驱动程序阻塞,直到中断信号到达才解除阻塞。另一种情况是操作没有任何延迟,所以驱动程序无需阻塞。
对前一种情况,被阻塞的驱动程序须由中断唤醒,而后一种情况下它根本无需睡眠。无论哪种情况,都要进行错误检查。如果一切正常,则驱动程序将数据传送给上层的设备无关软件。最后,它将向它的调用者返回一些关于错误报告的状态信息。如果请求队列中有别的请求则它选中一个进行处理,若没有则它阻塞,等待下一个请求。
4)提供输入输出设备中断处理程序:
将中断处理放在操作系统的最底层进行处理,用户程序的输入输出操作的其余部分尽可能少地与之发生联系;
当一个进程请求输入输出设备操作时,该进程将被挂起,直到输入输出设备操作结束并发生中断。当中断发生时,中断处理程序执行相应的处理,并解除相应进程的阻塞状态。
输入输出中断的类型和功能如下:
通知用户程序输入输出操作沿链推进的程度。此类中断有程序进程中断。
通知用户程序输入输出操作正常结束。当输入输出控制器或设备发现通道结束、控制结束、设备结束等信号时,就向通道发出一个报告输入输出操作正常结束的中断。
通知用户程序发现的输入输出操作异常,包括设备出错、接口出错、输入输出设备程序出错、设备特殊、设备忙等,以及提前中止操作的原因。
当输入输出中断被响应后,中断装置交换程序状态字引出输入输出中断处理程序。输入输出中断处理程序状态字中得到产生中断的通道号和设备号,并分析通道状态字,弄清产生中断的输入输出中断事件的原则如下:
①如果是操作正常结束,那么,系统要查看是否有等待该设备或通道者,若有则释放。
②如果由于操作中发生故障或某种特殊事件而产生的中断,那么,操作系统要进一步查明原因,采取相应措施。
操作中发生的故障及其处理的方法有以下几种:
设备本身的故障。
通道程序错。由通道识别的各种通道程序错误。
启动命令的错误。
如果设备在操作中发生了某些特殊事件,那么,在设备操作结束发生中断时,也要将这个情况向系统报告。操作系统从设备状态字节中的设备特殊位为1,可以判知设备在操作中发生了某个特殊事件。
③如果是人为要求而产生的中断,那么,系统将响应并启动外围设备。
④如果是外围设备上来的“设备结束”等异步信号,表示有外围设备接入可供使用或断开暂停使用。操作系统应修改系统表格中相应设备的状态。
5)提供访问输入输出设备过程:
当用户程序试图访问输入输出设备时,通过用户空间的输入输出设备软件提出请求,操作系统来执行此操作,设备无关软件首先在数据块缓冲区中查找此块,若未找到,则它调用设备驱动程序向硬件发出相应的请求。用户进程随即阻塞直到数据块被读出。
输入输出执行完毕后,硬件发出一个中断,它将激活中断处理程序。中断处理程序则从设备获取返回状态值并唤醒睡眠的进程来结束此次输入输出设备请求,并使用户进程继续执行。
①用户通过用户空间的输入输出设备软件访问输入输出设备;
②设备无关软件在数据块缓冲区中查找此设备块;
③调用设备驱动程序向硬件发出相应的请求;
④输入输出设备发出中断;
⑤执行中断处理程序。

Claims (1)

1.一种嵌入式操作系统输入输出设备软件化方法,将输入输出的软件组织组织成一种层次结构,低层软件屏蔽硬件的具体细节,高层软件向用户提供一个简洁、规范的界面,其特征在于该方法的步骤如下:
1)提供用户空间的输入输出设备软件:
向用户提供一个简洁、规范的操作接口,用于完成用户程序中的输入输出设备操作;
2)提供与硬件无关的输入输出设备软件:
与硬件无关的输入输出设备软件的基本功能是执行适用于所有上述输入输出设备的常用I/O功能,并向用户层软件提供一个一致的接口;
3)提供设备驱动程序:
设备驱动程序中包括了所有与设备相关的代码,每个设备驱动程序只处理一种设备,设备驱动程序的功能是从与设备无关的软件中接收抽象的请求,并执行它;
4)提供输入输出设备中断处理程序:
将中断处理放在操作系统的最底层进行处理;
当一个进程请求输入输出设备操作时,该进程将被挂起,直到输入输出设备操作结束并发生中断,当中断发生时,中断处理程序执行相应的处理,并解除相应进程的阻塞状态;
输入输出中断的类型和功能如下:
通知用户程序输入输出操作沿链推进的程度中断,链推进的程度中断有程序进程中断;
通知用户程序输入输出操作正常结束,当输入输出控制器或设备发现通道结束、控制结束、设备结束信号时,就向通道发出一个报告输入输出操作正常结束的中断;
通知用户程序发现的输入输出操作异常,包括设备出错、接口出错、输入输出设备程序出错、设备特殊、设备忙,以及提前中止操作的原因;
5)提供访问输入输出设备过程:
①用户通过用户空间的输入输出设备软件访问输入输出设备;
②设备无关软件在数据块缓冲区中查找此设备块;
③调用设备驱动程序向硬件发出相应的请求;
④输入输出设备发出中断;
⑤执行中断处理程序。
CNB2006100502573A 2006-04-07 2006-04-07 嵌入式操作系统输入输出设备软件化方法 Expired - Fee Related CN100377093C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100502573A CN100377093C (zh) 2006-04-07 2006-04-07 嵌入式操作系统输入输出设备软件化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100502573A CN100377093C (zh) 2006-04-07 2006-04-07 嵌入式操作系统输入输出设备软件化方法

Publications (2)

Publication Number Publication Date
CN1828545A CN1828545A (zh) 2006-09-06
CN100377093C true CN100377093C (zh) 2008-03-26

Family

ID=36946956

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100502573A Expired - Fee Related CN100377093C (zh) 2006-04-07 2006-04-07 嵌入式操作系统输入输出设备软件化方法

Country Status (1)

Country Link
CN (1) CN100377093C (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107247608A (zh) * 2017-05-31 2017-10-13 河南思维轨道交通技术研究院有限公司 一种具有应用软件硬件地址无关性的操作系统实现方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN86100690A (zh) * 1985-02-28 1986-08-27 国际商业机器公司 处理机输入/输出和中断过滤器
US4903200A (en) * 1988-12-12 1990-02-20 Mueller And Smith, Lpa Point of sale apparatus
CN1172986A (zh) * 1996-07-08 1998-02-11 三菱电机株式会社 实时控制系统
JPH10260847A (ja) * 1997-03-21 1998-09-29 Mitsubishi Electric Corp 入出力ドライバの管理方式
US5819112A (en) * 1995-09-08 1998-10-06 Microsoft Corporation Apparatus for controlling an I/O port by queuing requests and in response to a predefined condition, enabling the I/O port to receive the interrupt requests
US6574680B1 (en) * 1999-12-29 2003-06-03 Intel Corporation Device and method to enable interrupt handling and control for mass storage devices interfacing to different controllers

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN86100690A (zh) * 1985-02-28 1986-08-27 国际商业机器公司 处理机输入/输出和中断过滤器
US4903200A (en) * 1988-12-12 1990-02-20 Mueller And Smith, Lpa Point of sale apparatus
US5819112A (en) * 1995-09-08 1998-10-06 Microsoft Corporation Apparatus for controlling an I/O port by queuing requests and in response to a predefined condition, enabling the I/O port to receive the interrupt requests
CN1172986A (zh) * 1996-07-08 1998-02-11 三菱电机株式会社 实时控制系统
JPH10260847A (ja) * 1997-03-21 1998-09-29 Mitsubishi Electric Corp 入出力ドライバの管理方式
US6574680B1 (en) * 1999-12-29 2003-06-03 Intel Corporation Device and method to enable interrupt handling and control for mass storage devices interfacing to different controllers

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于嵌入式Linux设备驱动程序的开发. 肖杰,李仁发,徐成.科学技术与工程,第6卷第3期. 2006 *

Also Published As

Publication number Publication date
CN1828545A (zh) 2006-09-06

Similar Documents

Publication Publication Date Title
CN101452397B (zh) 虚拟化环境中的强制访问控制方法及装置
US6052739A (en) Method and apparatus for object-oriented interrupt system
KR102059219B1 (ko) 컴퓨터 시스템과 관련된 하드웨어 자원의 가상화를 위한 방법, 시스템 및 실행가능한 코드 조각
CN102027453B (zh) 用于在虚拟环境中优化中断处理的系统和方法
KR102236419B1 (ko) 액세스 요청을 관리하기 위한 방법, 장치, 기기 및 저장 매체
SK31194A3 (en) Multi-media signal processor computer system
US7401196B2 (en) Storage system and storage control method for access exclusion control of each storage area unit comprising storage area of storage device
US4470115A (en) Input/output method
US10599468B2 (en) Housekeeping virtual processor overcommit for real time virtualization
CN115658277B (zh) 一种任务调度方法、装置及电子设备和存储介质
CN111475516A (zh) 分布式锁的调用方法、装置、计算机设备及存储介质
CN102289513A (zh) 获取虚拟机内部文件的方法及系统
CN100538649C (zh) 用于分发分派窗内的未使用的处理器循环的方法和系统
TWI260507B (en) System and method to facilitate access to SMBus and SMBus event handling
CN106789337A (zh) 一种kvm的网络性能优化方法
Andert Object frameworks in the Taligent OS
CN101840391B (zh) 一种电子支付系统双处理器子系统间通信及其调用方法
CN100377093C (zh) 嵌入式操作系统输入输出设备软件化方法
Sung et al. An interface test model for hardware-dependent software and embedded OS API of the embedded system
CN102141915B (zh) 一种基于RTLinux的设备实时控制方法
CN113076189B (zh) 具有多数据通路的数据处理系统及用多数据通路构建虚拟电子设备
Hansen The purpose of concurrent PASCAL
Kim et al. Feature-based prediction of unknown preferences for nearest-neighbor collaborative filtering
CN113076180A (zh) 上行数据通路的构建方法及数据处理系统
Atkinson et al. Modern central processor architecture

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080326

Termination date: 20120407