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

help-circle






  • Also not a fan of #16 since it sounds to me like forced labour for the poor

    That is how actually that worked in some (if not all) communist countries. No unemployment, but people (mostly those ‘undesirable’ for various reasons) would be sent to hard work in bad conditions, which would often cost their health or life. The other side of the coin was: everybody had a job and little fear of losing it, so people rarely treated the work seriously enough. There were factories full of workers, but so inefficient, that nothing was produced in sufficient demand. People had money, but little to buy with it.






  • My experience with C++ was when C++ was a relatively new thing. Practically the only notable feature provided by the standard library, was that unholy abuse of bit shift operators for I/O. No standard collections or any other data types.

    And every compiler would consider something else a valid C++ code or interpret the same code differently.

    I am little bit prejudiced since then… and that is probably where the author is coming from too.

    Then things were just getting more complicated (templates and other new syntax quirks), to fill the holes in attempts to make C a ‘high level language’.


  • As long as we are not paying for the services the service providers will do what they can to show us ads and frankly… rightly so.

    The problem is there is no other established way for paying for services. One that would be widely use and fair. Current state of things is ‘we say it is free, but we will get the money from advertisers or by selling your data’. Yes, some people are often able to avoid some of the ads and privacy loss, but that means the service gets no money from those people, so the service is built and being run for the rest of users – those who cannot install ad-blockers or who don’t care or don’t know how to care about their privacy. This is one of the reasons of enshitification – any ‘free’ service needs to be only as good as required to keep the users who watch ads and give away their data. Catering any more conscious user is just a cost.

    When enough of people will be using ad-block then the ad-block will stop working on many sites or the sites will disappear or become paid service. No one will provide commercial services for free and not everything can be a public service founded by a government or a community. I am not even talking about ‘corporate profits’ – even in the worst corporations there are normal people working and they should be paid for their work. Whether they are paid fairly and whether the corporate profits aren’t too big is another topic…





  • Jajcus@kbin.socialtolinuxmemes@lemmy.worldHtop too
    link
    fedilink
    arrow-up
    75
    ·
    5 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.