Entries:
Comments:
Posts:

Loading User Information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading User Information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

dhi

dhi dhi

Niner since 2005

  • Singularity Revisited

    In the second video, I saw that you are doing message passing over channels and run everything in its own SIP.
    I did a lot of programming for µnOS which is an OO OS written in C++ including a GC.
    It also uses channels for message passing (without message contracts) just like QNX does.
    So if every driver runs in it's own SIP, can I write a SIP by myself sending messages to the NIC SIP
    to tell it to send raw ethernet packets to the net?
    Or has the TCP/IP SIP exclusive rights to communicate to the NIC SIP?
    In µnOS we dicided to compile device drivers to DLLs.
    So the network service, which is a seperate process in user mode creates an instance of the device driver object(s)
    in its own process space and uses a well-defined interface to access these driver object.
    Only the network service has a channel over which the other applications can create and use network connections.

    How about modularity and the extension of a certain system service?
    Let's say your TCP/IP SIP currently supports IP, ICMP, ARP, TCP and UDP.
    How would I extend it to support SCTP as well?
    Can I write an extension module (e. g. in form of a C# class) that is loaded by the TCP/IP SIP at startup to support SCTP?
    Or do I have to write the extension in form of another SIP?

    I also saw that you are doing process creation, channel management and security inside the microkernel.
    Did you thaught of implementing a SIP in user mode for doing stuff like that?
    E. g. the QNX process manager does some of these things in user mode.

    At all, you did a great job with Singularity!
    I hope Microsoft stays tuned with it!

  • Singularity: A research OS written in C#

    In the second video, I saw that you are doing message passing over channels and run everything in its own SIP.
    I did a lot of programming for µnOS which is an OO OS written in C++ including a GC.
    It also uses channels for message passing (without message contracts) just like QNX does.
    So if every driver runs in it's own SIP, can I write a SIP by myself sending messages to the NIC SIP to tell it to send raw ethernet packets to the net?
    Or has the TCP/IP SIP exclusive rights to communicate to the NIC SIP?
    In µnOS we dicided to compile device drivers to DLLs.
    So the network service, which is a seperate process in user mode creates an instance of the device driver object(s)
    in its own process space and uses a well-defined interface to access these driver object.
    Only the network service has a channel over which the other applications can create and use network connections.

    How about modularity and the extension of a certain system service?
    Let's say your TCP/IP SIP currently supports IP, ICMP, ARP, TCP and UDP.
    How would I extend it to support SCTP as well?
    Can I write an extension module (e. g. in form of a C# class) that is loaded by the TCP/IP SIP at startup to support SCTP?
    Or do I have to write the extension in form of another SIP?

    I also saw that you are doing process creation, channel management and security inside the microkernel.
    Did you thaught of implementing a SIP in user mode for doing stuff like that?
    E. g. the QNX process manager does some of these things in user mode.

    At all, you did a great job with Singularity!
    I hope Microsoft stays tuned with it!