{"id":126,"date":"2007-05-02T19:21:12","date_gmt":"2007-05-02T19:21:12","guid":{"rendered":"https:\/\/driverentry.com.br\/en\/2007\/05\/02\/how-was-it-in-boston\/"},"modified":"2026-07-25T14:24:38","modified_gmt":"2026-07-25T14:24:38","slug":"how-was-it-in-boston","status":"publish","type":"post","link":"https:\/\/driverentry.com.br\/en\/2007\/05\/02\/how-was-it-in-boston\/","title":{"rendered":"How was it in Boston?"},"content":{"rendered":"<div style=\"text-align: right;\"><a href=\"https:\/\/driverentry.com.br\/2007\/05\/02\/e-ai-deu-boston\/\"><img loading=\"lazy\" decoding=\"async\" title=\"Em Portugu\u00eas\" src=\"https:\/\/driverentry.com.br\/en\/wp-content\/uploads\/2026\/07\/br.gif\" alt=\"\" width=\"21\" height=\"19\" \/><\/a><\/div>\n<p>As I commented in my <a href=\"https:\/\/driverentry.com.br\/en\/2007\/04\/09\/who-says-itd-be-easy\/\">last post<\/a>, I attended the seminar for Windows File System driver development produced by OSR in Boston. In this post, I will talk a bit about how things went there.<\/p>\n<p><img decoding=\"async\" style=\"float: right; margin: 0px 10px;\" src=\"https:\/\/driverentry.com.br\/en\/wp-content\/uploads\/2026\/07\/FSBOOK97.jpg\" border=\"0\" alt=\"\" \/><\/p>\n<p>To begin with, none other than Tony Mason to give this seminar that was very, very helpful. For those who are not familiar, Tony Mason is one of the four OSR partners. He has been working with drivers over 20 years, and particularly with File System drivers since, 1989. He began working with File Systems for Windows NT in 1993, but was already developing for Unix File Systems before that. Tony Mason is also the person responsible for reviewing and updating <a href=\"http:\/\/www.amazon.com\/Windows-System-Internals-Classic-Reprints\/dp\/0976717514\/ref=pd_bbs_sr_1\/104-0689272-4542356?ie=UTF8&amp;s=books&amp;qid=1178145701&amp;sr=8-1\">Windows NT File System Internals<\/a> book\u00a0contents by Rajeev Nagar, written and published in 1997. This book is now a reference in the subject and its revised edition, which still has no release date, will bring new issues that have been implemented in Windows 2000, XP and Vista. I have also commented a bit about this in <a href=\"https:\/\/driverentry.com.br\/en\/2007\/02\/28\/synchronism-x-performance\/\">this post<\/a>.<\/p>\n<p>You people can call me a &#8220;super fan&#8221;, but it is nice to see how it just takes implementation details of File Systems Drivers (FSD) and File Systems Filters (FSF). I obviously asked him to sign up my book copy. Now I can keep that autograph on my calendar next to my first absorbent packaging.\u00a0I&#8217;d love to show here, but it is about his signature, I don&#8217;t think it would be a good idea to put it on the Internet.<\/p>\n<p>We were fifteen students in the class, where twelve were Americans, one Romanian, one Canadian and one Brazilian. I had the opportunity to be the first Brazilian to take this course from OSR. There were people of various ages. The youngest was about 25 years-old, whereas the oldest had his hair completely white. I imagine that the class average age was about to 40-years old. I&#8217;m comfortable with the certainty that, in this development area, there is no risk of being replaced by kids who just got out of college, just by lower prices of labor. Tell me the truth! How many 40 years-old programmers do you know? I said programmers, not managers. Well, fortunately the driver development will still require a lot of experience.<\/p>\n<p><img decoding=\"async\" style=\"float: right; margin: 0px 10px;\" src=\"https:\/\/driverentry.com.br\/en\/wp-content\/uploads\/2026\/07\/FSD-Seminar.jpg\" border=\"0\" alt=\"\" \/><\/p>\n<p>It&#8217;s hard to believe, but a woman (about 43 years-old and really looking like a woman!) was also part of the group. It is not sexism. You know how it is unusual to see a woman (who does not look like a man) programming, but programming kernel it is even more unusual. Another specimen of this rare species is Molly Brown, a programmer responsible for the <em>NT Cache Manager<\/em>. Check <a href=\"http:\/\/channel9.msdn.com\/Showpost.aspx?postid=59936\">here<\/a>.<\/p>\n<p>As it might be expected, the seminar rhythm was accelerated. After all, the content was quite dense. We had an overview of <em>IoManager<\/em>, virtual memory, multi-threaded, multi-processing and Object Manager just to begin with. These issues are still operating system\u00a0part only and not specifically for <strong>FSD<\/strong>. We started to see <em>File System<\/em> contents itself at the middle of the second day. All content had been well distributed and for each point explained, we received comments focusing on the <strong>FSD<\/strong>, <strong>FSF<\/strong> and <strong>Redirectors<\/strong>. Interesting to see how each item was discussed, getting comments on the implementation differences among different Windows versions.<\/p>\n<p>In our group, there was at least one person who would develop a <em>Redirector<\/em>, one that would develop a <em>File System<\/em>, but the public in\u00a0general would improve their knowledge to develop anti-virus, anti-malware, access\u00a0control to systems and data replication.\u00a0All implemented as <strong>FSF<\/strong>.<\/p>\n<p>Data replication?\u00a0Would not it be better to develop data replication with a disk filter? Yeah, I think so either.\u00a0The <em>File System<\/em> interface\u00a0is much more complex than the disk interfaces, but try to explain that to that guy! My sincere wishes of good luck to him.<\/p>\n<p><img decoding=\"async\" style=\"float: right; margin: 0px 10px;\" src=\"https:\/\/driverentry.com.br\/en\/wp-content\/uploads\/2026\/07\/MalaOSR.jpg\" border=\"0\" alt=\"\" \/><\/p>\n<p>I can say that the student&#8217;s level was medium.\u00a0Well, I&#8217;ve read the book from Rajeev a few times and I already had the opportunity to work with <strong>FSF<\/strong>.\u00a0I was aware of I would not waste this opportunity to be there learning things that a book could teach me, but part of the group didn&#8217;t think the same.\u00a0Maybe they were thinking it would be easy.\u00a0It was funny when we had our coffeebreaks and they sed to commente that the matter was very thorough and very detailed.\u00a0No doubt it was!\u00a0Some of them never had contact with <strong>FSD<\/strong> before.\u00a0I can say who already had contact with the subject and was able to enjoy the details of interaction between the <strong>FSD<\/strong> and other system components such as the Cache Manager, Memory Manager or even the LAN Manager Server, really enjoyned the course.\u00a0There were some people who got stuck on comments about <a href=\"http:\/\/msdn2.microsoft.com\/en-us\/library\/aa490530.aspx\">IoMarkIrpPending<\/a> and <em>Completion Routines<\/em>.\u00a0Seriously? I&#8217;m saying this issue is trivial, but you should not leave to learn this in a <strong>FSD<\/strong> seminar.<\/p>\n<p>There were very good people there, too.\u00a0Questions and discussions made Tony open <strong>FastFAT<\/strong>, <strong>CDFS<\/strong> or <strong>RDR<\/strong> sources\u00a0to show how things would be implemented in the real world. And I thought that just the reference considered source\u00a0samples as part of the documentation. Have you already searched for some information about <strong>IRP_MN_MDL<\/strong> in reference? Well, I was able to find a clue in the part that talk that <a href=\"http:\/\/msdn2.microsoft.com\/en-us\/library\/ms806158.aspx\">IRP_MJ_READ<\/a> was mentioned, where they listed this, among the other options and said:<\/p>\n<blockquote>\n<p>&#8220;For more information about handling this IRP, study the CDFS and FASTFAT samples that are included in the Windows Driver Kit (WDK).&#8221;<\/p>\n<\/blockquote>\n<p>According to Tony, developing an <strong>FSD<\/strong> requires much knowledge and experience, but unlikely what many people could think, developing filter is even worse.\u00a0All begin with the false impression that it is necessary to change only a small part of the filter sample from WDK (SFilter), that everything would be okay.\u00a0But a side effect will require just one more change here, another there, and when you realize we have a complexity greater than a <strong>FSD <\/strong>project.\u00a0A strong argument he used was that, when you implement an <strong>FSD<\/strong>, you know everything what may happen, but when you develop a filter, you are at the interface of two black boxes, the operating system and FSD; and any change in behavior, generated by\u00a0your filter, can generate the most bizarre, intriguing and unexpected situations to be debugged in both black boxes.<\/p>\n<div style=\"text-align: center;\"><img decoding=\"async\" src=\"https:\/\/driverentry.com.br\/en\/wp-content\/uploads\/2026\/07\/MolaOSR.jpg\" alt=\"\" \/><\/div>\n<p>The OSR gave us a binder with all PPTs used in the seminar; also, it gave us an OSR\u00a0portmanteau, a <em>NT Insider<\/em> edition and to some people&#8217;s surprise a crazy spring.\u00a0A spring crazy?\u00a0Well, in summary it is a spring, but a crazy one.<\/p>\n<p>If you want to know more about <a href=\"http:\/\/en.wikipedia.org\/wiki\/Installable_File_System\">File System Drivers<\/a>, an excellent source of information is the OSR\u00a0mailing lists.\u00a0It&#8217;s worth takeing a look.\u00a0Obviously, I will comment more on this subject here.<\/p>\n<p>See you next time! \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As I commented in my last post, I attended the seminar for Windows File System driver development produced by OSR in Boston. In this post, I will talk a bit about how things went there. To begin with, none other than Tony Mason to give this seminar that was very, very helpful. For those who [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"pagelayer_contact_templates":[],"_pagelayer_content":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-126","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/driverentry.com.br\/en\/wp-json\/wp\/v2\/posts\/126","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/driverentry.com.br\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/driverentry.com.br\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/driverentry.com.br\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/driverentry.com.br\/en\/wp-json\/wp\/v2\/comments?post=126"}],"version-history":[{"count":1,"href":"https:\/\/driverentry.com.br\/en\/wp-json\/wp\/v2\/posts\/126\/revisions"}],"predecessor-version":[{"id":127,"href":"https:\/\/driverentry.com.br\/en\/wp-json\/wp\/v2\/posts\/126\/revisions\/127"}],"wp:attachment":[{"href":"https:\/\/driverentry.com.br\/en\/wp-json\/wp\/v2\/media?parent=126"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/driverentry.com.br\/en\/wp-json\/wp\/v2\/categories?post=126"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/driverentry.com.br\/en\/wp-json\/wp\/v2\/tags?post=126"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}