"'[…] is a filesystem centric mapping layer that maps file's logical offset ranges to physical extents. It provides several iterator APIs which filesystems can use for doing various file_operations, address_space_operations, vm_operations, inode_operations etc. It supports APIs for doing direct-io, buffered-io, lseek, dax-io, page-mkwrite, […]'"
Me ha hecho ilusión encontrarme en el trastero con los CDs del primer #Linux que tuve, allá por 1995.
Lo pedí por correo a una tienda de Barcelona que los traía de EEUU.
Instalé Slackware en mi PC, que era un Pentium de los originales.
Como entonces el sistema era monolítico, sin módulos, para incluir todos los drivers que necesitaba tuve que recompilar el #kernel con las fuentes que venían en uno de los CDs, y estuvo compilando una tarde enterita. 🥵
Al final incluso conseguí montar Java y programar con él. 💪 #informática#programación#SoftwareLibre
"'Things continue to look pretty normal, and nothing here really stands out. The biggest single change that stands out in the diffstat is literally a documentation update[1], […]
The changes[1] that triggered Linus' "The biggest single change that stands out in the diffstat is literally a documentation update" comment in the #Linux#kernel 6.9-rc6 announcement were the last I had in the works for the "How to verify bugs and bisect regressions" text added earlier this cycle.
"'Using a combination of packet sniffing, #eBPF, and async-profiler we managed to identify the root cause of slow produce requests in our Kafka cluster. We then tested a couple of solutions to the problem: data=writeback journaling mode, fast commits, and changing the file system to XFS.[…] With XFS, the number of produce requests exceeding 65ms (our SLO) was lowered by 82%.'"
Getting closer and closer to the point where I'll start a git tree[1] with fixes and reverts for #Linux#kernel regressions in the latest stable series, as from here it seems quite a few of the known problems could quickly be solved by a revert or applying fixes already queued[2]/still under review[3].
"'As shared memory is supported in CXL3.0 spec, we can transfer data via CXL shared memory. CBD means CXL block device, it use CXL shared memory to transfer command and data to access block device in different host […]
[…] any shared memory can be used for cbd, but I did not find out a better name, maybe smxbd(shared memory transport block device)? I choose CBD as […]"'
Lo dico chiaro e tondo ora, perché a quanto pare il mio pitch veloce di ieri non è entrato bene in testa a molti: si, il #sistemaoperativo che voglio creare è scritto con tecnologie web vanilla (HTML5, CSS, e #JS) e gira interamente nel #browser. Si, è un po’ una #pazzia per la grandezza del mio scopo, ma per favore non stupitevi e non rabbrividite, perché non sono la prima a pensare qualcosa del genere, e anzi, diverse cose sono già state belle che realizzate… 🦷️
Non so in realtà se qualcuno di quegli pseudo-OS #web si avvicina più ad un normale #OS nel modo in cui vorrei fare io, magari dovrei prendermi del tempo per sfogliare (ma mai leggere, non abbiamo così tanto tempo!!!) meglio il loro codice… perché da un lato già sentimenti contrastanti su questa cosa. Potrei forse semplicemente forkare uno di quei robi open-source, e avrei così forse da fare un po’ meno lavoro con un costo minimo di possibilità perse dal punto di vista dell’utilizzo pratico (che poi spiegherò meglio)… però, avrebbe anche un minor valore come lavoro del mio portfolio rispetto a qualcosa di costruito tutto da zero, e fino ad ora in realtà sembra starsi rivelando un grattacapo gradevole, come non avevo granché fatto prima d’ora. 👽️
In realtà finora non c’è nulla di difficile da #programmare, la vera difficoltà sta nel costruire una buona progettazione senza avere nemmeno un briciolo di conoscenza formale sulla teoria dei sistemi operativi, ma solo andando un po’ a sentimento e con le conoscenze collaterali che, da power user di Linux, Windows, Android e tutto quanto da anni, comunque ho indubbiamente accumulato. Perché appunto, non voglio fare uno di quei simulatori che direttamente funzionano con logica di alto livello, ma vorrei tentare di partire da più in basso per… well, creare tutte le astrazioni in modo più ordinato e funzionale, per poter quindi implementare caratteristiche anche più avanzate che altrimenti sarebbero possibili solo con delle hack (ad esempio, come permetti a delle app di mostrare overlay a schermo intero se tutta la tua logica dei processi ruota attorno al dogma che un processo è la sua finestrella nel DOM con il suo tastino in taskbar?). 🧨️
https://octospacc.altervista.org/wp-content/uploads/2024/04/image-6-960x503.pngQuesto è ciò che ho fatto da stamattina ad ora… ho implementato per iniziare giusto un pizzico di logica di eventi, processi, file system, e poi i primissimi passi per il gestore di finestre, in quello che potrebbe tecnicamente essere considerato un #kernel… si, l’ambiente #desktop è praticamente nel kernel al momento (yikes!), ma dovrò pur andare un passo alla volta. Almeno, sto cercando di strutturare il codice in modo modulare, come strati non direttamente dipendenti tra loro, quindi prima o poi dovrebbe essere facile scambiare componenti core del #sistema come pezzettini! Ganzo comunque avere già qualcosa che a video gira, nonostante la strada per la vera funzionalità è ancora lunga. 🙃️https://octospacc.altervista.org/2024/04/22/os-nel-brauser/
"'CIQ […] today launched fully supported, upstream stable kernels for Rocky Linux […]
Built on the upstream Linux kernel (i.e., mainline stable and long-term stable releases), these performance-optimized kernels ensure that Rocky Linux users benefit from the most recent innovations. […]'"
"'[…] been working on and polishing a little tool called udev-hid-bpf [1]. This is the scaffolding required quickly and easily write, test and eventually fix your HID input devices (mouse, keyboard, etc.) via a BPF program instead of a full-blown custom kernel driver or a semi-full-blown #kernel patch.'"
So, I was diagnosing a weird webcam issue for days and days. I've been using a Oculus Rift Sensor for head tracking for a while now and it suddenly stopped working. It's basically just a USB webcam. I tried several different kernel versions and even some from last year with no luck. I dug into the code of the uvcvideo driver, I tried setting quirks, nothing helped. I was obsessed with this issue.
Long story short: I disconnected my computer's front panel and everything worked.
The front panel must be faulty which must've tripped the USB controller in such a particular way that it kept working fine but was unable to recognise newly plugged devices and sent garbage to the kernel.
What the actual heck. USB is so weird. Do you have any USB stories like this?