|
Crackaces -> RE: Operating systems (3/5/2012 3:05:22 PM)
|
quote:
ORIGINAL: CV 2 Always fun watching a "my E-penis is longer than your E-penis" debate [8|] Rage on! [sm=00000613.gif] (BTW Crackaces, I wrote telemetry code for JPL back in the late 70s that went into the shuttle program, but I wouldnt claim that my knowledge of 1980 systems is relevant to todays systems. What you did in 2002 was outdated in 2005 [:D]) I re-read my posting and I could see how poorly it came off .. the purpose was not so much as "measuring E-penisis," but to establish a level that the discussion should take place. Bill stated emphatically that he feels intimately comfortable with OS archatecture.. and I simply tried to state that I have participated/made OS design decisions. Although as I read it it does come off very badly I see [:(] But on to your comment .. I say the fundementals never change just how the deck chairs are arranged ...[;)] If there is anything to learn from K&R/ Pike etc .. is that the more things change the more they remain the same ... So you have a point in that it would be a 6 month ramp up to say code in C# again learning the API (Applications Programmers Interface). If somebody here would to take the conversation to how many arguements a certain interface required and what type of arguements.. I would be lost ... However .. the decisions made in DOS, CPM, Multics, UNIX, Plan 9, Windows etc Operating Systems are fundemental. I am speaking solely from an architectural level -- that has not changed very much .. oh cloud computing! The fudemeentals are in Distrubuted Transactions of the 80's ..Read Dr. Jim Gray's Transaction Processing ... it is all there .... the interfaces change... the medium change .. the fundementals do not .. For example Key Questions: What consists of a process? What is a thread? Do we have a monolithic kernel or do we desgin microkernel of minimal code to get something from the hardware to the application? [Plan9] How does the operating system provide services? What runs in privileged mode and is there a non-privileged mode?[Not in DOS!] Ok now on to the relavant discussion .... big marketing feature ... How does the Application and OS keep in sync with updates? How about the Application and third party API's? Do you compile and link execs that contain whole units at compile/link time that are tested as a unit? That means duplication of common code but easier management of that code? Do you share some code that is linked at compile time but as a unit? [UNIX Shared Libs] Or is the solution multiple dynamic units that specifed at link time, but are actually linked at runtime? The latter has some great advantages in that manufactures can create mutiple versions of API's that allow old stuff to run while new stuff is created. A great roadmap for upgrading etc . one bad thing . now you have "applications" code running in kernel space because to share you have to enable the code to run in privileged space .. and a dynamic system of running that code that is inherently vulnerable ... now the complexites of vulnerablites are expanded many times. Bill introduced the famious DirectX bug .. but as recently as 2009 an application QuickTime could exploit the operating system through an API/DKI DirectX ... Wow! That is a fundemenatal problem an application can compromise the integrety of the kernel .... To think I can jump to execute code in the kernel through an application [X(] So we [I speak as an ex-architect] patch the hole up but because of fundemental archtecture decisions we have to find every little hole that exists in every nook and cranny ... ..So we got our monthly security update from Microsoft .. In OSX shared code is linked at complile time. If something shared is subsituted/corrupted at runtime it is id'ed and the app will fail. In addition, the portals into the OS are thorugh a single route .. the ASM trap instruction. That instruction acually causes a context switch and seperates user and kernel code like a wall ... No applications code is running in kernel space that I can go roaming through because of a vulnerability .. Disadvantage .. much less dynamism on the software maintinace level ..That does not preclude the Trojan horse subsituting a whole exec as admin/or "root," or a "worm" a program that consumes all availible resources in replication ... My orginal point is that there are desgin issues between the operating systems that make them more or less vulnerbale. In fact UNIX has been around a lot longer than Windows and believe me from the first sendmail exploit the system has undergone vulnerablites .. but none like the fundemental design of .DLL's ...[;)] But if you drop a virtual windows operating system on your Apple you are exposed to the above ..and every vulnerability ...
|
|
|
|