DBPIA-NURIMEDIA

Size: px
Start display at page:

Download "DBPIA-NURIMEDIA"

Transcription

1 348 정보과학회논문지 : 시스템및이론제 34 권제 8 호 (2007.8) FORT : 파일시스템강인성테스트프레임워크 (Framework of File System Robustness Test) 김영진 원유집 김락기 (Young-Jin Kim) (You-Jip Won) (Ra-Kie Kim) 이모원 박재석 이주훤 (Mo-Won Lee) (Jae-Seok Park) (Joo-Wheun Lee) 요약현대저장장치는점차소형화, 대용량화되어감에따라디스크의집적도는크게증가되어지고있어물리적인오류가발생하면많은디지털정보가소실될수있다. 따라서이에대한대처의필요성이점차증가되어본논문에서는파일시스템이물리적인오류에대한강인성과무결성을보장하고있는지를검증하는테스트프레임워크를제안하였다. 이와같은테스트프레임워크를위해디스크상에실제베드섹터를만들수있는도구및저장장치에서정의하고있는물리적인오류를모두발생시킬수있는도구를각각개발하였고, 파일시스템에서저장장치에읽기 / 쓰기동작이수행되는상황을즉시모니터링할수있는도구를추가개발하여 FORT 라는이름의파일시스템강인성을검증하는테스트프레임워크를최종적으로구성하였다. FORT 를이용해서신뢰성및견고성을위주로개발된 EXT3 파일시스템을대상으로강인성의수준을나타낼수있는분석표를작성하였으며, 이를분석하였다. 또한파일시스템과디바이스드라이버영역의계층화된구조를융합할수있는도구를개발하여획기적인지능형시스템으로발전할수있는방향을제시하였다. 키워드 : 파일시스템, 강인성, 테스트프레임워크, 저장장치, 물리적인오류, 베드섹터 Abstract Capacity of modern storage devices is becoming larger than yesterday and integration of disk is increasing. It refers that physical errors can damage a lot of digital information on storage devices. So we propose file system test framework in this paper to test integrity and robustness of file systems. We develop the tool for generating bad sectors on disks and the tool which creates all physical errors defined in storage devices. We also develop the tool for immediately monitoring the condition of read and write execution on storage devices. So, by integrating those tools, we develop FORT, test framework for confirming robustness of file system. We analyze robustness of ext3 file systems by FORT. Lastly, we present draft of intelligent system merging file system and device driver s layer architecture. Key words :File system, Robustness, Integration, Storage, Physical error, Badsector 1. 서론 이논문은 2007년도두뇌한국21 사업에의하여지원되었음 학생회원 : 한양대학교전자통신컴퓨터공학과연구원 yjkim@ece.hanyang.ac.kr daybreak24@ece.hanyang.ac.kr 종신회원 : 한양대학교전자통신컴퓨터공학과교수 youjip.won@gmail.com 비회원 : 한양대학교전자통신컴퓨터공학과연구원 a287848@ece.hanyang.ac.kr elecwing@ece.hanyang.ac.kr wheun@ece.hanyang.ac.kr 논문접수 : 2006년 10월 24일심사완료 : 2007년 5월 23일 1.1 연구동기저장장치의개발분야는대용량화, 디스크의소형화, 고속화위주로연구개발되고있으며, 저장장치에적합하고, 효율적인파일시스템개발또한함께진행되고있다. 하지만디스크기반의파일시스템에대한강인성및무결성을검증하는연구 [1] 가진행되고는있으나아직많이부족한상태이다. 기존에는저장장치에맞는파일시스템이개발되었을경우, 무결성과강인성을검증하기위해서몇가지벤치마킹도구 [2] 를사용하고있다.

2 FORT : 파일시스템강인성테스트프레임워크 349 가장대표적이고널리사용되는것으로는리눅스와주변장치간의동작에이상이없는지확인할수있는 LTP[3](Linux Test Project) 를들수있다. LTP와같은벤치마크도구는파일시스템의논리적인오류및강인성을검증하고, 파일시스템과저장장치간의효율성에대한검증또한그목적으로하고있다. 하지만현대의디스크는빠르게소형화되고대용량화되어감에따라일정공간을기준으로보았을때데이타의집적도는높아지고있다. 따라서저장장치상에발생하는물리적인오류를그대로방치할경우많은디지털정보가소실될수있기때문에 LTP에서와같은논리적인오류검사뿐만아니라물리적인오류검사에이르기까지검증범위를확대할필요성이날로증가하고있다. 논리적인오류에대한파일시스템프레임워크는기존에많은연구 [2] 가진행되어왔으나, 저장장치와얽혀있는물리적인오류 [4] 에대한연구는아직미흡한상태이다. 왜냐하면상위계층인파일시스템과하위계층인저장장치가계층적인구조이며각각의계층별연구가독립적으로수행되고있기때문이다. 그러나저장장치는독립적으로디지털정보를읽고쓸수없으며, 파일시스템또한디지털정보를독립적으로읽고쓸수없는서로밀접한관련성을가지고있기때문에하나의융합된계층으로생각해야한다. 특히물리적인오류는특정계층에만영향을미치는요소가아니기때문에융합된계층으로다루어질필요가명확히존재한다. 그래서시스템개발에서검증과정을하나의계층으로보고진행해야마땅하다. 하지만대부분의시스템개발자나검증자는파일시스템과저장장치를독립적인영역으로보고있고파일시스템오류에대한연구에서도물리적인오류에대한검증은포함되고있지않다. 따라서본논문에서는파일시스템과저장장치의물리적인오류에대한대처수준을검증하기위해새로운개념의도구를개발하였으며이를이용한파일시스템테스트프레임워크를형성하였다. 또한개발된파일시스템테스트프레임워크를실제파일시스템에적용하여파일시스템의물리적인오류에대한강인성및무결성을검증해보았다. 더불어계층화된파일시스템과저장장치사이를효율적으로융합할수있는새로운개념의모듈을개발하였고물리적인오류에대해보다강인한시스템을형성할수있도록제안하였다. 1.2 관련연구 SGI, Wipro, Technologies와의합동프로젝트로써리눅스의신뢰성, 강도, 안정성을테스트하는오픈소스커뮤니티에테스트항목을제공하는 LTP[3] 가현존하는가장대표적인검증벤치마킹도구이다. LTP에는파일시스템및메모리관리, 스케줄러등의부하측정테스트 로구성되어있으며, 커널테스트의자동화를실현시켜리눅스커널의성능향상을목적으로하고있다. 하지만 LTP의테스트전략은초기테스트와부하측정테스트전략만을제공하고있다. 초기테스트는하드웨어와운영체제간에 24시간동안테스트항목을만족해야하고, 부하측정테스트인경우시스템사용도를높게하여제품의강도를검증하는기법이다. 하지만커널의논리적인오류와커널의견고성을검증할뿐저장장치의물리적인오류에대해서는테스트항목조차마련되어있지않다. 일반적으로 LTP의부하측정테스트중에서파일시스템부하측정테스트가파일시스템의견고성및강인성을검증하기위해많이사용된다. 이와같은테스트는본질적으로저장장치와파일시스템간의유기적으로얽혀있는물리적인오류 [4] 에대한테스트는할수없다. 그래서저장장치의물리적인오류에대한연구필요성이부각되면서물리적인오류에대한분석, 대처방안및저장장치의물리적인오류에대한파일시스템의강인성테스트연구가활발히진행되고있다. 이와같은연구의핵심은물리적인오류발생기법이다. 디스크상에실제물리적인오류를발생시킨상태에서검증이이루어져야가장현실적이고정확한방법이되겠지만기존에연구가진행되고있는방향은파일시스템영역에서디바이스드라이버영역으로보내지는요청큐자료구조를수정하는등의디바이스드라이버영역에서인위적으로물리적인오류를발생한것과같은효과를주는것이보편적인기존방식이다. 하지만더많은연구가점차진행된다면이와같은방식의한계를느끼게될것이며보다현실성, 정밀성, 정확성을고려한검증방식을찾게될것이다. 물론디바이스드라이버영역에서인위적인조작으로발생한오류상황이실제물리적인오류의발생상황과다르지는않다. 다만인위적인조작에의한것이아닌최대한현실에가깝고정밀한검증을위해서, 그리고저장장치의집적도가높아지는상황속에서반드시현실상황과동일한환경에서파일시스템의물리적인오류에대한강인성검증이필요하게될것이다. 이밖에물리적인오류에대한파일시스템의대처수준을판단하는연구뿐만아니라물리적인오류및논리적인오류를발견할수있는각종유틸리티개발또한연구되고있다. 가장대표적인유틸리티로는 FSCK[5] (File System Check) 를들수있다. FSCK는본질적으로물리적인오류검사나예방책이아닌논리적 / 물리적인오류로인해파일시스템의깨진무결성을복구시켜주는사후처리역할을한다. 하지만 FSCK를수행하기위해서는파일시스템이마운트되어있지않아야하며, 그수행시간이짧지않다는단점을가지고있다. 이와같이사후처리를위한유틸리티가있는반면파일

3 350 정보과학회논문지 : 시스템및이론제 34 권제 8 호 (2007.8) 시스템을형성하기전에사용하는 MKFS[6] 와같이오류를예방하기위한유틸리티도있다. MKFS는파일시스템을형성하기위해서저장장치포맷옵션을통해저장장치의무결성을검증할수있도록개발되었다. MKFS 에서사용하고있는저장장치의무결성검증방법으로는파일시스템포맷전에현재의디스크의내용을전부읽기수행하여정상적인동작을하고있는지확인하는방법과저장장치상에임의의데이타를전부써봐서정상적인쓰기수행이되는지확인하는방법이있다. 마지막으로이두가지기법을동시에사용하는방법으로써임의의패턴을저장장치에쓴후다시읽어정상적으로읽혀졌는지확인하는기법을사용하고있다. 하지만이러한유틸리티의연구개발은물리적인오류에대한발생을허용하는것이며, 파일시스템이형성될때저장장치를검사하는수준일뿐실제파일시스템이정상적으로작동될때의무결성검증은하지못하고있다. 따라서데이타무결성에위험을줄수있는원인및대처방법에대한폭넓은연구 [2] 가진행되고있다. 무결성을깨트리는원인으로는물리적인오류발생과같은하드웨어오류와논리적인오류발생과같은소프트웨어오류발생으로크게구분하고있으며, 그밖에부주의한사용자의실수및악의가있는활동에대한오류발생을그범위로규정할수있다. 이러한오류를대처할수있는 Tripwise[7,8], fsck[5] 와같은유틸리티와그밖에디스크의미러링, 페리티검사, 체크섬 [2] 등도디스크의오류발생에대한대처방안으로제시되고있다. 하지만이러한유틸리티및대처방안들은저장장치의오류가이미발생한후에이루어지거나물리적인오류발생에대한피해를최소로하기위한회피책에불과하다. 근본적으로물리적인오류에대한강인성을검증할수있는유틸리티및제안된사항은많지않다 [9]. 본논문에서는저장장치에서발생할수있는물리적인오류에대한파일시스템의올바른대처수준을확인할수있도록실제저장장치상에물리적인오류를발 생시킬수있는도구와디바이스드라이버를이용한가상의물리적인오류발생도구를개발하였다. 그밖에파일시스템의물리적인오류를테스트할수있는도구를개발하여테스트프레임워크를최종적으로제안하고, 이와동시에파일시스템의강인성을향상시킬수있는개발도구를간략히소개하였다. 2. 파일시스템과저장장치오류 2.1 저장장치오류의발생원인과종류저장장치에서발생할수있는물리적인오류 [4] 를파일시스템에서어떻게대처하는지알기위해서는우선오류를발생시키는원인부터파악해야한다. 첫번째원인은가장흔히발생하고, 경미한경우로써방치할경우한순간에모든데이타가손상될수있는베드섹터이다. 파일이위치한영역에베드섹터가발생할경우파일의접근및실행이안되며, 컴퓨터가자주다운되어정상적인작업이수행되지않는오류이다. 두번째원인은디스크의충돌과긁힘이다. 하드디스크가아주빠른속도로작업을진행하던도중충격을받거나디스크의헤드 [10] 와디스크사이의간격에끼어드는오염물질에의해발생되는것으로써데이타의복구가가장어려운오류이다. 세번째원인은하드디스크를구성하는스핀들모터 [10] 자체의손상이다. 이경우하드디스크를전부분해해서다시조립해야하는복잡한복구과정이필요하다. 네번째원인은사용자의실수로하드디스크를떨어트리는경우로써하드디스크의스핀들모터축이변형되고, 진동및디스크내부의불균형이일어나서하드디스크의준비상태가되지않는경우이다. 다섯번째원인은시스템의전원장치에서전달되는전기적인문제로디스크전체에발생되는오류가있으며, 여섯번째원인은디스크와호스트컴퓨터사이에물리적인접촉장치의문제로데이타전달이지연되거나손실이발생하는경우이다. 이와같이몇가지의대표적인물리적인오류뿐만아니라많은예기치않은원인으로저장장치 표 1 파일시스템에서수행하는오류에대한발견및복구수준정의 구분 수준정의 정의된수준설명 무시 저장장치에서오류가발생하더라도파일시스템은알지못함 오류발견수준 에러코드디바이스드라이버영역에서파일시스템으로에러코드를전달특정자료구조검사파일시스템의슈퍼블록검사와같은방식으로특정자료구조검사 검사합 [2] 에러검출코드를이용한발견 무시 발생된오류에대한어떠한조치도하지않음 에러전달 사용자에게오류상황을전달 오류복구수준 정지파일시스템이정지하거나 Read-Only로전환재시도해당동작을재시도 논리적인검사 Fsck[5] 와같이논리적으로파일시스템을복구 복제기법 [2] 특정영역을미리복제하고, 오류가발생했을경우복제본으로복구

