[{"data":1,"prerenderedAt":507},["ShallowReactive",2],{"project-44226879":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":35,"aspects":36,"strip":46,"post_text":49,"what":50,"said":75,"maker_in_thread":176,"shape":185,"grid":190,"attempts":469,"same_week":470,"maker_shows":43,"maker_hidden":499,"reader_version":500,"card":501},"44226879","Munal OS","a graphical experimental OS with WASM sandboxing","title","Show HN: Munal OS: a graphical experimental OS with WASM sandboxing","https:\u002F\u002Fgithub.com\u002FAskannz\u002Fmunal-os","github.com","Gazoche",1749490469,2025,313,118,169,3837,5,"legend","infrastructure","experimental operating system","other",[24,25,26,27,28],"operating system","webassembly","unikernel","rust","wasm sandboxing","loved",0.384,{"positive":32,"neutral":33,"mixed":34,"critical":34},18,27,2,49,{"execution":37,"performance":39,"idea":40,"design":42,"privacy":44,"docs":45},{"positive":38,"critical":38},0,{"positive":38,"critical":38},{"positive":41,"critical":38},7,{"positive":43,"critical":43},1,{"positive":43,"critical":43},{"positive":38,"critical":38},[47,38,38,38,38,47,47,18,47,47,38,34,47,47,47,47,47,47,18,18,38,38,38,38,38,43,47,47,18,38,38,18,38,18,18,47,18,18,18,48],3,4,"Hello HN!\n\nShowing off the first version of Munal OS, an experimental operating system I have been writing in Rust on and off for the past few years.\n\nhttps:\u002F\u002Fgithub.com\u002FAskannz\u002Fmunal-os\n\nIt's an unikernel design that is compiled as a single EFI binary and does not use virtual address spaces for process isolation. Instead, applications are compiled to WASM and run inside of an embedded WASM engine.\n\nOther features:\n\n* Fully graphical interface in HD resolution with mouse and keyboard support\n\n* Desktop shell with window manager and contextual radial menus\n\n* PCI and VirtIO drivers\n\n* Ethernet ",{"problem":51,"audience":51,"pricing":51,"motivation":51,"time_to_build":52,"stack":58,"openness":72,"stage":73,"team_size":74},null,{"value":53,"source":54,"evidence":55},"past few years, on and off","maker",[56],{"id":57},"post",[59,63],{"value":60,"source":54,"evidence":61},"Rust",[62],{"id":57},{"value":64,"source":54,"evidence":65},"WebAssembly (Wasmi engine)",[66,69],{"id":67,"by":11,"text":68},"44227819","Thanks! I tried to get wasmtime working but it was too much of a pain to compile in no_std mode, so I settled for wasmi instead.",{"id":70,"by":11,"text":71},"44229291","Thanks again for making Wasmi :) > It might interest you that newer versions of Wasmi (v0.45+) extended the resumable function call feature to make it possible to yield upon…","open_source","prototype","unknown",{"praise":76,"objections":115,"requests":136,"questions":151,"alternatives":160},[77,97,104],{"value":78,"source":79,"evidence":80},"Impressive and inspiring unikernel design with WASM sandboxing","commenter",[81,85,89,93],{"id":82,"by":83,"text":84},"44227568","9d","This is incredible. I wonder if this will be the future of OSes. This readme is really, really interesting to read through. Why did you use wasmi instead of wasmtime? I might…",{"id":86,"by":87,"text":88},"44228203","baq","Fun project. The grey beards will gladly read how is it qualitatively different from early Windows or maybe even AmigaOS Workbench? The dinosaurs will probably point to bytecode…",{"id":90,"by":91,"text":92},"44231081","n42","This is just so inspirational and cool. I’ve had so many of these concepts floating around in my head, without the critically necessary capability, or followthrough. I’m sure…",{"id":94,"by":95,"text":96},"44228208","Ericson2314","This is a very good bucking of conventional wisdom. Good job! Now that Redox aims to support WASI too, it would be interesting to see if the syscall interfaces of these two can…",{"value":98,"source":79,"evidence":99},"Radial menu design praised",[100],{"id":101,"by":102,"text":103},"44229545","rollcat","The radial menu is brilliant. It is reminiscent of how basic team communication works in StarCraft 2. You alt-click to ping the minimap (draw allies' attention to something in…",{"value":105,"source":79,"evidence":106},"Built-in browser noted as impressive",[107,111],{"id":108,"by":109,"text":110},"44228887","simonw","Wow, this thing even has its own web browser! https:\u002F\u002Fgithub.com\u002FAskannz\u002Fmunal-os\u002Ftree\u002Fmaster\u002Fwasm_apps\u002Fweb_browser You can see a snippet of it running (and rendering Hacker…",{"id":112,"by":113,"text":114},"44229079","knowitnone","this is very impressive. I really like that you have a browser which is almost mandatory for a desktop OS now. You should write down your TODO list and I hope you keep working on…",[116,122,129],{"value":117,"source":79,"evidence":118},"Cooperative scheduling means each app slows as more are open",[119],{"id":120,"by":83,"text":121},"44227731","> The downside of course is that each step of the loop is not allowed to hold the CPU for arbitrary amounts of time, and must explicitly yield for long-running tasks. Seems to me…",{"value":123,"source":79,"evidence":124},"Spectre and memory isolation without virtual memory questioned",[125],{"id":126,"by":127,"text":128},"44229516","IshKebab","Apart from the cooperative scheduling, I think Spectre probably kills the security model, and I can't understand how this could work efficiently without virtual memory. How do…",{"value":130,"source":79,"evidence":131},"Runs only on VirtIO, not real hardware",[132],{"id":133,"by":134,"text":135},"44235774","bjackman","Pretty cool! > The reliance on VirtIO means Munal OS does not support running on real hardware yet I think if you wanted to run it on HW, instead of running adding drivers to it…",[137,144],{"value":138,"source":79,"evidence":139},"Explain project motivation and high-level design",[140],{"id":141,"by":142,"text":143},"44236821","LYK-love","Not an export in OS. Can op explain the project motivation and high-level design a bit? The readme file seems to be a feature introduction and barely touches the motivations,…",{"value":145,"source":79,"evidence":146},"Quantify performance benefits of the design",[147],{"id":148,"by":149,"text":150},"44233376","nnx","> It's an unikernel design that is compiled as a single EFI binary and does not use virtual address spaces for process isolation. Are you able to quantify what kind of…",[152,156],{"value":153,"source":79,"evidence":154},"Why wasmi instead of wasmtime",[155],{"id":82,"by":83,"text":84},{"value":157,"source":79,"evidence":158},"How memory.grow works without virtual memory",[159],{"id":126,"by":127,"text":128},[161,165,172],{"value":162,"source":79,"evidence":163},"Redox OS (WASI support)",[164],{"id":94,"by":95,"text":96},{"value":166,"source":79,"evidence":167},"Mempo project",[168],{"id":169,"by":170,"text":171},"44232463","jasonfrost","Reminds me of project mempo from like 10 years ago",{"value":173,"source":79,"evidence":174},"Lisp machines and Smalltalk environments",[175],{"id":86,"by":87,"text":88},{"comments":41,"answered":34,"key":177},[178,179,182],{"id":70,"text":71},{"id":180,"text":181},"44233811","Please don't take it as a reproach! Not your fault at all, and at least it forced me into creative problem-solving ;)",{"id":183,"text":184},"44246732","I had not heard of it, but sounds pretty interesting.",{"commenters":186,"max_depth":187,"maker_replies":41,"first_comment_mins":188,"lifespan_hours":189},46,10,53,236,[191,195,198,200,203,206,208,211,213,215,217,219,222,224,226,230,233,235,238,240,242,246,250,253,256,258,260,262,264,265,269,271,274,277,279,282,286,289,290,293,295,297,299,301,303,306,308,310,313,316,318,320,322,323,326,328,331,333,335,338,340,342,344,346,348,350,352,355,357,359,361,364,368,370,373,377,380,383,386,387,389,394,396,398,400,402,404,406,408,410,412,414,418,419,421,423,425,427,429,432,436,439,442,444,448,450,451,455,459,463,467],[192,38,47,193,194,38],"44228180","maker\u002Fneutral\u002Fexecution","herobird",[196,38,38,197,83,38],"44228286","commenter\u002Fneutral\u002Fnone",[199,38,38,197,194,38],"44228497",[201,38,38,202,83,38],"44229335","other\u002Fneutral\u002Fnone",[204,38,38,202,205,38],"44229624","lukan",[207,38,38,202,83,38],"44229735",[209,38,38,202,210,38],"44231560","Bjartr",[212,38,38,202,83,38],"44235898",[214,38,38,202,205,38],"44236202",[216,38,38,202,210,38],"44238089",[218,38,38,202,205,38],"44239628",[220,38,38,202,221,38],"44231014","coolcoder613",[223,38,38,202,83,38],"44231376",[225,38,38,202,221,38],"44232107",[227,38,47,228,229,38],"44229669","project\u002Fneutral\u002Fperformance","pimeys",[231,38,47,232,83,38],"44229715","project\u002Fneutral\u002Fnone",[234,38,47,228,194,38],"44230070",[236,38,38,202,237,38],"44233437","conradev",[239,38,38,202,229,38],"44233497",[241,38,47,228,194,38],"44229953",[243,38,18,244,245,38],"44243933","project\u002Fpositive\u002Fidea","huem0n",[247,38,38,248,249,38],"44230721","commenter\u002Fneutral\u002Fperformance","phickey",[251,38,47,228,252,38],"44235518","112233",[254,38,38,197,255,38],"44239356","jazzyjackson",[257,38,47,228,194,38],"44239609",[259,38,38,202,245,38],"44243890",[70,38,38,261,11,43],"maker\u002Fneutral\u002Fnone",[263,38,38,202,194,38],"44230026",[180,38,38,261,11,43],[266,38,38,267,268,38],"44238804","other\u002Fpositive\u002Fnone","apitman",[133,43,47,270,134,38],"project\u002Fneutral\u002Fdesign",[272,43,47,270,273,38],"44238902","jeroenhd",[275,43,43,276,134,38],"44245021","project\u002Fcritical\u002Fdesign",[120,34,47,278,83,38],"project\u002Fmixed\u002Fperformance",[280,34,47,228,281,38],"44230502","jdiff",[283,47,47,284,285,38],"44230438","maker\u002Fneutral\u002Fidea","senkora",[287,47,47,284,288,38],"44231475","nextaccountic",[183,47,38,261,11,43],[291,47,38,202,292,38],"44318557","jaen",[294,47,38,284,11,43],"44246727",[126,48,47,296,127,38],"project\u002Fmixed\u002Fprivacy",[298,48,38,197,83,38],"44229677",[300,48,47,270,127,38],"44233899",[302,48,47,270,83,38],"44235850",[304,48,47,270,305,38],"44239339","int_19h",[307,48,47,270,83,38],"44242068",[309,48,38,197,305,38],"44243220",[311,48,47,312,268,38],"44241806","project\u002Fneutral\u002Fprivacy",[314,18,38,202,315,38],"44228809","jauntywundrkind",[317,18,38,202,83,38],"44229393",[319,18,38,202,268,38],"44241712",[82,321,18,244,83,38],6,[67,321,38,193,11,43],[324,321,18,325,194,38],"44227913","project\u002Fpositive\u002Fnone",[327,321,18,325,83,38],"44228308",[329,321,38,330,11,43],"44229210","maker\u002Fpositive\u002Fnone",[332,321,38,202,194,38],"44230270",[334,321,38,202,249,38],"44228525",[336,321,38,202,337,38],"44229339","lasiotus",[339,321,38,202,83,38],"44229411",[341,321,38,248,194,38],"44230180",[343,321,38,197,83,38],"44230390",[345,321,38,197,249,38],"44230508",[347,321,38,197,337,38],"44231982",[349,321,38,197,249,38],"44232717",[351,321,38,197,337,38],"44233683",[353,321,38,248,354,38],"44242909","sitkack",[356,321,38,197,249,38],"44244353",[358,321,38,197,354,38],"44250645",[360,321,38,270,11,43],"44229376",[362,321,38,363,249,38],"44230489","commenter\u002Fneutral\u002Fdocs",[365,321,43,366,367,38],"44228177","project\u002Fcritical\u002Fprivacy","dmitrygr",[369,321,38,197,83,38],"44228207",[371,321,47,312,372,38],"44233812","DoctorOW",[374,321,38,375,376,38],"44228288","other\u002Fneutral\u002Fprivacy","fsflover",[378,321,47,379,83,38],"44228564","project\u002Fneutral\u002Fidea",[381,321,47,379,382,38],"44240983","MisterTea",[384,321,18,385,268,38],"44241468","project\u002Fpositive\u002Fprivacy",[108,41,18,325,109,38],[388,41,18,244,268,38],"44241608",[390,391,38,392,393,38],"44229027",8,"other\u002Fneutral\u002Fidea","pjmlp",[395,391,38,202,83,38],"44229425",[397,391,38,202,393,38],"44229700",[399,391,38,197,91,38],"44230707",[401,391,38,197,393,38],"44232904",[403,391,38,197,91,38],"44234487",[405,391,38,197,393,38],"44244613",[407,391,18,325,268,38],"44241526",[409,391,38,392,305,38],"44239387",[411,391,38,202,393,38],"44244623",[413,391,38,202,305,38],"44247348",[415,416,18,244,417,38],"44229517",9,"jasonthorsness",[90,187,47,379,91,38],[420,187,38,202,268,38],"44241652",[422,187,38,202,91,38],"44242031",[424,187,38,202,268,38],"44250023",[86,426,18,244,87,38],11,[148,428,47,228,149,38],12,[141,430,47,431,142,38],13,"project\u002Fneutral\u002Fdocs",[433,434,18,244,435,38],"44228551",14,"geoctl",[101,437,18,438,102,38],15,"project\u002Fpositive\u002Fdesign",[440,437,47,270,441,38],"44229937","diskzero",[443,437,47,270,305,38],"44239418",[445,446,18,325,447,38],"44231668",16,"beansbeansbeans",[112,449,18,325,113,38],17,[94,32,18,244,95,38],[452,453,18,325,454,38],"44228222",19,"catapart",[456,457,18,325,458,38],"44227738",20,"bionhoward",[460,461,47,270,462,38],"44231364",21,"jadbox",[464,465,18,325,466,38],"44229811",22,"baudaux",[169,468,47,379,170,38],23,[],[471,476,480,485,490,494],{"id":472,"name":473,"points":474,"category":475},"44189329","Air Lab",497,"hardware",{"id":477,"name":478,"points":479,"category":475},"44241278","tsungxu.com",418,{"id":481,"name":482,"points":483,"category":484},"44238171","Chili3d",408,"dev_tools",{"id":486,"name":487,"points":488,"category":489},"44249565","Spark",377,"languages",{"id":491,"name":492,"points":493,"category":484},"44225352","Bugdrop",335,{"id":495,"name":496,"points":497,"category":498},"44247029","Ikuyo",301,"productivity",false,"v2",{"id":502,"name":5,"line":6,"ai":499,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":503,"top":18,"kw":504,"maker":11,"domain":10,"tier":19,"attempts":38,"strip":505,"url":9,"mix":506,"praise":78,"objection":117,"sub":21},44226879,0.38,[24,25,26,27,28],"3000033533023333335500000133500505535554",[32,33,34,34],1793991122813]