Recovering device drivers

This article presents a new mechanism that enables applications to run correctly when device drivers fail. Because device drivers are the principal failing component in most systems, reducing driver-induced failures greatly improves overall reliability. Earlier work has shown that an operating syste...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:ACM transactions on computer systems 2006-11, Vol.24 (4), p.333-360
Hauptverfasser: SWIFT, Michael M, ANNAMALAI, Muthukaruppan, BERSHAD, Brian N, LEVY, Henry M
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 360
container_issue 4
container_start_page 333
container_title ACM transactions on computer systems
container_volume 24
creator SWIFT, Michael M
ANNAMALAI, Muthukaruppan
BERSHAD, Brian N
LEVY, Henry M
description This article presents a new mechanism that enables applications to run correctly when device drivers fail. Because device drivers are the principal failing component in most systems, reducing driver-induced failures greatly improves overall reliability. Earlier work has shown that an operating system can survive driver failures [Swift et al. 2005], but the applications that depend on them cannot. Thus, while operating system reliability was greatly improved, application reliability generally was not.To remedy this situation, we introduce a new operating system mechanism called a shadow driver . A shadow driver monitors device drivers and transparently recovers from driver failures. Moreover, it assumes the role of the failed driver during recovery. In this way, applications using the failed driver, as well as the kernel itself, continue to function as expected.We implemented shadow drivers for the Linux operating system and tested them on over a dozen device drivers. Our results show that applications and the OS can indeed survive the failure of a variety of device drivers. Moreover, shadow drivers impose minimal performance overhead. Lastly, they can be introduced with only modest changes to the OS kernel and with no changes at all to existing device drivers.
doi_str_mv 10.1145/1189256.1189257
format Article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_miscellaneous_29808968</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>1189778561</sourcerecordid><originalsourceid>FETCH-LOGICAL-c329t-145c991605068ef4d9a80e3e665a8dfebbe63403a34b891d0bbd2ecdd727671a3</originalsourceid><addsrcrecordid>eNpdkEtLw0AUhQdRMFbX4q4Iukt755F5LKX4goIguh4mMzeSkiZ1pin4701JQHB14PCdcy-HkGsKC0pFsaRUG1bIxajqhGS0KFSuOOenJAPFRc5A0XNykdIGAAafZeTmHX13wFi3X_OAh9rjPMR6MNIlOatck_Bq0hn5fHr8WL3k67fn19XDOvecmX0-nPbGUAkFSI2VCMZpQI5SFk6HCssSJRfAHRelNjRAWQaGPgTFlFTU8Rm5H3t3sfvuMe3ttk4em8a12PXJMqNBG6kH8PYfuOn62A6_WcY0CCa4GqDlCPnYpRSxsrtYb138sRTscSc77TTpMXE31brkXVNF1_o6_cW0oGCE5r-O7WTJ</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>228042437</pqid></control><display><type>article</type><title>Recovering device drivers</title><source>ACM Digital Library Complete</source><creator>SWIFT, Michael M ; ANNAMALAI, Muthukaruppan ; BERSHAD, Brian N ; LEVY, Henry M</creator><creatorcontrib>SWIFT, Michael M ; ANNAMALAI, Muthukaruppan ; BERSHAD, Brian N ; LEVY, Henry M</creatorcontrib><description>This article presents a new mechanism that enables applications to run correctly when device drivers fail. Because device drivers are the principal failing component in most systems, reducing driver-induced failures greatly improves overall reliability. Earlier work has shown that an operating system can survive driver failures [Swift et al. 2005], but the applications that depend on them cannot. Thus, while operating system reliability was greatly improved, application reliability generally was not.To remedy this situation, we introduce a new operating system mechanism called a shadow driver . A shadow driver monitors device drivers and transparently recovers from driver failures. Moreover, it assumes the role of the failed driver during recovery. In this way, applications using the failed driver, as well as the kernel itself, continue to function as expected.We implemented shadow drivers for the Linux operating system and tested them on over a dozen device drivers. Our results show that applications and the OS can indeed survive the failure of a variety of device drivers. Moreover, shadow drivers impose minimal performance overhead. Lastly, they can be introduced with only modest changes to the OS kernel and with no changes at all to existing device drivers.</description><identifier>ISSN: 0734-2071</identifier><identifier>EISSN: 1557-7333</identifier><identifier>DOI: 10.1145/1189256.1189257</identifier><identifier>CODEN: ACSYEC</identifier><language>eng</language><publisher>New York, NY: Association for Computing Machinery</publisher><subject>Applications ; Applied sciences ; Commodities ; Computer science; control theory; systems ; Computer systems and distributed systems. User interface ; Embedded systems ; Exact sciences and technology ; Failure ; Linux ; Operating systems ; Performance evaluation ; Reliability ; Software ; Studies</subject><ispartof>ACM transactions on computer systems, 2006-11, Vol.24 (4), p.333-360</ispartof><rights>2007 INIST-CNRS</rights><rights>Copyright Association for Computing Machinery Nov 2006</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c329t-145c991605068ef4d9a80e3e665a8dfebbe63403a34b891d0bbd2ecdd727671a3</citedby><cites>FETCH-LOGICAL-c329t-145c991605068ef4d9a80e3e665a8dfebbe63403a34b891d0bbd2ecdd727671a3</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,778,782,27907,27908</link.rule.ids><backlink>$$Uhttp://pascal-francis.inist.fr/vibad/index.php?action=getRecordDetail&amp;idt=18410948$$DView record in Pascal Francis$$Hfree_for_read</backlink></links><search><creatorcontrib>SWIFT, Michael M</creatorcontrib><creatorcontrib>ANNAMALAI, Muthukaruppan</creatorcontrib><creatorcontrib>BERSHAD, Brian N</creatorcontrib><creatorcontrib>LEVY, Henry M</creatorcontrib><title>Recovering device drivers</title><title>ACM transactions on computer systems</title><description>This article presents a new mechanism that enables applications to run correctly when device drivers fail. Because device drivers are the principal failing component in most systems, reducing driver-induced failures greatly improves overall reliability. Earlier work has shown that an operating system can survive driver failures [Swift et al. 2005], but the applications that depend on them cannot. Thus, while operating system reliability was greatly improved, application reliability generally was not.To remedy this situation, we introduce a new operating system mechanism called a shadow driver . A shadow driver monitors device drivers and transparently recovers from driver failures. Moreover, it assumes the role of the failed driver during recovery. In this way, applications using the failed driver, as well as the kernel itself, continue to function as expected.We implemented shadow drivers for the Linux operating system and tested them on over a dozen device drivers. Our results show that applications and the OS can indeed survive the failure of a variety of device drivers. Moreover, shadow drivers impose minimal performance overhead. Lastly, they can be introduced with only modest changes to the OS kernel and with no changes at all to existing device drivers.</description><subject>Applications</subject><subject>Applied sciences</subject><subject>Commodities</subject><subject>Computer science; control theory; systems</subject><subject>Computer systems and distributed systems. User interface</subject><subject>Embedded systems</subject><subject>Exact sciences and technology</subject><subject>Failure</subject><subject>Linux</subject><subject>Operating systems</subject><subject>Performance evaluation</subject><subject>Reliability</subject><subject>Software</subject><subject>Studies</subject><issn>0734-2071</issn><issn>1557-7333</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2006</creationdate><recordtype>article</recordtype><recordid>eNpdkEtLw0AUhQdRMFbX4q4Iukt755F5LKX4goIguh4mMzeSkiZ1pin4701JQHB14PCdcy-HkGsKC0pFsaRUG1bIxajqhGS0KFSuOOenJAPFRc5A0XNykdIGAAafZeTmHX13wFi3X_OAh9rjPMR6MNIlOatck_Bq0hn5fHr8WL3k67fn19XDOvecmX0-nPbGUAkFSI2VCMZpQI5SFk6HCssSJRfAHRelNjRAWQaGPgTFlFTU8Rm5H3t3sfvuMe3ttk4em8a12PXJMqNBG6kH8PYfuOn62A6_WcY0CCa4GqDlCPnYpRSxsrtYb138sRTscSc77TTpMXE31brkXVNF1_o6_cW0oGCE5r-O7WTJ</recordid><startdate>20061101</startdate><enddate>20061101</enddate><creator>SWIFT, Michael M</creator><creator>ANNAMALAI, Muthukaruppan</creator><creator>BERSHAD, Brian N</creator><creator>LEVY, Henry M</creator><general>Association for Computing Machinery</general><scope>IQODW</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>20061101</creationdate><title>Recovering device drivers</title><author>SWIFT, Michael M ; ANNAMALAI, Muthukaruppan ; BERSHAD, Brian N ; LEVY, Henry M</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c329t-145c991605068ef4d9a80e3e665a8dfebbe63403a34b891d0bbd2ecdd727671a3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2006</creationdate><topic>Applications</topic><topic>Applied sciences</topic><topic>Commodities</topic><topic>Computer science; control theory; systems</topic><topic>Computer systems and distributed systems. User interface</topic><topic>Embedded systems</topic><topic>Exact sciences and technology</topic><topic>Failure</topic><topic>Linux</topic><topic>Operating systems</topic><topic>Performance evaluation</topic><topic>Reliability</topic><topic>Software</topic><topic>Studies</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>SWIFT, Michael M</creatorcontrib><creatorcontrib>ANNAMALAI, Muthukaruppan</creatorcontrib><creatorcontrib>BERSHAD, Brian N</creatorcontrib><creatorcontrib>LEVY, Henry M</creatorcontrib><collection>Pascal-Francis</collection><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>ACM transactions on computer systems</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>SWIFT, Michael M</au><au>ANNAMALAI, Muthukaruppan</au><au>BERSHAD, Brian N</au><au>LEVY, Henry M</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Recovering device drivers</atitle><jtitle>ACM transactions on computer systems</jtitle><date>2006-11-01</date><risdate>2006</risdate><volume>24</volume><issue>4</issue><spage>333</spage><epage>360</epage><pages>333-360</pages><issn>0734-2071</issn><eissn>1557-7333</eissn><coden>ACSYEC</coden><abstract>This article presents a new mechanism that enables applications to run correctly when device drivers fail. Because device drivers are the principal failing component in most systems, reducing driver-induced failures greatly improves overall reliability. Earlier work has shown that an operating system can survive driver failures [Swift et al. 2005], but the applications that depend on them cannot. Thus, while operating system reliability was greatly improved, application reliability generally was not.To remedy this situation, we introduce a new operating system mechanism called a shadow driver . A shadow driver monitors device drivers and transparently recovers from driver failures. Moreover, it assumes the role of the failed driver during recovery. In this way, applications using the failed driver, as well as the kernel itself, continue to function as expected.We implemented shadow drivers for the Linux operating system and tested them on over a dozen device drivers. Our results show that applications and the OS can indeed survive the failure of a variety of device drivers. Moreover, shadow drivers impose minimal performance overhead. Lastly, they can be introduced with only modest changes to the OS kernel and with no changes at all to existing device drivers.</abstract><cop>New York, NY</cop><pub>Association for Computing Machinery</pub><doi>10.1145/1189256.1189257</doi><tpages>28</tpages></addata></record>
fulltext fulltext
identifier ISSN: 0734-2071
ispartof ACM transactions on computer systems, 2006-11, Vol.24 (4), p.333-360
issn 0734-2071
1557-7333
language eng
recordid cdi_proquest_miscellaneous_29808968
source ACM Digital Library Complete
subjects Applications
Applied sciences
Commodities
Computer science
control theory
systems
Computer systems and distributed systems. User interface
Embedded systems
Exact sciences and technology
Failure
Linux
Operating systems
Performance evaluation
Reliability
Software
Studies
title Recovering device drivers
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-16T08%3A08%3A53IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Recovering%20device%20drivers&rft.jtitle=ACM%20transactions%20on%20computer%20systems&rft.au=SWIFT,%20Michael%20M&rft.date=2006-11-01&rft.volume=24&rft.issue=4&rft.spage=333&rft.epage=360&rft.pages=333-360&rft.issn=0734-2071&rft.eissn=1557-7333&rft.coden=ACSYEC&rft_id=info:doi/10.1145/1189256.1189257&rft_dat=%3Cproquest_cross%3E1189778561%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=228042437&rft_id=info:pmid/&rfr_iscdi=true