4 FORT : 파일시스템강인성테스트프레임워크 351 의무결성은깨질수있다. 2.2 저장장치의오류에대한파일시스템의대처저장장치의물리적인오류는많은원인에의해발생할수있으며, 시스템의계층적인구조로인해물리적인오류정보가파일시스템으로전달되지않아파일시스템의직접적인오류로발전될수있음을예상하였다. 따라서본논문에서는저장장치상에오류가발생했을때, 파일시스템에서의해당오류에대한처리를발견수준과복구수준으로구분하여정의하였다. 저장장치의물리적인오류가발생했을경우파일시스템영역에서해당오류를발견 [11,12] 하기위한파일시스템의행동을 4가지로정의하였다. 오류에대해전혀인지하지못하고, 파일시스템의운용을그대로진행할경우파일시스템은물리적인오류에대해어떠한대처도하지않으므로물리적인오류에대해강인성이약하다고표현할수있으며, 디바이스드라이버영역 [13] 에서에러코드를전달받아합당한처리를진행하거나검사합 [2] 또는특정자료구조의검사를통해오류를탐지할경우에는물리적인오류에대한강인성이높다고표현할수있다. 오류발견에이어복구과정을그수준에따라 6가지로정의하였다. 물리적인오류가발견되었음에도불구하고어떠한복구과정을수행하지않는무시복구수준의경우는물리적인오류에대한복구측면에서매우약하다고표현할수있으며, 미리일정영역을복제하고오류가발생했을때복제본을통해복구하는경우를복구측면에서매우강하다고표현할수있다. 이와같이저장장치오류에대한발견과복구수준을세분화하여분류하였다. 테스트프레임워크를파일시스템에적용하여저장장치오류에대한발견과복구수준을각각표현할때위와같이분류한항목을기준으로파일시스템의행동수준을지칭할것이며, 이를통해해당파일시스템의저장장치오류에대한강인성수준을나타낼것이다. 이와같은물리적인오류에대한발견및복구수준표는기존에많은연구에서사용되어지고있으며본논문에서도반영하고자한다 [9]. 3. 지능형오류검출방법지금까지저장장치에발생되는물리적인오류에대한종류와그심각성을살펴보았으며파일시스템상에서 물리적인오류에대해대처할수있는수준을나누어보았다. 이와같이물리적인오류의발견과복구수준을나누고파일시스템을검증하는이유는분명물리적인오류에대한시스템의문제점이있기때문이다. 따라서본논문에서제시하는파일시스템강인성테스트프레임워크를이용해서파일시스템을검증해본다면해당파일시스템이물리적인오류에대해얼마나취약한지결과표를통해서명확히알수있을것이다. 파일시스템에서물리적인오류를발견조차하지못하는가장큰이유를연구해본결과앞에서언급했듯이시스템구조가계층화되어있기때문이다. 물론물리적인오류가하위영역에서발견이되고, 상위영역으로전달되어합당한오류처리작업이진행된다면이상적이겠지만철저한계층구조속에서정보전달이이루어지고있지않은점이문제였다. 이와같은시스템구조를바꿀수있는또다른시스템이나모듈이마련되어야파일시스템영역에서도물리적인오류에대해적극적으로대처할수있을것이다. 그래서 FORT를개발하면서이와같은문제점을해결할수있는획기적인오류검출도구를함께고안하였고기존시스템에서도적용될수있는형태를갖추었다. 3.1 저장장치에발생되는물리적인오류탐지도구 : ERROR-DETECTION 파일시스템영역과디바이스드라이버영역간의경계는명확히구분되어있으며구조적으로각각의영역에대해서정보교환인터페이스는이루어지고있지않다. 또한저장장치에서물리적인오류가발생할때에러레지스터를검사하는역할을디바이스드라이버영역에서독립적으로다루고있는단점을보완하고자 ERROR- DETECTION모듈을개발하였다. 파일시스템영역에서물리적인오류를발견할수있는방법은없다. 그이유는커널데몬을통한디바이스드라이버영역으로요청큐를통하여접근하기때문에물리적인오류가발생하여파일시스템에서에러레지스터를검사하여도다른요청큐에의해레지스터값이이미갱신되어파일시스템영역에서는레지스터를통한검사를할수없기때문이다. ERROR-DETECTION은저장장치의오류를발견하기위해디바이스드라이버영역의에러탐지함수내에서에러레지스터와저장장치관련레지스터를검사 항목역할자료구조및알고리즘인터페이스 표 2 ERROR-DETECTION 모듈의특징 설명 하드디스크레지스터 [14] 를이용해서저장장치의물리적인오류가발생된정확한위치와오류구분을저장및관리 Freelist[15] 자료구조와제안하는 Free 노드확장알고리즘 모듈적재시 : 저장장치오류를발견하고자하는저장장치명삽입 ( 예 : hda) 파일시스템영역 : 오류발생블록및저장장치의파티션정보

5 352 정보과학회논문지 : 시스템및이론제 34 권제 8 호 (2007.8) 한다. 그래서발생된오류의위치및종류를자료구조형태로관리해주는모듈이다. 이와같은자료구조에접근할수있는인터페이스로는파일시스템에서구분하는블록번호와저장장치에서구분하는 LBA주소가모두가능하도록구성하였으며물리적인오류가발생한섹터와오류의종류를쉽게확인하여합당한조치를취할수있도록하였다. 오류가발생된섹터와오류종류를저장하는자료구조는성능을고려하여메모리할당과해제과정을최소화해야하고, 저장장치에서발생되는물리적인오류의개수를알지못하기때문에노드의개수에한계가있어서는안된다. 이와같은문제점을해결하기위해서일정개수의노드를링크드리스트형태로미리할당받아놓고, 물리적인오류가발생할때마다노드한개씩을가져와새로운링크드리스트를형성하는것이다. 사용한노드의삭제가필요할경우해당노드에대한메모리해제가아닌원래의리스트로환원하는 Freelist 자료구조를모듈에반영하였다. 하지만 Freelist 자료구조또한처음에할당받은리스트의한계를가진다. 이를해결하기위해서미리할당받은링크드리스트의최소노드의개수를자료구조로가지고있다가이개수보다적어졌을경우메모리에서임의의개수만큼미리할당받아놓은링크드리스트의노드를늘려주는알고리즘을새롭게제안해서배열의장점과링크드리스트의장점을하나의자료구조에접목시켰다. 이와같은특성을가지는 ERROR-DETECTION 모듈을이용해서디바이스드라이버고유의워크로드를파일시스템과공유함과동시에시스템각계층간의정보교환인터페이스를형성할수있어파일시스템의강인성및무결성그리고신뢰성까지보장할수있는지능형오류검출도구로활용될수있다. 3.2 저장장치의 S.M.A.R.T 기능을활용한베드섹터정보탐지도구 : KERNEL-SMART 파일시스템영역에서는저장장치의위기상태를알수있는방법이없기때문에저장장치의무결성에문제가생기면바로파일시스템에영향이미치게되어디지털정보를한순간에소실될수있는위기상황에도달할수있다. 따라서저장시스템의자가진단및분석을위해 사용되는 S.M.A.R.T[17] 을이용해서개발한 KERNEL- SMART 모듈을커널에적재시킨다면현재의저장장치의상태를즉시확인할수있어저장장치의깨진무결성으로인한막대한디지털정보소실을막을수있다. 또한베드섹터의발생과하드디스크의잉여섹터 [16] 에대한비율뿐만아니라저장장치의파손위기정보를수치화된표현으로모니터링할수있어 ERROR- DETECTION모듈과함께커널에적재되었을경우파일시스템영역에서빈번히발생하는베드섹터에대한상세정보를확인할수있고더불어파일시스템에서저장장치의위기에적극적으로대처할수있게된다. 이는저장장치와파일시스템을독립적인계층이아닌하나의유기적인영역으로확장할수있어보다많은기능을파일시스템에부여할수있다. 3.3 ERROR-DETECTION 모듈과 KERNEL-SMART 모듈의상호작용 ERROR-DETECTION 모듈은저장장치에서발생되는모든물리적인오류를레지스터를통해발견한후본논문에서제안하는자료구조에저장할수있고, KERNEL-SMART 모듈은디스크의 S.M.A.R.T기능을이용해서저장장치의상태를언제든지확인할수있는기능을가지고있다. 이두가지모듈을동시에커널에적재시킨다면저장장치에서일어나는문제에대한원인과발생위치를정확히탐지할수있다. 예를들어 ERROR-DETECTION모듈을통해서저장장치의정확한위치와 ECC에러임을확인하였다면저장장치의상태를정확히검사할수있는 KERNEL-SMART모듈을수행한다. KERNEL-SMART모듈을통해사용하지못하는섹터가발견되었다고확인되었을경우 ERROR- DETECTION모듈을통해발견된섹터는베드섹터임을명확히확인할수있게된다. 이때해당섹터는영구히사용할수없으므로저장장치가가지고있는잉여섹터와재사상 [16] 을도와저장장치의무결성을유지할수있도록할수있다. 두모듈은독립적으로저장장치의무결성을검증할수도있지만동시에적재하여서로융합하였을경우저장장치에서발생되는일반적인오류뿐만아니라베드섹터의발견및저장장치를심각한상태로만드는원인 항목역할활용효과극대화방안기능 표 3 KERNEL-SMART 모듈의특징설명저장장치의위기상태및베드섹터관련상황을즉시확인저장장치의상태깨짐과베드섹터의발생을탐지할수있는효과 ERROR-DETECTION모듈과함께커널에적재시두모듈의성능을극대화가능저장장치가수시일내에파괴될것을예상가능베드섹터가현재저장장치에얼마나발생했는지파악가능섹터에대한재사상 [16] 으로인한하드디스크의잉여섹터공간비율검사가능

6 FORT : 파일시스템강인성테스트프레임워크 353 까지명확하게규명할수있어그기대효과는극대화될수있다. 따라서파일시스템뿐만아니라리눅스커널과저장장치사이에계층화된구조를하나로융합할수있는획기적인제안이며, 동시에지능형시스템으로발전할수있는밑거름이될수있다. 그림 1 ERROR-DETECTION 모듈과 KERNEL-SMART 모듈의유기적인상호작용 4. FORT 의구성요소 FORT, 즉파일시스템의강인성을검증하기위한테스트프레임워크의개발은 FORT를위해개발된도구가있었기때문에가능하다. 어플리케이션계층에서실제저장장치상의특정영역에물리적인오류를발생시킬수있는 PHYSICAL-FAULT-GENERATOR와디바이스드라이버영역에서물리적인오류가발생한것과같은효과를발생시켜주는LOGICAL-FAULT- GENERATOR가있으며, 파일시스템에서구분하는저장장치의어떠한영역에읽기 / 쓰기접근을시도하는지를즉시확인할수있는실시간모니터링도구인 LBAP- RINT로나눌수있다. 3가지의핵심개발도구를통해서 FORT를구성하였으며, 파일시스템의저장장치오류에대한발견수준과복구수준을표현하기위해 2가지의기준표와최종결과표로파일시스템의강인성과무결성의수준을표현하였다. 4.1 저장장치상에실제베드섹터를발생시키는도구 : PHYSICAL-FAULT-GENERATOR 파일시스템개발자그룹은가상의오류를디바이스드라이버영역에서발생시킴으로써테스트프레임워크를진행하고있으나 [9,18] 검증의신뢰성을높이기위해서실제저장장치상에물리적인오류를발생시키고검 증을진행해야가장바람직하다. 이와같이실제저장장치에물리적인오류를발생시키기위해서는고의적인외부충격으로저장장치의어딘가에발생시켜야했고이때의물리적인오류가발생한정확한위치를알수없으며사용자가원하는정확한위치에발생시킬수도없었다. 이와같은문제보다더큰문제는하드웨어적인결함이발생할가능성이매우높다는것이다. 그래서본논문에서는하드웨어적인결함을전혀주지않으면서어플리케이션계층에서보다간편하고정확한위치상에실제베드섹터를발생시킬수있는 PHYSICAL-FAULT- GENERATOR를개발하고검증을진행하였다. PHYSICAL-FAULT-GENERATOR 는기존의 IDE 디스크에러발생도구와의비교분석을통해서보다명확하게특징을확인하였다. 기존의저장장치상에물리적인오류발생기법을적용한 SWIFI(Software Implemented Fault Injection) 의대표적인도구인 IDE 디스크에러발생도구는디바이스드라이버영역에서사용자가설정한특정섹터접근시가상의물리적인오류로인지하게만드는방식을사용하고있다. 하지만 PHY- SICAL-FAULT-GENERATOR는읽기실패를유도하기위해원하는특정섹터상에가상의물리적인오류가아닌실제베드섹터를발생시킬수있는큰차이점을갖고있다. 이와같은특징으로기존도구와는다르게정상적으로저장장치에접근해서물리적인오류를발생시킬수있어검증방식및절차에대한신뢰성을향상시켰다. 기존 SWIFI도구의경우커널자료구조의수정이반드시필요하며, 도구자체의자료구조를저장장치의입출력이발생했을때마다모두탐색해야하기때문에성능저하가반드시발생한다. 하지만 PHYSICAL-FAULT- GENERATOR는실제저장장치상에물리적인오류를발생시킬뿐어떠한자료구조와의연동이없고독립적으로운용되고있어파일시스템의물리적인저장장치신뢰성검증뿐만아니라파일시스템의성능관련검증에도상당히유용하게활용될수있다. 이와같은특징으로인해 SWIFI도구와는다르게저장장치의해당영역에대한디지털정보가영구소실되는문제점이있으나검증차원에서보았을때는당연한현상이다. FORT의근간이되고있는 PHYSICAL-FAULT- 표 4 PHYSICAL-FAULT-GENERATOR와기존의 IDE디스크에러발생도구와의비교분석 비교항목 / 도구 PHYSICAL-FAULT-GENERATOR 기존의 IDE 디스크에러발생도구 특징 디스크상에실제베드섹터발생 가상의오류발생 발생가능한오류구분 읽기실패 ( 베드섹터 ) 실패구분없이무조건오류적용 시스템성능의영향 성능저하전혀없음 성능저하발생 ( 디바이스드라이버영역 ) 기존시스템과의연관성 독립적인모듈로써동작 커널핵심자료구조와관련깊음 저장장치훼손유무 디지털정보소실 디지털정보의훼손은없음

