Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
dschatz
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
4 ms
·
1.
▲
by
dschatz
11y ago
1) How does a unikernel differ from a library OS? Is a unikernel a kind of library OS? 2) Is the specialization the important aspect? I see OSv referred to as a unikernel but it does no specialization, it supports almost the entire Linux AB
2.
▲
by
dschatz
11y ago
The biggest value is that you don't have a link-time dependency, only compile-time. This means that you don't have to concern yourself with a lot of the versioning problems that plague C++ application deployment simply because you
3.
▲
by
dschatz
11y ago
Just to add to this point, the difference is that Rust can only guarantee this for the standard library. I can similarly write a library with safe interfaces that can be (ab)used to cause UB and there's little that the Rust team can do
4.
▲
by
dschatz
11y ago
The list takes an OwningPointer to the object to be inserted. One of the requirements of this trait (which is unsafe to implement) is "the object cannot be moved while in the `LinkedList`." So Box would work, or a mutable referenc
5.
▲
by
dschatz
11y ago
I think that the requirement is that anyone who releases a program that was linked with my library must also release it in a form that allows it to be relinked without the library. I'm not sure how that applies to Rust's linkage
6.
▲
by
dschatz
11y ago
I have one here: https://github.com/dschatzberg/intrusive It can be used in a freestanding (nostd) environment such as a kernel. It uses unsafe code but provides a safe interface. The primary technique is to embed the
7.
▲
by
dschatz
12y ago
I think another problem is that an OS is not analagous to a website, it's more analagous to a web framework. And it's not like there are any framework building frameworks floating around
8.
▲
by
dschatz
12y ago
You can look at OSkit as one attempt to do this. I think the overwhelming reason its not common is that no one wants to build an OS. If they do it's for the educational experience not practical use. This means hobbyists aren't int
9.
▲
by
dschatz
12y ago
FYI both a TCP SYN and SYN/ACK can carry a payload (which could be the GET and RESPONSE)
10.
▲
by
dschatz
13y ago
Because if I use M:N threading then logically one of my user threads blocked and a different one should run during my timeslice. The kernel however is unaware of how I use the kernel thread and will block, believing that I cannot proceed. 1
11.
▲
by
dschatz
13y ago
A lot of the issues surrounding M:N threads are a result of poor operating system support. The central problem is that a syscall blocks a kernel thread even when there are more user level threads to run. If operating systems supported somet
12.
▲
by
dschatz
13y ago
Head's Up Hold'em has a nash equilibrium. Therefore there is at least one mixed strategy (I do X with probability P in Y situation) which cannot be negative expected value to any other strategy. In this sense, there is an optimal
13.
▲
by
dschatz
14y ago
Sign bit means one bit represents the sign of the integer which is the case with the most significant bit in 2s complement. If you flip the sign bit, the sign changes. It does not mean that if you flip the sign, the value is negated.
14.
▲
by
dschatz
14y ago
Yes you're right. I should have been more specific that all signed integers have a sign bit.
15.
▲
by
dschatz
14y ago
In 2s complement, the most significant bit is the sign bit. In fact all valid C integer representations have a sign bit.
16.
▲
by
dschatz
14y ago
Nice introduction. I think it is worth pointing out that much of what you discuss is implementation dependent, the c standard doesn't require an implementation to lay out data in memory in any particular way. Instead it requires that access