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...
Gespeichert in:
Veröffentlicht in: | ACM transactions on computer systems 2006-11, Vol.24 (4), p.333-360 |
---|---|
Hauptverfasser: | , , , |
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&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 |