7 354 정보과학회논문지 : 시스템및이론제 34 권제 8 호 (2007.8) GENERATOR는기존의물리적인오류발생도구와는근본적인접근방법이다르다는것을확인할수있었다. 그래서기존도구에대한비현실성으로인해검증자체의낮은신뢰성을 PHYSICAL-FAULT-GENE- RATOR를이용함으로써한층높일수있었다. PHYSICAL-FAULT-GENERATOR는위의그림 2에서와같이시스템커널영역뿐만아니라디바이스드라이버영역을모두접근하지않은채직접저장장치에실제물리적인오류를발생시킴으로써다른시스템과연계없이독립적인기능을갖는중요한도구의특징을가지고있다. 이와같은특징은 FORT를위해서개발된도구이지만실제베드섹터를발생시키기때문에모든시스템영역에서물리적인오류에대한검증을시도해볼수있는장점을가진다. PHYSICAL-FAULT- GENERATOR를통해물리적인오류를저장장치에발생시킨후다른시스템에탑재하더라도오류발생영역에접근시반드시물리적인오류가발생한다. 그래서위의그림 2에서와같이실제물리적인오류에대한접근경로가일반적인저장장치의접근경로와같다. SWIFI와는다르게하드디스크상의실제베드섹터를소프트웨어계층에서손쉽고정확한위치에발생시킬수있는도구는 PHYSICAL-FAULT-GENERATOR 뿐이다. 이와같이간단한구조를가지면서, 실제저장장치에접근해서물리적인오류를발생시킬수있는기술은특정 ATA COMMAND를이용해서저장장치에그림 2 PHYSICAL-FAULT-GENERATOR의물리적인오류발생흐름도 접근후물리적인오류발생을위한 ECC 코드를오염시켰기때문에가능하였다. 이와같은방식의물리적인오류발생도구개발은최초이며, FORT의파일시스템검증뿐만아니라하드디스크를저장장치로가지고있는시스템의모든계층에대한물리적인오류검증을수행할수있어매우획기적인도구가아닐수없다. 이도구는리눅스운영체제기반에서개발하였으며, 실제물리적인오류를발생시키고자하는저장장치의선택뿐만아니라파티션단위의선택이모두가능하고, 정확한섹터위치를파일시스템에서구분하는블록번호와저장장치에서구분하는 LBA주소를통해모두접근이가능하도록도구의인터페이스를구성하여파일시스템의검증을위한편리한구조를가졌다. 이도구를이용해서원하는섹터상에베드섹터를발생시켰다면실제발생되었는지확인할수있어야한다. 이를위해 2가지방법이존재한다. 첫째, 파일시스템의읽기기능을이용해서오류가적용된섹터를읽는다. 만약실제물리적인오류가적용되었다면분명히디바이스드라이버의에러관련함수에서오류메시지를보여주게될것이다. 둘째, 공개소스로제공되어지는 S.M.A.R.T도구 [17] 를이용해서 Current_Pending_Sector 속성의 RAW_VALUE값증가로간단히확인할수있다. 이와같이저장장치상에베드섹터를발생시켰다면오류가발생된섹터를치료할수있는방법이있어야한다. 이도구는실제섹터상에베드섹터를발생시키고있기때문에파일시스템테스트프레임워크를진행한후에는저장장치는무결성이깨진상태가되어반드시베드섹터를치료할수있는기능이필요하다. 그래서저장장치의베드섹터에대한복구방식인리매핑 [16] 기법을활용하였다. 이는베드섹터가발생된영역에더미데이타를씀으로써저장장치의잉여섹터와베드섹터간의재사상을유도하는방식이다. 물론더미데이타를쓰기때문에해당섹터에디지털정보는영구소실된다. 이와같은복구기법을이용해서 PHYSICAL-FAULT- GENERATOR는 ATA COMMAND를이용한베드섹터를발생할수있을뿐만아니라섹터단위의쓰기가가능하도록도구의기능을확장하였다. 섹터단위의쓰기기능을탑재한이유는파일시스템의시스템콜을이용하여베드섹터를복구할경우섹터단위의오류가발 항목특징기법활용특이사항 표 5 PHYSICAL-FAULT-GENERATOR 특징정리설명어플리케이션계층에서저장장치의특정섹터상에베드섹터발생및복구특정 ATA(Advanced Technology Attachment)[19] COMMAND 활용베드섹터를이용하여파일시스템의읽기실패유도실제물리적인오류이므로해당섹터의디지털정보는영구소실

8 FORT : 파일시스템강인성테스트프레임워크 355 생했음에도불구하고블록단위의쓰기를수행하여오류가발생하지않은섹터에도더미데이타가쓰여져서베드섹터에인접한영역까지디지털정보의손실이발생되는문제점이있었기때문이다. 이처럼여러기능을가진 PHYSICAL-FAULT- GENERATOR는파일시스템과저장장치간의강인성연구뿐만아니라저장장치의물리적인오류에대한여러시스템의강인성을연구하는분야에도모두활용될수있는획기적인도구이다. 4.2 저장장치상에가상의물리적인오류를발생시키는도구 : LOGICAL-FAULT-GENERATOR 기존에연구개발되고있는물리적인오류발생도구 SWIFI의하나인 IDE 디스크에러발생도구 [20] 는오류의구분및각각의오류에대한특성을반영하지않은채디바이스드라이버를수정해서섹터에대한물리적인오류를가상으로발생시키고있다. 하지만 FORT에서는저장장치의원하는특정섹터상에저장장치에서정의하고있는오류 [21] 를선택하여적용시킬수있는특징을가진 LOGICAL-FAULT-GENERATOR를개발하여보다정확한파일시스템의검증을위해사용하고있다. 대표적인기능으로는읽기실패, 쓰기실패, 인터페이스오류, 데이타오염을원하는물리적인오류타입과저장장치의위치에적용할수있다. LOGICAL- FAULT-GENERATOR는기존의 IDE 디스크에러발생도구와같이디바이스드라이버영역을이용한물리적인오류발생도구이기때문에간단한비교를통해서도구의우수성을판단할수있으며, 이도구를이용해서파일시스템검증시우수한신뢰성을가질수있음을쉽게예측할수있다. LOGICAL-FAULT-GENERATOR는시스템고유의성능저하를최소화하였으며, 저장장치의접근형태에따른읽기오류, 쓰기오류, 인터페이스오류, 데이타오염의발생및오류에따른특징을반영하여현실성을최대한높여검증을위한신뢰성을향상시켰다. 그리고 IDE 디스크에러발생도구처럼배열자료구조를사용하여오류정보를담는형태가아닌해쉬테이블과링 크드리스트자료구조를적절히활용해서보다빠른오류정보검색을유도하였다. 그래서기존도구와같이전체배열을모두검색해서시스템이전체적으로느려지는단점을막고기존검증도구에서는할수없는여러가지형태의검증을쉽게진행할수있게되었다. 이처럼빠른검색을위한특징과여러접근형태별오류발생및처리를할수있는기술적형태는필터링기법을사용하고있기때문이다. LOGICAL-FAULT- GENERATOR에서의필터링기법이란, 저장장치의원하는영역에대한읽기실패, 쓰기실패, 인터페이스오류구분, 데이타오염을두었을경우오류구분에맞는형태의접근이이루어졌을때실제저장장치의접근을막고, 해당영역에따라설정해놓은물리적인오류를발생시키는형태이다. 그림 3에서와같이 LOGICAL-FAULT-GENERATOR 는어플리케이션영역, 시스템커널영역을통해물리적인오류를디바이스드라이버영역에서가상으로발생시키고있다. PHYSICAL-FAULT-GENERATOR와같이저장장치상에실제물리적인오류가발생하는것이아닌디바이스드라이버영역에서물리적인오류발생정보를통해실제저장장치에접근하지않은채마치실제접근해서물리적인오류가발생된것과같은그림 3 LOGICAL-FAULT-GENERATOR의물리적인오류발생및오류접근흐름도 표 6 LOGICAL-FAULT-GENERATOR 와 IDE 디스크에러발생도구와의비교분석 비교항목 / 도구 LOGICAL-FAULT-GENERATOR 기존의 IDE 디스크에러발생도구특징디바이스드라이버영역활용디바이스드라이버영역활용 저장장치접근형태별오류처리차별화유무 시스템성능의영향 기존시스템의변형정도 차별화된오류적용 ( 읽기오류 / 쓰기오류 / 인터페이스오류 / 데이타오염 ) 빠른검색을통해시스템의최소한의부하 ( 해쉬자료구조사용 ) 기존자료구조의변형은없음 ( 새로운자료구조추가 ) 저장장치훼손유무훼손없음훼손없음 차별화없음 ( 오류구분없이무조건오류적용 ) 성능저하발생 ( 배열자료구조사용 ) 커널의핵심자료구조수정 (Request structure)

9 356 정보과학회논문지 : 시스템및이론제 34 권제 8 호 (2007.8) 효과를주고있다. 물리적인오류적용경로는기존의 IDE 디스크발생도구와같다. 하지만 LOGICAL- FAULT-GENERATOR의특징인각각의오류에따른필터링기법이디바이스드라이버영역에서적용되고있다는점이큰차이점이다. 예를들어사용자가특정영역에대한특정물리적인오류를읽기실패구분으로설정하였다면설정된영역에쓰기접근이이루어졌을때정상적인저장장치의접근이이루어지고읽기접근시에만저장장치에접근하지않은채설정된물리적인오류를발생할수있도록구성하였다. 이와같은특징은기존도구와같은디바이스드라이버를이용한물리적인오류발생임에도불구하고기존에사용되는 IDE 디스크발생도구와는다른 4 가지의접근방법에따른오류적용유무를반영함으로써파일시스템의물리적인오류에대한여러검증을손쉽게진행할수있다. 그리고저장장치에대한어떠한손실도없는특징과물리적오류에대한필터링부분에서의지연을최소화하여보다방대한양의물리적인오류를저장장치에발생시킬수있는장점이있다. 물리적인오류의특성을최대한반영하기위한차별화된물리적인오류적용기법과 LOGICAL-FAULT- GENERATOR의빠른필터링기법을뒷받침하는자료구조, 마지막으로저장장치에실제접근하지않은채디바이스드라이버를최대한활용한 LOGICAL-FAULT- GENERATOR의특징및기술적인환경을다른도구와의비교및도구의특징을통해서상세히살펴보았다. 이와같은특징을갖는 LOGICAL- FAULT-GENERATOR 는해당오류의성질을최대한반영하여보다현실성을높인것이며해당섹터에접근하는방식에따라오류의특성을반영하여오류의적용유무및행동을구분할수있도록한것은다른도구와는다른세밀한도구의환경을조성한것이다. 복구정책또한 IDE 디스크에러발생도구에서와같이특정함수만을이용해서복구정책이아닌차별화된오류복구정책을반영하였다. 각각의차별화된접근방식에따른오류발생방법과각각의접근방식에따른차별화된복구기법에대해서살펴보도록하겠다. 첫째, 읽기오류의발생과복구정책이다. LOGICAL- FAULT-GENERATOR를이용해서저장장치의특정 섹터위치와원하는특정에러종류그리고읽기오류임을명시하여도구를실행시킨다. 도구를이용한읽기오류가섹터상에반영된이후해당섹터에읽기수행이이루어지면, 설정된에러를섹터에적용하여물리적인오류를발생시킨다. 읽기오류가적용된섹터를복구하기위해서는개발한복구함수를이용해서오류정보를삭제시키는방법뿐만아니라해당오류가적용된섹터에쓰기동작이반영되었을경우에도자동치료될수있도록하였다. 이는 PHYSICAL-FAULT-GENERATOR 에서도알수있듯이읽기오류가발생한섹터에쓰기가수행되면디지털정보는소실되더라도섹터가무결하게복구될수있음을반영한것이다. 둘째, 쓰기오류를발생하고싶을경우섹터에대한읽기는가능하지만쓰기수행시에오류를발생시켜야한다. 이를위해서원하는섹터와발생하고자하는특정에러종류그리고쓰기오류임을명시하여도구를실행시킨다. 읽기실패오류와마찬가지로설정한해당영역에쓰기접근이이루어지면설정된물리적인오류가발생이된다. 만약쓰기오류를복구하고싶다면개발한복구함수를이용해서쓰기오류가발생한특정섹터를쓰기오류리스트에서해제함으로써정상적인쓰기동작을수행할수있도록하였다. 셋째, 인터페이스오류라함은섹터에접근했을때일시적으로발생하는오류 [22] 로써재접근시에는정상적으로동작이수행되어야한다. LOGICAL- FAULT-GENERATOR를이용해서원하는섹터상에인터페이스오류를적용했을경우최초접근이이루어졌을때 CRC에러 [23] 를발생하도록하였고, 그즉시해당섹터에설정된인터페이스오류를복구시킴으로써재접근시섹터에대한접근이정상작동될수있도록일시적인오류현상을만들어냈다. 마지막으로데이타오염이라함은파일시스템에서특정데이타를저장장치에정상적으로썼음에도불구하고저장장치에는잘못된데이타가쓰여지거나읽혀지는것을의미한다. 이와같은환경을구축하기위해서파일시스템에서저장장치에특정데이타를쓰게될때해당데이타를오염시켜잘못쓰여지도록하거나파일시스템에서읽으려고할때잘못된데이타가반환될수있도록구성하였다. 만약이와같이읽기 / 쓰기 / 인터페이스오류 / 데이타오염과같은특정행동구분을반영하지않는다면해당섹터에어떠한 항목특징기법활용특이사항 표 7 LOGICAL-FAULT-GENERATOR 특징정리설명저장장치상에접근형태에따른차별화된물리적인오류발생및복구디바이스드라이버영역에서필터링기법을이용후에러레지스터 [14] 값의조작저장장치의접근형태에따른읽기실패, 쓰기실패, 인터페이스오류, 데이타오염유도가상의물리적인오류이므로해당섹터의디지털정보는무손실

10 FORT : 파일시스템강인성테스트프레임워크 357 접근이이루어지더라도설정한특정오류를계속발생하도록도구를구성하였으며사용자가물리적인오류가발생된섹터를복구하고싶을경우언제든지복구함수를통해복구될수있도록하였다. 이와같은특징을가지고있는 LOGICAL-FAULT- GENERATOR는 PHYSICAL-FAULT-GENERATOR 처럼물리적인오류가아닌디바이스드라이버영역에서필터링기법을사용한가상의물리적인오류이기때문에실제저장장치에는어떠한손실도발생하지않는안전한도구이다. 하지만 PHYSICAL-FAULT-GENE- RATOR에서발생한오류와같이실제저장장치상에오류가적용된것이아니기때문에오류가실제적용되었는지확인하는방법이제한적이다. PHYSICAL- FAULT-GENERATOR에서발생한베드섹터같은경우는 S.M.A.R.T 도구를이용한검증방법이가능하였지만, LOGICAL-FAULT-GENERATOR에서발생한저장장치오류는실제저장장치에적용된것이아닌디바이스드라이버영역에서인위적으로만든오류이기때문에 S.M.A.R.T도구를이용한검증은하지못하고, 파일시스템을통해서오류가적용된섹터를직접접근하여디바이스드라이버영역에서보내주는에러메시지를확인하는방법만을사용해야한다. 하지만 PHY- SICAL-FAULT-GENERATOR보다많은종류의오류를발생시킬수있으며어떠한환경에서도자유자제로손쉽게만들수있는장점이있기때문에파일시스템을검증하기위한테스트프레임워크구성으로매우유용하다. 4.3 저장장치의읽기 / 쓰기접근상황모니터링도구 : LBAPRINT도구 (I/O TRACE TOOL) 리눅스운영체제대부분의파일시스템은여러개의메타데이타영역과데이타영역으로구분되어있으며, 이와같은영역을통해저장장치에실제접근이시도된다. 따라서파일시스템과저장장치의계층구조속에서현재파일시스템의어떤영역에서저장장치에접근하고있으며, 그때의 LBA정보까지모니터링되어야파일시스템의검증을위한세부동작의시작과끝을명확하게파악할수있다. 또한저장장치에접근하는특정워크로드의수행시파일시스템의어떠한영역에서저장장치에접근하고있는지명확히확인할수있으며이때저장장치의접근하는위치를 LBA단위로정확히확인할수있다. 이와같은역할을수행하기위해개발된 LBAPRINT 도구는테스트프레임워크를진행할때올바른저장장치영역에접근이수행되고있는지명확히파악할수있고더불어테스트프레임워크자체의신뢰성까지보장한다. FORT를위한 LBAPRINT의역할및기능에대해서 살펴보았다. 이와같은기능을수행할수있는기술적알고리즘은위의그림 4에서와같이파일시스템의활용과저장장치상에접근시반드시디바이스드라이버를거친다는환경에서구조적인아이디어를얻었다. 파일시스템은블록단위의각각의메타데이타, 저널영역, 데이타영역등의많은영역으로구성되어있다. 하지만이와같은영역이실제저장장치상에어떠한영역과매칭을이루고있는지확인하기는매우힘들다. 따라서일반적으로위의그림 4에서와같이실선의화살표방향으로저장장치에접근이이루어질때 LBAPRINT는파일시스템의자료구조를통해현재의파일시스템이구분하는영역별로로드맵을구성한후각각의영역에대해해당하는저장장치상의정확한위치를 LBA단위로확인할수있도록구성하였다. 그림 4에서볼수있듯이점선화살표방향으로특정워크로드가수행될경우해당워크로드가파일시스템의어떠한영역에서저장장치상에어떠한영역으로읽기또는쓰기를수행하고있는지한눈에파악할수있다. 아래의표 8은 LBAPRINT의특징에대해서간략히정리하였다. 이모듈은저장장치에접근해서실제읽기와쓰기접근을시도하는작업에대해서정확히모니터링되야하기때문에모듈이적재되는영역은디바이스드라이버내에실제 ATA COMMAND[19] 를이용해서저장장치에읽고쓰는부분이어야한다. 더불어시스템에서모니터링하고자하는저장장치와표 8에서구분하고있는모니터링항목을선택하여모듈을적재시킬수있다. 또한검증절차의편의성을도모하기위해모듈이적재되었을지라도특정오퍼레이션이수행될때만모듈이동작할수있도록스위칭함수를두어모듈동작을 ON/OFF 시킬수있도록하였다. 지금까지시도되지않은이와같은형태의도구는파그림 4 LBAPRINT의시스템구성도및 I/O 흐름도

