• 0 Posts
  • 40 Comments
Joined 1 year ago
cake
Cake day: June 23rd, 2023

help-circle







  • Jajcus@kbin.socialtolinuxmemes@lemmy.worldHtop too
    link
    fedilink
    arrow-up
    81
    ·
    8 months ago

    Well behaving programs give control back to the kernel as soon as they are done with what they are doing. If they don’t the control is forcefully taken away after some assigned time.

    It looks something like this:

    Something happens – e.g. a key is pressed – a process waiting for this event is woken up and gets e.g. 100ms to do it stuff. If it can handle the key press in 50ms, kernel notes it used 50 ms of CPU time and can give control to another process waiting for an event or busy with other work. If the key press triggered long computation the process won’t be done in 100ms, the kernel notes it used 100ms of CPU time and gives control to other processes with pending events or busy with other work.
    After one second the kernel may have noted:

    Process A: used 50ms, then nothing, then 100ms, another 100ms and another 100ms
    Process B: was constantly busy doing something, so it got allocated 6 * 100ms in that one second
    Process C: just got one event and handled it in 50ms
    Process D: was not waken at all

    So total of 1000ms was used – the CPU was 100% busy
    Of that 60% was process B, 35% process A and 5% process C.

    And then that information is read from the kernel by top and displayed.

    How does the OS even yank the CPU away from the currently running process?

    Interrupts. CPU has means triggering and interrupt at a specific time. Interrupt means that CPU stops what it is doing and runs selected piece of kernel code. This piece of kernel code can save the current state of user process execution and do something else or restore saved execution of another process.



  • Doesn't sound like the 'cheap small computer you can run your hobby electronics project on' that the original Pi used to be. It is not as cheap and a power hungry beast, still small, though. More and more like a PC and less and less a small cheap embedded platform. For some people it is a plus (I guess for most people here), for some not so much.

    I tend to build my projects on Raspberry Pi Pico now, but sometimes I would need something more powerful and Raspberry Pi 5 will be too much.





  • Matrix is open protocol, everybody is free to build their own clients. Maintainers of any one implementation are free to choose code to include in their project. And people can fork Element if they don’t like the way it is going.

    Maybe Element developers are not great in including external contribution… but still nothing else seems to implement Matrix that well.

    No other client seems feature-complete. I wish I could use NeoChat instead of Matrix, but it still cannot even handle encrypted conversations properly. Are they rejecting contributions too?







  • The point of the attestation is to show that given browser won’t do some things. If the browser is open source on open source operating system the user can modify it in any way he wants, so not such attestation can be given to such browser.

    Even if we are ok with attested browser being official builds never modified by users, then user could still fake it if they have full control of their operating system. So the operating system must also be attested, so it cannot be freely modified. And what is a point of open source then? You can see, but you cannot touch?