Articles

Affichage des articles du janvier 26, 2018

Analyzing the Linux boot process

Image
Follow us We have the truth The oldest joke in open source software is the statement that "the code is self-documenting." Experience shows that reading the source is akin to listening to the weather forecast: sensible people still go outside and check the sky. What follows are some tips on how to inspect and observe Linux systems at boot by leveraging knowledge of familiar debugging tools. Analyzing the boot processes of systems that are functioning well prepares users and developers to deal with the inevitable failures. More Linux resources What is Linux? What are Linux containers? Download Now: Linux commands cheat sheet Advanced Linux commands cheat sheet Our latest Linux articles In some ways, the boot process is surprisingly simple. The kernel starts up single-threaded and synchronous on a single core and seems almost comprehensible to the pitiful human mind. But how does the kernel itself get started? What functions do initrd ( initia

How debuggers really work

Image
Follow us We have the truth Image by : opensource.com A debugger is one of those pieces of software that most, if not every, developer uses at least once during their software engineering career, but how many of you know how they actually work? During my talk at linux.conf.au 2018 in Sydney, I will be talking about writing a debugger from scratch... in Rust ! In this article, the terms debugger/tracer are interchangeably. "Tracee" refers to the process being traced by the tracer. The ptrace system call Most debuggers heavily rely on a system call known as ptrace(2), which has the prototype:long ptrace(enum __ptrace_request request, pid_t pid, void *addr, void *data); This is a system call that can manipulate almost all aspects of a process; however, before the debugger can attach to a process, the "tracee" has to call ptrace with the request PTRACE_TRACEME. This tells Linux that it is legitimate for the parent to attach via ptrace to thi
Image
Follow us We have the truth Image by : opensource.com Google developer advocate Kelsey Hightower says that he always figured that the (now wildly successful) Kubernetes container orchestration platform "would get big on its own at some point." He shared some of the reasons he sees for Kubernetes' success in a podcast recorded in December at CloudNativeCon in Austin. The first is that Kubernetes is an effective platform on which to do other things. It provides "better primitives than I had before" as Hightower puts it. At the same time, he says that this is something people misunderstand about Kubernetes. "It's not the end game," he says. Rather, at some point, it increasingly becomes "the new platform for building other platforms." It's really a story about abstraction, which is arguably at the core of much of the history of the computer industry. The Open Container Initiative (OCI) provides container runtime and