11 358 정보과학회논문지 : 시스템및이론제 34 권제 8 호 (2007.8) 항목역할 모니터링항목 기법 표 8 LBAPRINT 도구의특징정리 설명파일시스템에서구분하는어떠한영역에서저장장치에읽기 / 쓰기접근을시도하는지즉시확인 파일시스템의어떤동작 ( 읽기 / 쓰기 ) 을통해저장장치에접근하고있는가파일시스템이구분하는영역중어느영역을통해저장장치에접근하고있는가저장장치에접근시정확한접근위치 (LBA) 는어디인가 파일시스템에서구분하는메타데이타영역과데이타영역정보를이용해서모듈을디바이스드라이버영역에적용시키고저장장치에접근하는모든읽기 / 쓰기작업을필터링하는기법 일시스템과저장장치사이의주소체계를보다투명하게만들고파일시스템과디바이스드라이버그리고저장장치간의관계를보다명확하게규명할수있다는데큰의미를가진도구이다. 4.4 오류발생도구와모니터링도구의상호작용 ATA COMMAND[19] 를이용해서저장장치상에실제베드섹터를발생시킬수있는 PHYSICAL- FAULT-GENERATOR와파일시스템에서저장장치로접근을시도하는과정중중간영역인디바이스드라이버영역에서인위적으로오류를발생시키는 LOGICAL-FAULT- GENERATOR를이용해서저장장치의원하는위치에원하는물리적인오류를발생시킬수있음을살펴보았으며, 파일시스템이구분하는어떠한영역을통해어떠한동작으로저장장치상의물리적인오류위치에접근을시도하고있는지확인할수있는도구가 LBAPRINT임을확인하였다. 만약 LBA- PRINT없이오류발생도구를이용해서물리적인오류를발생시켰고, 원하는워크로드를통해오류영역에접근했더라도물리적인오류에대한시스템의반응은보일것이다. 하지만이와같은경우에해당워크로드가사용자가원하는영역에접근했기때문에발생한것인지아니면접근하는다른영역에의해발생된오류인지를판단하기힘들다. FORT에서는검증의신뢰성을매우중요시여겼으며강조하고있다. 하지만이와같이불분명한상황이존재한다면 FORT에서강조하는의미에위반되는모습일것이다. 따라서 2가지오류발생도구를이용한오류의발생에서부터파일시스템의어떠한동작을통해오류가발생된섹터에접근하고있는지전과정을한눈에파악되야한다. 이와같은취지에개발된도구가 LBA- PRINT이다. 만약오류발생장치를이용해서오류를발생시키기전에 LBAPRINT를탑재했다면물리적인오류영역에접근하게되는모든상황을메시지형태로써쉽게파악할수있게된다. 그래서그림 5에서와같이 FORT를이용한파일시스템의검증시에는 3가지도구를시스템에동시에적재시킨후검증을시도해야한다. 그래야 FORT에서강조하는신뢰성을보장할수있으며검증자체의편리성을도모할수있다. 그림 5 시스템내부에서의오류발생도구와모니터링도구간의상호작용 5. FORT 의진행방법저장장치의물리적인오류에대한파일시스템의테스트프레임워크를구성하기위해기존방식과다른핵심개발도구 3가지의특징에대해상세히살펴보았다. 이와같은개발도구를이용하여본논문에서제시하는테스트프레임워크를진행한다면파일시스템이저장장치의물리적인오류에대해얼마나올바른대처수준을가지고있는지파악할수있어파일시스템의강인성및신뢰성수준을명확히검증할수있다. 본논문에서제시하는테스트프레임워크는 4가지의실패구분과 2가지의파일시스템역할구분으로나누고있다. 2가지의파일시스템역할구분과 4가지의저장장치실패전략을통해파일시스템에서물리적인오류에대한보장범위를조사하여검증하고자한다. 검증결과를표현하기위한방법으로 2가지의기준표를제안한다. 첫번째기준표는파일시스템이구분하는저장장치영역을나타내는표이고, 두번째기준표는저장장치오류에대한파일시스템의오류발견수준및복구수준을정의표 9 테스트프레임워크의파일시스템역할구분과저장장치상의실패구분표파일시스템의역할구분저장장치상의실패구분읽기실패쓰기실패발견복구데이타오염인터페이스오류

12 FORT : 파일시스템강인성테스트프레임워크 359 하는표로써각각의모든항목을기호화하여간결하게나타내었다. 이와같은 2가지기준표를이용해서 FORT 의최종결과표를작성할수있다. 결과표의구성은첫번째기준표에서나타낸파일시스템이구분하는저장장치영역에따라파일시스템의접근시오류에대한발견및복구수준을두번째기준표에서확인하여해당항목을 FORT의결과에기호로써표시한다. 파일시스템에서저장장치에접근을시도할때테스트프레임워크자체의신뢰성을향상시키는일환으로리눅스사용자및개발자가주로사용하는시스템콜을기반으로워크로드를구성하였다. 이때테스트를진행하기전에파일시스템의함수호출흐름을나타낼수있는환경을구축한다면보다빠르고정확한분석이이루어진다. 5.1 FORT 을위한환경구성데이타를읽기위해저장장치에접근시실패가이루어지는것을읽기실패, 쓰기를위해저장장치에접근시실패가이루어지는것을쓰기실패, 일시적으로저장장치의접근이실패되는것을인터페이스오류, 읽기실패및쓰기실패와는다르게데이타의무결성이깨진상태예를들어서메타데이타와데이타간의동기화가맞지않는것을데이타오염이라정의하고, 이와같은물리적인오류를실제발생시킴으로써파일시스템의강인성을검사할수있다. 원하는형태의물리적인오류를정확한저장장치의위치에발생시키기위해LBAPRINT를이용해서우선확인한다. 그리고 PHYSICAL-FAULT-GENERATOR 및 LOGICAL-FAULT-GENERATOR를이용해서정확한위치상에원하는형태의오류를발생시킨후선정된워크로드즉, 시스템콜기반의워크로드를수행한다. 워크로드를수행중물리적인오류가발생된지점을자연스럽게접근하게되면그때의파일시스템의동작과함수호출흐름을분석함으로써테스트프레임워크를구성한다. 그리고보다현실적이고정확한테스트프레임워크를진행하기위해쓰기실패를제외한모든검증에 PHYSICAL-FAULT-GENERATOR를사용한다. 5.2 FORT 의알고리즘흐름도파일시스템의테스트프레임워크를구성하기위해여러가지개발도구와검증형태에따른파일시스템테스트프레임워크의환경구성에대해서간단히살펴보았다. 이와같이검증형태를가질수있는이유는 FORT 를위해개발된도구들과파일시스템의강인성검증을위한알맞은알고리즘이개발되었기때문이다. FORT의핵심알고리즘을이해하기위해순차적이면서단계별접근방식을통해자세히살펴볼것이다. 또한각단계별로절차에따른의미를이해할것이며이때개발된 그림 6 파일시스템테스트프레임워크세부절차및단계구분여러도구중에어떠한도구가어떤방식으로활용되고있는가에대해서도함께살펴보겠다. 파일시스템의여러자료구조중강인성을검증하고자하는영역또는자료구조의선정과선정된자료구조에접근을시도할워크로드즉, 물리적인오류가적용된영역에접근시킬시스템콜을선정하게된다. 그리고 LBAPRINT를시스템에탑재된후선정된워크로드를수행해서파일시스템의세부영역또는자료구조가있는저장장치의 LBA주소를정확히파악된다. 그이유는도구가시스템내에탑재되어있어현재파일시스템의어떤자료구조및영역에서저장장치의어떤 LBA주소에접근하고있는지파악이즉시가능하기때문이다. 하지만시스템콜이수행된후저장장치에접근하게되는세부영역이여러가지일수있다. 여러가지영역중검증하고자하는영역에해당하는 LBA주소를확인한다. 하지만해당워크로드수행이저널이나캐시에기록되어아직저장장치의원하는영역에접근하지않을수있기때문에 umount 시스템콜을수행해서데이타를모두저장장치에적용시킨다면즉시확인할수있다. 만약저장장치의원하는영역에접근을하지않는경우가있다면해당시스템콜이선정된영역이나자료구조에실제접근하지않음을확인해볼필요가있다. 이제확인된 LBA주소를가지고쓰기실패를제외한나머지실패환경구축을위해 PHYSICAL-FAULT-GENERA- TOR를이용하고, 쓰기실패같은경우 LOGICAL- FAULT-GENERATOR를이용해서정확한저장장치위치상에물리적인오류를발생시킨다. 보다정확한검

13 360 정보과학회논문지 : 시스템및이론제 34 권제 8 호 (2007.8) 증을위해서물리적인오류를발생시킨영역을실패구분에맞추어간단한어플리케이션을통해접근시켜본다면커널메시지를통해오류가정확히발생되었음을즉시확인할수있을것이다. 지금까지물리적인오류에대한발견및복구수준을확인하기위한환경을구축하는단계였다. 이제선정된워크로드를수행시켜물리적인오류에대한발견과복구를실제하는지, 실제한다면발견및복구수준표를기준으로어떠한수준을갖고있는지를조사한다. 이때파일시스템영역에서입출력흐름을확인할수있도록환경을구축하고진행한다면보다빠른검증을수행할수있다. 이와같은 FORT의세부절차에대해서단계별로명확한의미와이때참조되는표및개발도구를나타내었다. FORT는위의표 10에서와같이 6단계의중요한절차속에서 FORT를위해고안된도구또는표를이용해서파일시스템테스트프레임워크를손쉽게진행할수있다. 그리고각각의자료구조와세부영역까지검증하기위해기존엔복잡한과정과저장장치상에실제물리적인오류가아닌가상의물리적인오류를발생시켰기때문에검증자체의신뢰성을의심해볼필요가있었다. 하지만 FORT에서는검증을위한도구에서부터신뢰성과현실성을가지고있으며워크로드를일반사용자들이많이사용하는시스템콜로하였기때문에검증의신뢰성을한층높일수있었다. 이와같은특징을이용해서 FORT의핵심알고리즘및세부절차에대해서알아보았다. 만약원하는특정파일시스템에대해 FORT를이용한검증을진행한다면해당파일시스템이물리적인오류에대한자신이사용하고있는파일시스템의우수성또는심각성을쉽게알수있는계기가될것이다. 그리고파일시스템뿐만아니라다른시스템개발자들도자신이개발하는시스템의강인성을향상시킬수있는방 향을제시할수있는기본틀을제공하는것이다. 5.3 FORT 의단계별적용사례지금까지는 FORT를위해서개발된도구들과이도구를활용한 FORT의세부알고리즘을순서도와단계별절차및의미를통해자세히살펴보았다. 하지만시스템커널의일부영역인파일시스템은어플리케이션과는다르게검증하기위해서많은배경지식과검증하기위한절차에대해서명확히숙지해야만검증결과에대한신뢰성을갖출수있다. 그래서본절에서는지금까지 FORT를위해제시된세부알고리즘을바탕으로단계별적용방법을읽기실패와쓰기실패에대해서적용사례를보이도록하였다. 파일시스템이물리적인오류로인한읽기실패와쓰기실패가발생하였을경우어느수준의강인성을갖고있는지검증하기위해 mount 시스템콜을적용사례로선정하였다. 또한 FORT에대한세부알고리즘이해를돕기위해 FORT의단계별절차및의미표를통한순차적접근방법을사용하였다. STATE1에서수행하고자하는워크로드즉, 시스템콜을결정하고, 해당시스템콜이접근하는자료구조중검증하고자하는영역을선정하게된다. 그래서 STATE 1에서는 Mount 시스템콜을이용해서해당콜이접근하는여러자료구조중 inode table 영역의읽기실패에따른검증을결정하였고, super block 영역의쓰기실패에따른검증을결정하여물리적인오류에대한발견및복구수준을나타내기로하였다. STATE2에서 Mount시스템콜을 LBAPRINT와함께수행시켜접근하는영역에대한 LBA주소를확인한다. 이때검증하고자하는영역의 LBA주소만나타날수도있겠지만대다수의경우해당시스템콜이접근하는모든영역에대해서저장장치의위치를알려주게된다. 이때 STATE3 에서와같이검증을원했던영역의 LBA주소만을확인한다. 읽기실패및쓰기실패시모두 LBAPRINT에 표 10 FORT 의단계별절차및의미 STATE 절차별의미적용도구및참조표 STATE 1 STATE 2 STATE 3 STATE 4 STATE 5 STATE 6 저장장치의물리적인오류발생을적용시킬영역선정물리적인오류발생영역접근워크로드선정 선정된워크로드가접근하는파일시스템의세부영역과위치 (LBA) 확인 워크로드가접근하는파일시스템의영역중검증하고자하는영역에대한저장장치의위치 (LBA) 파악 읽기 / 쓰기 / 데이타오염 / 인터페이스오염중원하는물리적인오류를도구를이용해서발생 물리적인오류가정확한위치에발생되었는지확인 워크로드 ( 시스템콜 ) 수행후파일시스템의물리적인오류에대한발견및복구수준조사 표 9, 표 14 Lbaprint 원하는검증영역에대한위치확인 PHYSICAL-FAULT-GENERATOR LOGICAL-FAULT-GENERATOR 실패구분에맞게해당영역을실제접근하여물리적인오류발생확인 파일시스템반응및 I/O 흐름조사

