<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Mon, Aug 10, 2015 at 6:33 PM Bill Frantz <<a href="mailto:frantz@pwpconsult.com">frantz@pwpconsult.com</a>> wrote:[snip] </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I think it is too late for capability model OSs. The change in<br>
thinking needed to program in the KeyKOS, CapRos, Coyotos, etc.<br>
model is too far from the way people put applications together<br>
with Apache, shell scripts etc. and the Unix file system and<br>
security models.<br>
<br>
Never mind the the capability model is almost exactly the object<br>
model without globally available objects, a model that most<br>
programmers have used. That's how you write a program, not<br>
integrate a system.<br></blockquote><div><br></div><div>It seems to me that your second paragraph contradicts your first. In my experience, there are plenty of programmers who don't know or care much about the systems-level stuff anyway; they get devops people to handle it for them. We get shell scripts, etc, *because* we don't have a system that extends the object model down to the system level.</div><div><br></div><div>By and large the operating system is going away as a consideration for deploying apps. If I want to deploy something, I write a Dockerfile and run a couple commands to build the docker image and deploy it to the cloud. There's no Apache config because the web server is built in to the application. And there are no shell scripts because Docker handles starting the application for me. Any changes to the OS would be handled by changes to the base Docker image I depend on.</div><div><br></div><div>If anything, I think switching to an object-capability model at the OS level would eliminate an impedance mismatch and make it easier for developers to deploy code. <br></div></div></div>