Re:Posix Abstractions in Modern Operating Systems: The Old, ...
by ZenoArrow on Sunday May 08, 2016 @06:54AM
(#11653511)
> "truncate a 4G core dump by a couple of bytes and watch GDB try to open it"
This comes down to a failure of the binary design. It's possible to design a binary format that is uniform enough to handle truncation of a few bytes. To give you one example, you have a header for the binary with pointers to the start and end of each data block and you can keep multiple copies of this header. Another alternative is to specify that each block needs to specify where the data in that block ends. That way, even if you have partial corruption you can read the uncorrupted data blocks.
Re:Posix Abstractions in Modern Operating Systems: The Old, ...
by lisivka on Sunday May 08, 2016 @08:54AM
(#11653842)
It is already invented by ASCII.
Re:Posix Abstractions in Modern Operating Systems: The Old, ...
by ZenoArrow on Sunday May 08, 2016 @11:39AM
(#11654448)
No it's not. ASCII doesn't give you enough metadata to permit for efficient and reliable parsing of data, you can do a lot better without using ASCII.
Re:Posix Abstractions in Modern Operating Systems: The Old, ...
by lisivka on Monday May 09, 2016 @04:26PM
(#11662854)
ASCII solved problem of "few bits/bytes lost", isn't? Binary flow is divided into bytes. Bytes are divided into control sequences and text characters. Control sequences contains sequences to separate columns (tab character) and records (new line character). Moreover, all that was standardized across various platforms. It was huge improvement. It is why UNIX sticks to ASCII: to be portable.
In a world where things are "fixed" by just blowing away a VM and spinning up a new one, you might not care but in that case why bother to log anything at all...?