14 FORT : 파일시스템강인성테스트프레임워크 361 서 inode table 영역에대한정확한위치와 super block 영역에대한정확한위치를메시지형태로확인할수있다. 따라서 Mount 시스템콜에서접근하는 inode table의저장장치위치를 LBA 주소 95로확인할수있었으며, Super block에쓰기접근을수행하기위해서는 LBA 63에쓰기수행함을확인할수있었다. 파일시스템의검증을위해탐색된위치정보를통해읽기실패환경을만들수있는 PHYSICAL-FAULT-GENERATOR, 쓰기실패환경을만들수있는 LOGICAL-FAULT- GENERATOR를통해 inode table이위치하게되는 LBA 95에읽기실패, super block이위치하게되는 LBA 63에쓰기실패가발생하도록환경을구축하는것이 STATE 4이다. STATE 5에서는실제읽기실패와쓰기실패가올바르게발생되었는지확인하기위해서간단하게읽기실패가발생된부분을읽기시스템콜을이용해서읽고, 쓰기실패된부분에대해서는쓰기시스템콜을이용해서써본다면실제물리적인오류가발생되었음을확인할수있다. STATE 4까지는저장장치상에실제물리적인오류발생및검증환경을위한단계라면 STATE 5는실제선정된워크로드였던 mount 시스템콜을수행시키는 단계이다. 이때읽기오류를발생시킨 inode table과쓰기오류를발생시킨 super block에대한접근이이루어지면파일시스템및디바이스드라이버영역에서출력되는메시지를확인할수있고커널소스의간단한확인절차를마지막으로발견수준과복구수준에대해서정의할수있다. 읽기실패가이루어지면표 12에서와같은메시지를확인할수있으며메시지를통한커널소스의접근을시도할수있다. 각각의메시지를통해서물리적인오류에대한파일시스템의반응을확인할수있으며위의메시지를통해 LBA 95에물리적인오류가발생되어해당섹터를읽지못한다는커널메시지를확인할수있다. 그리고파일시스템영역에서는 inode table에읽기실패가발생하여해당영역을읽지못함을알려주고있다. 파일시스템의커널메시지를보면에러처리를위해서수행되는 ext3_get_inode_loc함수를끝내지않고 ext3_handle_error 함수를호출하여에러처리과정에진입함을커널소스레벨에서간단히확인할수있었다. 따라서 mount 시스템콜은 inode table 접근시하위영역에서검사가가능한에러코드를리턴받아물리적인오류를발견하고있음을확인하였다. 그리고사 표 11 mount 시스템콜의읽기 / 쓰기실패에대한검증절차 STATE 읽기실패에대한검증절차쓰기실패에대한검증절차 STATE 1 STATE 2 STATE 3 STATE 4 STATE 5 STATE 6 mount system call 이접근하는여러영역중 inode table 에대한검증결정 LBAPRINT 를탑재한후시스템콜을수행한후검증영역에해당하는 LBA 주소를확인 Mount 시스템콜이접근하는 inode table 에대한 LBA 주소확인 (LBA 주소 : 95) LBA 95 번지에 PHYSICAL-FAULT-GENERATOR 를이용해서물리적인읽기오류를발생. LBA 95 번지에읽기시스템콜을이용해서실제에러메시지확인 실제 mount 시스템콜을수행해서파일시스템의반응및 I/O 흐름조사 mount system call 이접근하는여러영역중 super block 에대한검증결정 LBAPRINT 를탑재한후시스템콜을수행한후검증영역에해당하는 LBA 주소를확인 Mount 시스템콜이접근하는 super block 에대한 LBA 주소확인 (LBA 주소 : 63) LBA 63 번지에 LOGICAL-FAULT-GENERATOR 를이용해서가상의물리적인쓰기오류를발생. LBA 63 번지에쓰기시스템콜을이용해서실제에러메시지확인 실제 mount 시스템콜을수행해서파일시스템의반응및 I/O 흐름조사 커널출력메시지 파일시스템메시지 간단한커널소스확인 표 12 mount 시스템콜의읽기실패시확인메시지 읽기실패가이루어졌을경우확인할수있는메시지 hdb: dma_intr: status=0x51 {DriveReady SeekComplete Error} hdb: dma_intr: error=0x40 {UncorrectableError}, LBAsect=95, high=0, low=95, sector=32 end_request: I/O error, dev 03:41 (hdb), sector 32 Ext3_get_inode_loc: unable to read inode block - inode=8, block=4 mount: wrong fs type, bad option, bad superblock on /dev/hdb1, or too many mounted file system ext3-fs error (device ide0(3,65)): ext3_get_inode_loc: unable to read inode block - inode=8, block=4 생략 START FUNCTION : ext3_handle_error START FUNCTION : ext3_error_behaviour 생략

15 362 정보과학회논문지 : 시스템및이론제 34 권제 8 호 (2007.8) 커널출력메시지 파일시스템메시지 간단한커널소스확인 표 13 mount 시스템콜의쓰기실패시확인메시지 읽기실패가이루어졌을경우확인할수있는메시지 hdb: dma_intr: status=0x51 { DriveReady SeekComplete Error } hdb: dma_intr: error=0x40 { UncorrectableError }, LBAsect=70, high=0, low=70, sector=0 end_request: I/O error, dev 03:41 (hdb), sector 0 EXT3 FS , 19 August 2002 on ide0(3,65), internal journal 생략 END FUNCTION : ext3_commit_super 생략 그림 7 테스트프레임검증순서블록다이어그램 용자에게현재 inode table의읽기실패가이루어져 mount가수행되지않았음을메시지를통해확인시킨후 mount 과정이중단되었음을알려주고있다. 읽기실패와마찬가지로쓰기실패가이루어지면표 13과같은메시지를확인할수있으며, 메시지를통한커널소스의접근을시도할수있다. 우선물리적인오류가발생하였기때문에커널영역에서해당위치와에러구분이담긴커널메시지를보여주고있음을확인할수있다. 그러나읽기실패에서와는다르게파일시스템영역에서의쓰기실패에따른에러메시지는확인할수가없었다. 커널의디바이스드라이버영역에서는물리적인오류로인한에러메시지를확인할수있었지만파일시스템영역에서는어떠한에러메시지를확인할수없었으며시스템콜또한실패를반환하지않는것으로봐서는물리적인쓰기실패에대해서는파일시스템이어떠한고려도하지않음을알수있다. 마지막으로커널소스레벨에서확인한결과 mount 동작시 ext3_commit_super는 super block에대한내용을갱신시키기위해서쓰기작업을수행하지만쓰기실패에대한어떠한고려도하지않음을확인함으로써보다명확해졌다. 따라서 mount 시에 super block영역에대한쓰기오류의발견은어떠한발견수준을갖지않음을확인하였으며복구수준또한어떠한처리도하지않는다는결론을낼수있었다. 지금까지읽기실패와쓰기실패에대한간단한적용사례를보면서정확한 FORT의알고리즘과상세한단계별절차에대해서살펴보았다. 그리고단계별절차가의미하는것이무엇이며, 각각의절차를통해서얻어질수있는정보에대해서도함께살펴보았다. 6. FORT 을이용한파일시스템검증 FORT의구성을위해개발된도구와논문에서제시하는저장장치의 4가지실패전략및 2가지파일시스템 역할구분을바탕으로실제파일시스템에적용하여강인성과무결성을검증하고자한다. 검증의대상이될파일시스템은신뢰성및일관성을최상위수준으로유지하기위해저널링기능을이용하는 EXT3 파일시스템으로선정하였다. 선정된파일시스템뿐만아니라개발되어진파일시스템전부를테스트프레임워크에적용할수있지만신뢰성및일관성을최상위수준으로유지하는파일시스템이기때문에과연물리적인저장장치와묶여있는관계속에서얼마나견고하고강인한지검증을위해선정하였다. 6.1 검증순서사용자가선택한오류구분에따라물리적인오류를발생시켜파일시스템에서정확하게오류를발견하고복구를수행하고있는지위와같은단계를거쳐검증을진행한후결과표를작성할수있다. 파일시스템영역에서오류섹터에접근시물리적인오류의발견수준을검증할지복구수준을검증할지를결정하고 4가지의실패구분중하나를결정하여각각검증을진행한다. 개발도구중 LBAPRINT를이용해서현재저장장치상에파일시스템이나누고있는영역중원하는영역의 LBA 주소를알아내고전략에맞는오류발생도구를선택하여해당 LBA주소상에물리적인오류를발생시킨다. 이제오류구분에따라오류가발생된섹터에접근해서오류에대한파일시스템의함수호출흐름과행동을관찰하여오류발견과오류복구수준을검증한다. 6.2 검증결과테스트프레임워크를 EXT3파일시스템에적용하여결과표를작성하였고, 하드디스크에러에대한오류발견수준과복구수준을검증하기위해가장흔히발생되는읽기실패와쓰기실패에대해검증하였다. 테스트프레임워크자체의신뢰성을위해개발자및응용프로그램에서주로사용하는시스템콜을바탕으로검증항목을구성하였으며, 파일시스템에서나누고

16 FORT : 파일시스템강인성테스트프레임워크 363 표 14 파일시스템이구분하는저장장치의영역 기호 영역구분 기호 영역구분 a Inode bitmap g g descriptor b Inode table h j super c Data bitmap i j revoke d Data block j j descriptor e Data indirect k j commit f Super block l j data 표 15 오류발견및복구수준적용문자표 기호 발견수준 α 에러를발견하기위한어떠한작업도하지않음 β 하위영역으로부터전달받아에러를발견 기호 복구수준 α 에러를복구하기위한작업을하지않음 β 현재의작업을중단하는복구방법 γ 현재의에러를사용자에게알려주는복구방법 δ β와γ의복구동작을동시에수행하는방법 ε γ 와현재의작업을반복하는복구방법 표 16 읽기실패의경우오류발견수준표 작업 a b c d e f g h i j k l Creat β β β β Read β β β Write β β β Link β β Unlink β β β β β Mkdir β β β β Rmdir β β β β Mount β β β β Umount β β 표 17 읽기실패의경우오류복구수준표 작업 a b c D e f g h i j k l Creat δ δ δ δ Read δ γ ε Write β γ α Link δ δ Unlink α δ α γ α Mkdir δ δ δ δ Rmdir α δ α γ Mount δ δ δ δ Umount δ δ 있는저장장치의영역별로오류의발견과복구수준을 기호화하여표로작성하였다. 표내에어떠한기호도 적용되지않은공간은해당시스템콜이수행하는과정 에서해당저장장치영역에어떠한접근도하지않기 때문이다. 2가지결과표의가로축은파일시스템영역에 서구분하는세부영역으로써저장장치를표현하였으며, 세로축은시스템콜로써파일시스템을표현하였다. 이와 표 18 쓰기실패의경우오류발견수준표 작업 a b c d e f g h i j k l Creat α α α α α α α β β β Read α α β β β Write α α α α α α β β β Link α α α α α β β β Unlink α α α α α α α β β β β Mkdir α α α α α α α β β β Rmdir α α α α α α α β β β β Mount α Umount α α α α α α 표 19 쓰기실패의경우오류복구수준표 작업 a b c d E f g H i j k l Creat α α α α α α α δ δ δ Read α α δ δ δ Write α α α α α α δ δ δ Link α α α α α δ δ δ Unlink α α α α α α α δ δ δ δ Mkdir α α α α α α α δ δ δ Rmdir α α α α α α α δ δ δ δ Mount α Umount α α α α α α 같은결과표를이용해서시스템콜이접근하는저장장 치영역에대한물리적인오류의발견수준표와복구 수준표를작성하였다. 6.3 결과분석 검증을수행한 Ext3 파일시스템에서디스크를읽기 수행시물리적인오류로인한 2가지분석표를통해파 일시스템의강인성을쉽게분석할수있다. 테스트프레 임워크를적용한모든시스템콜은저장장치에접근시 물리적인오류에대해에러코드를돌려줌으로써오류를 발견하고있어 "β" 와같은발견수준을적용하였다. 복구 표를통해서는매우다양한복구수준이적용되고있음 을한눈에알수있다. 예를들어읽기시스템콜과마 운트시스템콜을분석해보면, 읽기시스템콜인경우 Inode table, Data block, Data indirect 영역에각각 접근한다. Inode table에접근시저장장치에서오류가 발견이되면현재의작업을중단하고, 현재의오류상태 를사용자에게알려주는방식의오류에대한복구를진 행하며, Data block에접근시에저장장치오류가발견 이되면현재의오류상태를사용자에게알려주는방식 만을취하고있다. 마지막으로 Data indirect영역은테 스트프레임워크결과에서유일하게현재의오류상태 를사용자에게알려주며재접근을시도하고있다. 그래 서 δ, γ, ε의복구수준을각각적용시켰다. 마운트시스템 콜인경우 Data bitmap, Super block, g-descriptor,

17 364 정보과학회논문지 : 시스템및이론제 34 권제 8 호 (2007.8) j-super영역에각각접근하며저장장치에서오류가발견이되면현재의작업을중단하고오류상태를사용자에게알려주는복구방법을사용하고있음을한눈에파악할수있다. 저장장치의쓰기수행시물리적인오류로인한 2가지분석표를통해파일시스템의강인성을쉽게분석할수있다. 쓰기실패에대한오류발견수준표를보았을때대부분의시스템콜이 j-super 영역을제외한저널영역에서물리적인오류에대한에러코드를통해오류를발견하고있다. 따라서 "β" 발견수준을적용하였고, 그외의접근하는영역에대해서는오류를발견하기위한어떠한작업도하지않아 "α" 발견수준을적용하였다. 저장장치오류에대한복구수준표와발견수준표는비슷한형태를보이고있다. j-super 영역을제외한저널영역에대해서는저장장치에접근시물리적인오류에대해서현재의작업을중단하고현재의오류상태를사용자에게알려주는복구방법을사용해서 "δ" 복구수준을적용하였으며나머지영역에대해서는오류를복구하기위한어떠한작업도하지않아 "α" 복구수준을적용하였다. 이와같이 EXT3 파일시스템의강인성테스트를위한프레임워크분석표를작성하고, 분석까지완료하였다. 분석표를통해저장장치와얽혀있는유기적인관계속에서얼마나강인성을보장하고있는지쉽게파악할수있었다. 검증을진행한 EXT3 파일시스템은읽기수행시물리적인오류정보를발견하더라도어떠한복구동작도하지않거나사용자에게오류에대한정보만을알려주는경미한복구수준을가지고있음을확인하였다. 쓰기수행시에도 j-super영역을제외한저널영역에서만오류를발견할뿐다른영역에서는오류에대한어떠한발견도하지않고있다. 복구동작또한 j-super영역을제외한저널영역에서만현재의작업을중단하는복구동작이있을뿐대부분의영역에서는어떠한복구동작도하지않는 EXT3 파일시스템의문제점을파악할수있었다. 이와같은최종결과를통해실제 EXT3 파일시스템이운용되는도중심각한문제를일으킬수있는경우를생각해볼수있었다. 파일시스템이저장장치에적재되기위해마운트동작을수행한다면슈퍼블록영역에어떠한저장장치오류가있다하더라도오류에대한어떠한대처도하지않기때문에신뢰성및견고성을위주로개발된 EXT3저널링파일시스템에문제점을증명할수있었다. 7. 결론및향후연구대용량화되어가는저장장치와파일시스템과의강인 성과신뢰성을검증할기존의프레임워크 [24] 는명백한한계점이있다. 기존에존재하는테스트프레임워크는신뢰성및무결성을위한테스트도구로써대부분파일시스템의논리적인오류와견고성만을검증하고있다. 따라서기존파일시스템프레임워크와접근방식이완전히다른새로운개념의테스트프레임워크를제안하였다. 제안된테스트프레임워크는 4가지의실패구분에따른파일시스템의 2가지역할구분으로나누었으며, 이를위해핵심개발도구 3가지를소개하였다. 또한신뢰성및일관성을최상위수준으로유지하는 EXT3 파일시스템에실제적용하여결과표를작성하고문제점을찾아보았다. 다른많은파일시스템에대해서이와같은테스트프레임워크를적용한다면파일시스템의강인성에대한문제점을파악할수있고향후많은보완이이루어질것으로예상할수있다. 이와같은문제점이발생하는가장큰이유가디바이스드라이버영역과파일시스템영역이명백히나뉘어져있기때문이다. 따라서두영역을서로융합할수있는 ERROR-DETECTION 모듈과 KERNEL-SMART 모듈을개발하고소개하였다. 2가지개발된모듈을시스템에적재한다면파일시스템영역에서저장장치자체의물리적인결함및심각한문제를빠르게파악할수있고, 디지털정보의심각한영향을주는베드섹터에대한실시간상황파악이가능해지기때문에디지털정보를적극적으로보호할수있다. 향후기존에개발되어진파일시스템보다견고하고, 논리적 / 물리적인오류에강인한파일시스템이개발된다면본논문에서제안하는테스트프레임워크를적용하여강인함을증명할계획이다. 참고문헌 [1] V. Prabhakaran, A. C. Arpaci-Dusseau, and R. H. Arpaci-Dusseau, "Model-Based Failure Analysis of Journaling File Systems," presented at Proceedings of the 2005 International Conference on Dependable Systems and Networks (DSN'05) Brighton, United Kingdom, [2] S. Gopalan, P. W. Charles, and Z. Erez, "Ensuring data integrity in storage: techniques and applications," presented at Proceedings of the 2005 ACM workshop on Storage security and survivability, Fairfax, VA, USA, [3] Linux Test Project, " [4] "The Data Clinic, Hard Disk Failure, dataclinic.co.uk/hard-disk-failures.htm," [5] T. J. Kowalski, "Fsck : the UNIX file system check program," in UNIX Vol. II: research system (10th ed.): W. B. Saunders Company, 1990, pp

18 FORT : 파일시스템강인성테스트프레임워크 365 [6] Mkfs-build a linux file system, " od/commands/l/blcmdl8_mkfs.htm". [7] Tripwire Inc. Tripwire Software. " tripwire.com". [8] H. K. Gene and H. S. Eugene, "The design and implementation of tripwire: a file system integrity checker," presented at Proceedings of the 2nd ACM Conference on Computer and communications security, Fairfax, Virginia, United States, [9] P. Vijayan, N. B. Lakshmi, A. Nitin, S. G. Haryadi, C. A.-D.Andrea, and H. A.-D. Remzi, "IRON file systems," presented at Proceedings of the twentieth ACM symposium on Operating systems principles (Brighton, United Kingdom, October 23-26, 2005), Brighton, United Kingdom, [10] hard disk constitution, " ref/hdd/op/index.htm". [11] K. Hannu, S. Heikki, and L. Fabrizio, "Detection of Defective Media in Disks," presented at Defect and Fault Tolerance in VLSI Systems, 1993., TheIEEE International Workshop on, Venice, Italy, [12] K. Hannu, S. Heikki, and L. Fabrizio, "Detecting Latent Sector Faults in Modern SCSI Disks," presented at Modeling, Analysis, and Simulation of Computer and Telecommunication Systems, 1994., MASCOTS '94., Proceedings of the Second International Workshop on, Durham, NC, USA, [13] hard disk device drive, " com/guide2000/ref/hdd". [14] Hard disk register & ide, " communication/ide.html". [15] Freelist Data Structure. " pub/graphviz/current/doxygen/html/structfreelis t.html". [16] Sector remapping, " guide2000/ref/hdd/perf/qual/featuresremap.html". [17] S.M.A.R.T., " smartd.8.html". [18] J. H. Barton, E. W. Czeck, Z. Z. Segall, and D. P. Siewiorek, "Fault Injection Experiments Using FIAT," IEEE Trans. Comput. 39, 4 (Apr. 1990), vol. 39, pp , [19] The Guide to ATA/ATAPI documentation. " [20] Jake Adriaens, Dan Gibson, "A Software Layer for IDE Disk Fault Injection", System Lacking Originality Workshop [21] EXT3 File system harddisk register value. "/usr/ src/linux/include/linux/hdreg.h". [22] A. Jean, A. Martine, A. Louis, C. Yves, F. Jean-Charles, L. Jean-Claude, M. Eliane, and P. David, "Fault Injection for Dependability Validation: A Methodology and Some Applications," IEEE Trans. Softw. Eng. %@ , vol. 16, pp , [23] Intel reporting data. Serial e05133r0 "Serial ATA ICRC Reporting". [24] J. Yang, P. Twohey, D. Engler, and M. Musuvathi, "Using Model Checking to Find Serious File System Errors," presented at Sixth Symposium on Operating Systems Design and Implementation, 김영진 2005년평택대학교컴퓨터과학과학사 2005년 8월~현재한양대학교공과대학전자컴퓨터통신공학부석사재학중. 관심분야는파일시스템, 임베디드시스템, 멀티미디어시스템, 운영체제 원유집 1990 년서울대학교자연과학대학계산통계학과학사 년서울대학교자연과학대학계산통계학과석사 년 University of Minnesota 전산학박사 년 ~1999 년 Performance Analyst, Intel Corp 년 3 월 ~ 현재한양대학교공과대학전자컴퓨터통신공학부부교수. 관심분야는멀티미디어시스템, 운영체제, 컴퓨터네트워크 김락기 2006년부경대학교전자통신컴퓨터공학 과학사. 2006년~현재한양대학교공과 대학전자컴퓨터통신공학부석사재학중. 관심분야는운영체제, 파일시스템, 임베 디드시스템 이모원 2005년남서울대학교정보통신공학과학사. 2007년한양대학교공과대학전자컴퓨터통신공학부석사. 현재삼성전자정보가전소프트웨어팀. 관심분야는운영체제, 파일시스템, 컴퓨터네트워크

19 366 정보과학회논문지 : 시스템및이론제 34 권제 8 호 (2007.8) 박재석 2005년한양대학교공과대학전자컴퓨터 통신공학부학사. 2007년한양대학교공 과대학전자컴퓨터통신공학부석사. 현재 삼성전자정보가전소프트웨어팀. 관심분 야는운영체제, 파일시스템, 컴퓨터네트 워크 이주훤 2005년인하대학교항공우주공학과학사. 2005년~현재한양대학교공과대학전자컴퓨터통신공학부석사재학중. 관심분야는운영체제, 파일시스템

DBPIA-NURIMEDIA

DBPIA-NURIMEDIA 248 정보과학회논문지 : 시스템및이론제 35 권제 6 호 (2008.6) SOAR : 저장장치를기반으로하는시스템의신뢰성분석도구개발 (SOAR : Storage Reliability Analyzer) 김영진 원유집 김락기 (Youngjin Kim) (Youjip Won) (Rakie Kim) 요약대용량멀티미디어파일의증가와개인의디지털정보의중요성이날로증가하면서저장장치는고용량화,

More information

6.24-9년 6월

6.24-9년 6월 리눅스 환경에서Solid-State Disk 성능 최적화를 위한 디스크 입출력요구 변환 계층 김태웅 류준길 박찬익 Taewoong Kim Junkil Ryu Chanik Park 포항공과대학교 컴퓨터공학과 {ehoto, lancer, cipark}@postech.ac.kr 요약 SSD(Solid-State Disk)는 여러 개의 낸드 플래시 메모리들로 구성된

More information

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수

More information

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P Duplicator 는기본적으로원본하드디스크를빠르게복사본하드디스크에복사하는기능을하는것입니다.. 복사본 하드디스크가원본하드디스크와똑같게하는것을목적으로하는것이어서저용량에서고용량으로복사시몇 가지문제점이발생할수있습니다. 하드디스크는사용하려면, 디스크초기화를한후에포맷을해야사용가능합니다. Windows PC는 MBR과 GPT 2 개중에 1개로초기화합니다. -Windows

More information

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher( 실행할페이지.jsp); 다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp"); dispatcher.forward(request, response); - 위의예에서와같이 RequestDispatcher

More information

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 2. 관련연구 2.1 MQTT 프로토콜 Fig. 1. Topic-based Publish/Subscribe Communication Model. Table 1. Delivery and Guarantee by MQTT QoS Level 2.1 MQTT-SN 프로토콜 Fig. 2. MQTT-SN

More information

Microsoft PowerPoint - 알고리즘_1주차_2차시.pptx

Microsoft PowerPoint - 알고리즘_1주차_2차시.pptx Chapter 2 Secondary Storage and System Software References: 1. M. J. Folk and B. Zoellick, File Structures, Addison-Wesley. 목차 Disks Storage as a Hierarchy Buffer Management Flash Memory 영남대학교데이터베이스연구실

More information

항목

항목 Cloud 컴퓨팅기반분산파일시스템개요 개발실 UPDATE : 2012. 11 18 INDEX 1. 가용성 2. 확장성 3. PrismFS 4. Q&A 2 가용성 3 Gmail 장애 2011년 2월 27일 34000명의 Gmail 사용자들이일어나보니메일, 주소록, 채팅기록등이사라진것을발견 2011년 2월 28일 스토리지소프트웨어업데이트를진행하는중 Bug로인해발생했다고공지

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D> 리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1

More information

DBPIA-NURIMEDIA

DBPIA-NURIMEDIA 무선 센서 네트워크 환경에서 링크 품질에 기반한 라우팅에 대한 효과적인 싱크홀 공격 탐지 기법 901 무선 센서 네트워크 환경에서 링크 품질에 기반한 라우팅에 대한 효과적인 싱크홀 공격 탐지 기법 (A Effective Sinkhole Attack Detection Mechanism for LQI based Routing in WSN) 최병구 조응준 (Byung

More information

Chapter 05. 파일접근권한관리하기

Chapter 05. 파일접근권한관리하기 Chapter 05. 파일접근권한관리하기 00. 개요 01. 파일의속성 02. 파일의접근권한 03. 기호를이용한파일접근권한변경 04. 숫자를이용한파일접근권한변경 05. 기본접근권한설정 06. 특수접근권한 파일의속성을이해하고설명할수있다. 접근권한의종류와표기방법을이해하고설명할수있다. 접근권한을바꾸기위해기호모드에서원하는권한을기호로표기할수있다. 접근권한을바꾸기위해숫자모드에서원하는권한을숫자로표기할수있다.

More information

Microsoft PowerPoint - 30.ppt [호환 모드]

Microsoft PowerPoint - 30.ppt [호환 모드] 이중포트메모리의실제적인고장을고려한 Programmable Memory BIST 2010. 06. 29. 연세대학교전기전자공학과박영규, 박재석, 한태우, 강성호 hipyk@soc.yonsei.ac.kr Contents Introduction Proposed Programmable Memory BIST(PMBIST) Algorithm Instruction PMBIST

More information

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition

More information

2017 년 6 월한국소프트웨어감정평가학회논문지제 13 권제 1 호 Abstract

2017 년 6 월한국소프트웨어감정평가학회논문지제 13 권제 1 호 Abstract 2017 년 6 월한국소프트웨어감정평가학회논문지제 13 권제 1 호 Abstract - 31 - 소스코드유사도측정도구의성능에관한비교연구 1. 서론 1) Revulytics, Top 20 Countries for Software Piracy and Licence Misuse (2017), March 21, 2017. www.revulytics.com/blog/top-20-countries-software

More information

Microsoft PowerPoint 자동설치시스템검증-V05-Baul.pptx

Microsoft PowerPoint 자동설치시스템검증-V05-Baul.pptx DMSLAB 자동설치시스템의 HW 정보 및사용자설정기반설치 신뢰성에대한정형검증 건국대학교컴퓨터 정보통신공학과 김바울 1 Motivation Problem: 대규모서버시스템구축 Installation ti Server 2 Introduction 1) 사용자가원하는 이종분산플랫폼구성 대로 2) 전체시스템 들의성능을반영 3) 이종분산플랫폼을지능적으로자동구축 24

More information

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University Outline Network Network 구조 Source-to-Destination 간 packet 전달과정 Packet Capturing Packet Capture 의원리 Data Link Layer 의동작 Wired LAN Environment

More information

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074> SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......

More information

Tablespace On-Offline 테이블스페이스 온라인/오프라인

Tablespace On-Offline 테이블스페이스 온라인/오프라인 2018/11/10 12:06 1/2 Tablespace On-Offline 테이블스페이스온라인 / 오프라인 목차 Tablespace On-Offline 테이블스페이스온라인 / 오프라인... 1 일반테이블스페이스 (TABLESPACE)... 1 일반테이블스페이스생성하기... 1 테이블스페이스조회하기... 1 테이블스페이스에데이터파일 (DATA FILE) 추가

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 05. 파일접근권한관리하기 00. 개요 01. 파일의속성 02. 파일의접근권한 03. 기호를이용한파일접근권한변경 04. 숫자를이용한파일접근권한변경 05. 기본접근권한설정 06. 특수접근권한 파일의속성을이해하고설명할수있다. 접근권한의종류와표기방법을이해하고설명할수있다. 접근권한을바꾸기위해기호모드에서원하는권한을기호로표기할수있다. 접근권한을바꾸기위해숫자모드에서원하는권한을숫자로표기할수있다.

More information

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서 커알못의 커널 탐방기 2015.12 이 세상의 모든 커알못을 위해서 개정 이력 버전/릴리스 0.1 작성일자 2015년 11월 30일 개요 최초 작성 0.2 2015년 12월 1일 보고서 구성 순서 변경 0.3 2015년 12월 3일 오탈자 수정 및 글자 교정 1.0 2015년 12월 7일 내용 추가 1.1 2015년 12월 10일 POC 코드 삽입 및 코드

More information

GNU/Linux 1, GNU/Linux MS-DOS LOADLIN DOS-MBR LILO DOS-MBR LILO... 6

GNU/Linux 1, GNU/Linux MS-DOS LOADLIN DOS-MBR LILO DOS-MBR LILO... 6 GNU/ 1, qkim@pecetrirekr GNU/ 1 1 2 2 3 4 31 MS-DOS 5 32 LOADLIN 5 33 DOS- LILO 6 34 DOS- 6 35 LILO 6 4 7 41 BIOS 7 42 8 43 8 44 8 45 9 46 9 47 2 9 5 X86 GNU/LINUX 10 1 GNU/, GNU/ 2, 3, 1 : V 11, 2001

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

학습영역의 Taxonomy에 기초한 CD-ROM Title의 효과분석

학습영역의 Taxonomy에 기초한 CD-ROM Title의 효과분석 ,, Even the short history of the Web system, the techniques related to the Web system have b een developed rapidly. Yet, the quality of the Webbased application software has not improved. For this reason,

More information

지능정보연구제 16 권제 1 호 2010 년 3 월 (pp.71~92),.,.,., Support Vector Machines,,., KOSPI200.,. * 지능정보연구제 16 권제 1 호 2010 년 3 월

지능정보연구제 16 권제 1 호 2010 년 3 월 (pp.71~92),.,.,., Support Vector Machines,,., KOSPI200.,. * 지능정보연구제 16 권제 1 호 2010 년 3 월 지능정보연구제 16 권제 1 호 2010 년 3 월 (pp.71~92),.,.,., Support Vector Machines,,., 2004 5 2009 12 KOSPI200.,. * 2009. 지능정보연구제 16 권제 1 호 2010 년 3 월 김선웅 안현철 社 1), 28 1, 2009, 4. 1. 지능정보연구제 16 권제 1 호 2010 년 3 월 Support

More information

Chapter #01 Subject

Chapter #01  Subject Device Driver March 24, 2004 Kim, ki-hyeon 목차 1. 인터럽트처리복습 1. 인터럽트복습 입력검출방법 인터럽트방식, 폴링 (polling) 방식 인터럽트서비스등록함수 ( 커널에등록 ) int request_irq(unsigned int irq, void(*handler)(int,void*,struct pt_regs*), unsigned

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

API 매뉴얼

API 매뉴얼 PCI-DIO12 API Programming (Rev 1.0) Windows, Windows2000, Windows NT and Windows XP are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations mentioned

More information

DE1-SoC Board

DE1-SoC Board 실습 1 개발환경 DE1-SoC Board Design Tools - Installation Download & Install Quartus Prime Lite Edition http://www.altera.com/ Quartus Prime (includes Nios II EDS) Nios II Embedded Design Suite (EDS) is automatically

More information

05(533-537) CPLV12-04.hwp

05(533-537) CPLV12-04.hwp 모바일 OS 환경의 사용자 반응성 향상 기법 533 모바일 OS 환경의 사용자 반응성 향상 기법 (Enhancing Interactivity in Mobile Operating Systems) 배선욱 김정한 (Sunwook Bae) 엄영익 (Young Ik Eom) (Junghan Kim) 요 약 사용자 반응성은 컴퓨팅 시스템에서 가장 중요 한 요소 중에 하나이고,

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

Microsoft PowerPoint 웹 연동 기술.pptx

Microsoft PowerPoint 웹 연동 기술.pptx 웹프로그래밍및실습 ( g & Practice) 문양세강원대학교 IT 대학컴퓨터과학전공 URL 분석 (1/2) URL (Uniform Resource Locator) 프로토콜, 호스트, 포트, 경로, 비밀번호, User 등의정보를포함 예. http://kim:3759@www.hostname.com:80/doc/index.html URL 을속성별로분리하고자할경우

More information

Observational Determinism for Concurrent Program Security

Observational Determinism for  Concurrent Program Security 웹응용프로그램보안취약성 분석기구현 소프트웨어무결점센터 Workshop 2010. 8. 25 한국항공대학교, 안준선 1 소개 관련연구 Outline Input Validation Vulnerability 연구내용 Abstract Domain for Input Validation Implementation of Vulnerability Analyzer 기존연구

More information

KEY 디바이스 드라이버

KEY 디바이스 드라이버 KEY 디바이스드라이버 임베디드시스템소프트웨어 I (http://et.smu.ac.kr et.smu.ac.kr) 차례 GPIO 및 Control Registers KEY 하드웨어구성 KEY Driver 프로그램 key-driver.c 시험응용프로그램 key-app.c KEY 디바이스드라이버 11-2 GPIO(General-Purpose Purpose I/O)

More information

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

실험 5

실험 5 실험. apacitor 및 Inductor 의특성 교류회로 apacitor 의 apacitance 측정 본실험에서는 capacitor를포함하는회로에교류 (A) 전원이연결되어있을때, 정상상태 (steady state) 에서 capacitor의전압과전류의관계를알아본다. apacitance의값이 인 capacitor의전류와전압의관계는다음식과같다. i dv = dt

More information

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 Eclipse (IDE) JDK Android SDK with ADT IDE: Integrated Development Environment JDK: Java Development Kit (Java SDK) ADT: Android Development Tools 2 JDK 설치 Eclipse

More information

Microsoft PowerPoint - 6.pptx

Microsoft PowerPoint - 6.pptx DB 암호화업데이트 2011. 3. 15 KIM SUNGJIN ( 주 ) 비에이솔루션즈 1 IBM iseries 암호화구현방안 목차 목 차 정부시책및방향 제정안특이사항 기술적보호조치기준고시 암호화구현방안 암호화적용구조 DB 암호화 Performance Test 결과 암호화적용구조제안 [ 하이브리드방식 ] 2 IBM iseries 암호화구현방안 정부시책및방향

More information

PCServerMgmt7

PCServerMgmt7 Web Windows NT/2000 Server DP&NM Lab 1 Contents 2 Windows NT Service Provider Management Application Web UI 3 . PC,, Client/Server Network 4 (1),,, PC Mainframe PC Backbone Server TCP/IP DCS PLC Network

More information

슬라이드 1

슬라이드 1 / 유닉스시스템개요 / 파일 / 프로세스 01 File Descriptor file file descriptor file type unix 에서의파일은단지바이트들의나열임 operating system 은파일에어떤포맷도부과하지않음 파일의내용은바이트단위로주소를줄수있음 file descriptor 는 0 이나양수임 file 은 open 이나 creat 로 file

More information

ISP and CodeVisionAVR C Compiler.hwp

ISP and CodeVisionAVR C Compiler.hwp USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler http://www.avrmall.com/ November 12, 2007 Copyright (c) 2003-2008 All Rights Reserved. USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler

More information

Level 학습 성과 내용 1수준 (이해) 1. 기본적인 Unix 이용법(명령어 또는 tool 활용)을 습득한다. 2. Unix 운영체계 설치을 익힌다. 모듈 학습성과 2수준 (응용) 1. Unix 가상화 및 이중화 개념을 이해한다. 2. 하드디스크의 논리적 구성 능력

Level 학습 성과 내용 1수준 (이해) 1. 기본적인 Unix 이용법(명령어 또는 tool 활용)을 습득한다. 2. Unix 운영체계 설치을 익힌다. 모듈 학습성과 2수준 (응용) 1. Unix 가상화 및 이중화 개념을 이해한다. 2. 하드디스크의 논리적 구성 능력 CLD 모듈 계획서 Unix Systems 운영관리기법 교과목 코드 모듈명 Unix Systems Administration 코디네이터 김두연 개설 시기 2015. 5 th term 학점/시수 3 수강 대상 1~3학년 분반 POL Type TOL Type SOS Type 유형 소프트웨어 개발 컴퓨팅 플랫폼 관리 개발 역량 분석/설계 프로그래밍

More information

À¯Çõ Ãâ·Â

À¯Çõ Ãâ·Â Network Virtualization Techniques for Future Internet Services in cloud computing are based on network virtualization that provides both flexibility and network isolation. Network virtualization consists

More information

[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수

[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수있다. 학습내용 1 : 현재디렉토리확인 1. 홈디렉토리 - 로그인을한후, 사용자가기본으로놓이게되는디렉토리위치를홈디렉토리 (home directory)

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 공개 SW 솔루션설치 & 활용가이드 시스템 SW > 가상화 제대로배워보자 How to Use Open Source Software Open Source Software Installation & Application Guide CONTENTS 1. 개요 2. 기능요약 3. 실행환경 4. 설치및실행 5. 기능소개 6. 활용예제 7. FAQ 8. 용어정리 - 3-1.

More information

네이버블로그 :: 포스트내용 Print VMw are 에서 Linux 설치하기 (Centos 6.3, 리눅스 ) Linux 2013/02/23 22:52 /carrena/ VMware 에서 l

네이버블로그 :: 포스트내용 Print VMw are 에서 Linux 설치하기 (Centos 6.3, 리눅스 ) Linux 2013/02/23 22:52   /carrena/ VMware 에서 l VMw are 에서 Linux 설치하기 (Centos 6.3, 리눅스 ) Linux 2013/02/23 22:52 http://blog.naver.com /carrena/50163909320 VMware 에서 linux 설치하기 linux 는다양한버전이존재합니다. OS 자체가오픈소스이기때문에 redhat fedora, 우분투, centos 등등 100 가지가넘는버전이존재함

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 KeyPad Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착 4x4 Keypad 2 KeyPad 를제어하기위하여 FPGA 내부에 KeyPad controller 가구현 KeyPad controller 16bit 로구성된

More information

Cloud Friendly System Architecture

Cloud Friendly System Architecture -Service Clients Administrator 1. -Service 구성도 : ( 좌측참고 ) LB(LoadBlancer) 2. -Service 개요 ucloud Virtual Router F/W Monitoring 개념 특징 적용가능분야 Server, WAS, DB 로구성되어 web service 를클라우드환경에서제공하기위한 service architecture

More information

À±½Â¿í Ãâ·Â

À±½Â¿í Ãâ·Â Representation, Encoding and Intermediate View Interpolation Methods for Multi-view Video Using Layered Depth Images The multi-view video is a collection of multiple videos, capturing the same scene at

More information

°í¼®ÁÖ Ãâ·Â

°í¼®ÁÖ Ãâ·Â Performance Optimization of SCTP in Wireless Internet Environments The existing works on Stream Control Transmission Protocol (SCTP) was focused on the fixed network environment. However, the number of

More information

로거 자료실

로거 자료실 redirection 매뉴얼 ( 개발자용 ) V1.5 Copyright 2002-2014 BizSpring Inc. All Rights Reserved. 본문서에대한저작권은 비즈스프링 에있습니다. - 1 - 목차 01 HTTP 표준 redirect 사용... 3 1.1 HTTP 표준 redirect 예시... 3 1.2 redirect 현상이여러번일어날경우예시...

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 데이터베이스및설계 Chap 1. 데이터베이스환경 (#2/2) 2013.03.04. 오병우 컴퓨터공학과 Database 용어 " 데이타베이스 용어의기원 1963.6 제 1 차 SDC 심포지움 컴퓨터중심의데이타베이스개발과관리 Development and Management of a Computer-centered Data Base 자기테이프장치에저장된데이터파일을의미

More information

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - CSharp-10-예외처리 10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.

More information

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 Outline n n n n n n 보드개요보드연결필수패키지, Tool-Chain 설치 Kernel, file system build Fastboot 및 Tera Term설치 Kernel, file system 이미지전송및설치 - 2 - Young-Jin Kim X-Hyper320TKU

More information

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE ALTIBASE HDB 6.3.1.10.1 Patch Notes 목차 BUG-45710 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG-45730 ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG-45760 ROLLUP/CUBE 절을포함하는질의는 SUBQUERY REMOVAL 변환을수행하지않도록수정합니다....

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

Microsoft Word - PLC제어응용-2차시.doc

Microsoft Word - PLC제어응용-2차시.doc 과정명 PLC 제어응용차시명 2 차시. 접점명령 학습목표 1. 연산개시명령 (LOAD, LOAD NOT) 에대하여설명할수있다. 2. 직렬접속명령 (AND, AND NOT) 에대하여설명할수있다. 3. 병렬접속명령 (OR, OR NOT) 에대하여설명할수있다. 4.PLC의접점명령을가지고간단한프로그램을작성할수있다. 학습내용 1. 연산개시명령 1) 연산개시명령 (LOAD,

More information

임베디드시스템설계강의자료 6 system call 1/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

임베디드시스템설계강의자료 6 system call 1/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 6 system call 1/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 시스템호출개요 리눅스에서는사용자공간과커널공간을구분 사용자프로그램은사용자모드, 운영체제는커널모드에서수행 커널공간에대한접근은커널 ( 특권, priviledged) 모드에서가능 컴퓨팅자원 (CPU, memory, I/O 등 ) 을안전하게보호 커널수행을안전하게유지

More information

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for 2003 Development of the Software Generation Method using Model Driven Software Engineering Tool,,,,, Hoon-Seon Chang, Jae-Cheon Jung, Jae-Hack Kim Hee-Hwan Han, Do-Yeon Kim, Young-Woo Chang Wang Sik, Moon

More information

슬라이드 1

슬라이드 1 / 임베디드시스템개요 / 임베디드운영체제 / 디바이스드라이버 01 Linux System Architecture Application Area Application System Call Interface BSD Socket Virtual File System INET(AF_INET) Kernel Area Buffer Cache Network Subsystem

More information

휠세미나3 ver0.4

휠세미나3 ver0.4 andromeda@sparcs:/$ ls -al dev/sda* brw-rw---- 1 root disk 8, 0 2014-06-09 18:43 dev/sda brw-rw---- 1 root disk 8, 1 2014-06-09 18:43 dev/sda1 brw-rw---- 1 root disk 8, 2 2014-06-09 18:43 dev/sda2 andromeda@sparcs:/$

More information

정보기술응용학회 발표

정보기술응용학회 발표 , hsh@bhknuackr, trademark21@koreacom 1370, +82-53-950-5440 - 476 - :,, VOC,, CBML - Abstract -,, VOC VOC VOC - 477 - - 478 - Cost- Center [2] VOC VOC, ( ) VOC - 479 - IT [7] Knowledge / Information Management

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 데이터베이스및설계 Chap 2. 데이터베이스관리시스템 2013.03.11. 오병우 컴퓨터공학과 Inconsistency of file system File System Each application has its own private files Widely dispersed and difficult to control File 중심자료처리시스템의한계 i. 응용프로그램의논리적파일구조는직접물리적파일구조로구현

More information

DBMS & SQL Server Installation Database Laboratory

DBMS & SQL Server Installation Database Laboratory DBMS & 조교 _ 최윤영 } 데이터베이스연구실 (1314 호 ) } 문의사항은 cyy@hallym.ac.kr } 과제제출은 dbcyy1@gmail.com } 수업공지사항및자료는모두홈페이지에서확인 } dblab.hallym.ac.kr } 홈페이지 ID: 학번 } 홈페이지 PW:s123 2 차례 } } 설치전점검사항 } 설치단계별설명 3 Hallym Univ.

More information

adfasdfasfdasfasfadf

adfasdfasfdasfasfadf C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.

More information

PowerPoint Presentation

PowerPoint Presentation 오에스아이소프트코리아세미나세미나 2012 Copyright Copyright 2012 OSIsoft, 2012 OSIsoft, LLC. LLC. PI Coresight and Mobility Presented by Daniel Kim REGIONAL 세미나 SEMINAR 세미나 2012 2012 2 Copyright Copyright 2012 OSIsoft,

More information

시스템 사용자 계정 관리

시스템 사용자 계정 관리 파일시스템에유용한명령어 파일시스템에대한정보를보여주는명령어 df Disk Free 설명 파일시스템에할당된전체용량, 사용한용량, 사용가능한용량, 현재파일시스템사용률, 파일시스템의마운트포인트정보를보여주며일반사용자도명령어사용이가능 사용방법 # df [option] 옵션 설명 -a 모든파일시스템정보출력 -i 블록사용정보대신 inode 사용정보출력 -k 단위를 1KB

More information

3. 다음은카르노맵의표이다. 논리식을간략화한것은? < 나 > 4. 다음카르노맵을간략화시킨결과는? < >

3. 다음은카르노맵의표이다. 논리식을간략화한것은? < 나 > 4. 다음카르노맵을간략화시킨결과는? < > . 변수의수 ( 數 ) 가 3 이라면카르노맵에서몇개의칸이요구되는가? 2칸 나 4칸 다 6칸 8칸 < > 2. 다음진리표의카르노맵을작성한것중옳은것은? < 나 > 다 나 입력출력 Y - 2 - 3. 다음은카르노맵의표이다. 논리식을간략화한것은? < 나 > 4. 다음카르노맵을간략화시킨결과는? < > 2 2 2 2 2 2 2-3 - 5. 다음진리표를간략히한결과

More information

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드] 리눅스 설치 Vmware를 이용한 Fedora Core 8 설치 소프트웨어실습 1 Contents 가상 머신 실습 환경 구축 Fedora Core 8 설치 가상 머신 가상 머신 가상 머신의 개념 VMware의 설치 VMware : 가상 머신 생성 VMware의 특징 실습 환경 구축 실습 환경 구축 Fedora Core 8 설치 가상 머신의 개념 가상 머신 (Virtual

More information

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

Sequences with Low Correlation

Sequences with Low Correlation 레일리페이딩채널에서의 DPC 부호의성능분석 * 김준성, * 신민호, * 송홍엽 00 년 7 월 1 일 * 연세대학교전기전자공학과부호및정보이론연구실 발표순서 서론 복호화방법 R-BP 알고리즘 UMP-BP 알고리즘 Normalied-BP 알고리즘 무상관레일리페이딩채널에서의표준화인수 모의실험결과및고찰 결론 Codig ad Iformatio Theory ab /15

More information

Chap 6: Graphs

Chap 6: Graphs 그래프표현법 인접행렬 (Adjacency Matrix) 인접리스트 (Adjacency List) 인접다중리스트 (Adjacency Multilist) 6 장. 그래프 (Page ) 인접행렬 (Adjacency Matrix) n 개의 vertex 를갖는그래프 G 의인접행렬의구성 A[n][n] (u, v) E(G) 이면, A[u][v] = Otherwise, A[u][v]

More information

<31325FB1E8B0E6BCBA2E687770>

<31325FB1E8B0E6BCBA2E687770> 88 / 한국전산유체공학회지 제15권, 제1호, pp.88-94, 2010. 3 관내 유동 해석을 위한 웹기반 자바 프로그램 개발 김 경 성, 1 박 종 천 *2 DEVELOPMENT OF WEB-BASED JAVA PROGRAM FOR NUMERICAL ANALYSIS OF PIPE FLOW K.S. Kim 1 and J.C. Park *2 In general,

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할 저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할수없습니다. 변경금지. 귀하는이저작물을개작, 변형또는가공할수없습니다. 귀하는, 이저작물의재이용이나배포의경우,

More information

Microsoft PowerPoint - 03-Development-Environment-2.ppt

Microsoft PowerPoint - 03-Development-Environment-2.ppt 개발환경 2 임베디드시스템소프트웨어 I 차례 부트로더의기능, 컴파일방법 커널의기능, 컴파일방법 파일시스템의기능, 생성방법 Host-KIT 네트워크연결방법 (Bootp, TFTP, NFS) 개발환경 2 2 부트로더의기능 하드웨어초기화 CPU clock, Memory Timing, Interrupt, UART, GPIO 등을초기화 커널로드 커널이미지를 flash

More information

ICT À¶ÇÕÃÖÁ¾

ICT À¶ÇÕÃÖÁ¾ Ver. 2012 T TA-11104-SA 4 21 21 42 65 91 103 124 140 161 187 Ver. 2012 ICT Standardization Strategy Map 4 Ver. 2012 Ver. 2012 5 ICT Standardization Strategy Map 6 Ver. 2012 Ver. 2012 7 ICT Standardization

More information

<353420B1C7B9CCB6F52DC1F5B0ADC7F6BDC7C0BB20C0CCBFEBC7D120BEC6B5BFB1B3C0B0C7C1B7CEB1D7B7A52E687770>

<353420B1C7B9CCB6F52DC1F5B0ADC7F6BDC7C0BB20C0CCBFEBC7D120BEC6B5BFB1B3C0B0C7C1B7CEB1D7B7A52E687770> Journal of the Korea Academia-Industrial cooperation Society Vol. 13, No. 2 pp. 866-871, 2012 http://dx.doi.org/10.5762/kais.2012.13.2.866 증강현실을 이용한 아동교육프로그램 모델제안 권미란 1*, 김정일 2 1 나사렛대학교 아동학과, 2 한세대학교 e-비즈니스학과

More information

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Nov.; 26(11),

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Nov.; 26(11), THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. 2015 Nov.; 26(11), 985991. http://dx.doi.org/10.5515/kjkiees.2015.26.11.985 ISSN 1226-3133 (Print)ISSN 2288-226X (Online) Analysis

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

BMP 파일 처리

BMP 파일 처리 BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)

More information

Microsoft Word - [2017SMA][T8]OOPT_Stage_2040 ver2.docx

Microsoft Word - [2017SMA][T8]OOPT_Stage_2040 ver2.docx OOPT Stage 2040 - Design Feesual CPT Tool Project Team T8 Date 2017-05-24 T8 Team Information 201211347 박성근 201211376 임제현 201411270 김태홍 2017 Team 8 1 Table of Contents 1. Activity 2041. Design Real Use

More information

untitled

untitled 시스템소프트웨어 : 운영체제, 컴파일러, 어셈블러, 링커, 로더, 프로그래밍도구등 소프트웨어 응용소프트웨어 : 워드프로세서, 스프레드쉬트, 그래픽프로그램, 미디어재생기등 1 n ( x + x +... + ) 1 2 x n 00001111 10111111 01000101 11111000 00001111 10111111 01001101 11111000

More information

Microsoft PowerPoint - 26.pptx

Microsoft PowerPoint - 26.pptx 이산수학 () 관계와그특성 (Relations and Its Properties) 2011년봄학기 강원대학교컴퓨터과학전공문양세 Binary Relations ( 이진관계 ) Let A, B be any two sets. A binary relation R from A to B, written R:A B, is a subset of A B. (A 에서 B 로의이진관계

More information

경영학석사학위논문 투자발전경로이론의가설검증 - 한국사례의패널데이타분석 년 8 월 서울대학교대학원 경영학과국제경영학전공 김주형

경영학석사학위논문 투자발전경로이론의가설검증 - 한국사례의패널데이타분석 년 8 월 서울대학교대학원 경영학과국제경영학전공 김주형 저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할수없습니다. 변경금지. 귀하는이저작물을개작, 변형또는가공할수없습니다. 귀하는, 이저작물의재이용이나배포의경우,

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 NuPIC 2013 2013.11.07~11.08 충남예산 FPGA 기반제어기를위한통합 SW 개발환경구축 유준범 Dependable Software Laboratory 건국대학교 2013.11.08 발표내용 연구동기 효과적인 FPGA 기반제어기를위한통합 SW 개발환경 연구진행현황 개발프로세스 FBD Editor FBDtoVerilog 향후연구계획 맺음말 2

More information

Chapter ...

Chapter ... Chapter 4 프로세서 (4.9절, 4.12절, 4.13절) Contents 4.1 소개 4.2 논리 설계 기초 4.3 데이터패스 설계 4.4 단순한 구현 방법 4.5 파이프라이닝 개요*** 4.6 파이프라이닝 데이터패스 및 제어*** 4.7 데이터 해저드: 포워딩 vs. 스톨링*** 4.8 제어 해저드*** 4.9 예외 처리*** 4.10 명령어 수준

More information

(72) 발명자 이동희 서울 동작구 여의대방로44길 10, 101동 802호 (대 방동, 대림아파트) 노삼혁 서울 중구 정동길 21-31, B동 404호 (정동, 정동상 림원) 이 발명을 지원한 국가연구개발사업 과제고유번호 2010-0025282 부처명 교육과학기술부

(72) 발명자 이동희 서울 동작구 여의대방로44길 10, 101동 802호 (대 방동, 대림아파트) 노삼혁 서울 중구 정동길 21-31, B동 404호 (정동, 정동상 림원) 이 발명을 지원한 국가연구개발사업 과제고유번호 2010-0025282 부처명 교육과학기술부 (19) 대한민국특허청(KR) (12) 등록특허공보(B1) (45) 공고일자 2015년01월13일 (11) 등록번호 10-1480424 (24) 등록일자 2015년01월02일 (51) 국제특허분류(Int. Cl.) G06F 12/00 (2006.01) G11C 16/00 (2006.01) (21) 출원번호 10-2013-0023977 (22) 출원일자 2013년03월06일

More information

Microsoft PowerPoint - Flash Memory Based Bottom Up Analysis for Smart Phone System _Final [호환 모드]

Microsoft PowerPoint - Flash  Memory Based Bottom Up Analysis for Smart Phone System _Final [호환 모드] Flash Memory Based Bottom Up Analysis for Smart Phone System 목 차 1. Background 2. Controller & Driver Layer 3. File System Layer 4. DB Layer 5. Summary 2012. 10. 16 LG Electronics / Mobile Communications

More information

DBPIA-NURIMEDIA

DBPIA-NURIMEDIA 한국소음진동공학회 2015추계학술대회논문집년 Study of Noise Pattern and Psycho-acoustics Characteristic of Household Refrigerator * * ** ** Kyung-Soo Kong, Dae-Sik Shin, Weui-Bong Jeong, Tae-Hoon Kim and Se-Jin Ahn Key Words

More information

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 개발환경구조및설치순서 JDK 설치 Eclipse 설치 안드로이드 SDK 설치 ADT(Androd Development Tools) 설치 AVD(Android Virtual Device) 생성 Hello Android! 2 Eclipse (IDE) JDK Android SDK with

More information

서현수

서현수 Introduction to TIZEN SDK UI Builder S-Core 서현수 2015.10.28 CONTENTS TIZEN APP 이란? TIZEN SDK UI Builder 소개 TIZEN APP 개발방법 UI Builder 기능 UI Builder 사용방법 실전, TIZEN APP 개발시작하기 마침 TIZEN APP? TIZEN APP 이란? Mobile,

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Text-LCD Device Control - Device driver Jo, Heeseung M3 모듈에장착되어있는 Tedxt LCD 장치를제어하는 App 을개발 TextLCD 는영문자와숫자일본어, 특수문자를표현하는데사용되는디바이스 HBE-SM5-S4210 의 TextLCD 는 16 문자 *2 라인을 Display 할수있으며, 이 TextLCD 를제어하기위하여

More information

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자 SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전

More information

1_12-53(김동희)_.hwp

1_12-53(김동희)_.hwp 본논문은 2012년전력전자학술대회우수추천논문임 Cascaded BuckBoost 컨버터를 이용한 태양광 모듈 집적형 저전압 배터리 충전 장치 개발 472 강압이 가능한 토폴로지를 이용한 연구도 진행되었지만 제어 알고리즘의 용의성과 구조의 간단함 때문에 BuckBoost 컨버터 또는 Sepic 컨버터를 이용하여 연구 가 진행되었다[10][13]. 태양광 발전

More information

쉽게배우는알고리즘 6장. 해시테이블 테이블 Hash Table

쉽게배우는알고리즘 6장. 해시테이블 테이블 Hash Table 쉽게배우는알고리즘 6장. 해시테이블 테이블 Hash Table http://academy.hanb.co.kr 6장. 해시테이블 테이블 Hash Table 사실을많이아는것보다는이론적틀이중요하고, 기억력보다는생각하는법이더중요하다. - 제임스왓슨 - 2 - 학습목표 해시테이블의발생동기를이해한다. 해시테이블의원리를이해한다. 해시함수설계원리를이해한다. 충돌해결방법들과이들의장단점을이해한다.

More information

SANsymphony-V

SANsymphony-V 국내대표적인구축사례 (KR) XXXX공사(공공) 2013년 12월 도입 센터 이전에 따른 스토리지가상화 통합 및 이기종통합 이기종 스토리지 (무중단이중하) 무중단 서비스 확보 24시간 운영 체계의 고가용 확보 스토리지 인프라의 유연한 구성 및 통합 환경 구축 업무서버 Unix 20대 업무서버 V 58대 CIe SSD(Fusion IO 3.2TB) ㅇㅇㅇㅇㅇㅇ

More information

Mango220 Android How to compile and Transfer image to Target

Mango220 Android How to compile and Transfer image to Target Mango220 Android How to compile and Transfer image to Target http://www.mangoboard.com/ http://cafe.naver.com/embeddedcrazyboys Crazy Embedded Laboratory www.mangoboard.com cafe.naver.com/embeddedcrazyboys

More information