New answers tagged

0

Everything I will say does not represent the real thing but gives a taste of what is happening. A computer is manufactured in a way with a pre installed “program” which is responsible of transferring electrical current to all the parts, cpu, hard drive, gpu, etc. This is binary logic. Each one of the components, cpu, gpu, hard drive, mouse, keyboard has a ...


1

At one level you have hardware: A computer with a CPU, RAM, hard drive, graphics card, monitor, keyboard and so on. Then on the lowest level of the operating system you have code that can talk to these devices. That code allows the operating system to read or write data from the hard drive, determine the location of the mouse, and so on. At a higher ...


1

For a discussion of scheduling algorithms in a real kernel (not the idealized simplifications so dear to operating system text authors) check out Pabla's "Completely fair scheduler".


0

All operating systems have some sort of idle loop, twiddling it's thumbs if there is nothing else to do. If there are no ready tasks (no user tasks, and no kernel-internal tasks either), just waste time (today perhaps even power down the processor and schedule to wake up in a short while if nothing else happens).


1

The von Neumann architecture (more or less what all current CPUs have as a ground model) specifically stores programs in memory, where they can be manipulated as data or executed. Your compiler does write instructions to be executed later. When loading the program into memory to be executed the instructions are handled as regular data to be copied from disk. ...


2

If your question is "can one and the same sequence of bits sometimes represent a machine instruction and sometimes represent data" then the answer is definitely yes. If your question is "can one and the same location in memory sometimes hold a machine instruction and sometimes hold data" then the answer is it depends on the machine architecture. The Harvard ...


0

The overall structure of the processes is modelled to be like: while(TRUE) { /** get exclusive access */ /* critical section is here */ /** release exclusive access */ /* remainder, i.e., non-critical section */ } You are right, the remainder is outside of the critical section. A real process alternates between critical section/remainder. None ...


0

In a standard operating system like Unix, no. You can't directly make multiple requests. But, you can make one big request for a lot of memory. The system call lets you request a certain amount of memory, and you choose how much to request. In practice your program doesn't make that system call every time you want to allocate memory. Instead, you have a ...


0

Early microcomputer operating systems (up to and including MS-DOS) had no protection against malicious user programs. At least the multitasking operating system of the Alpha Micro computer (a Motorola 68000 with Z80s handling terminals, i.e., an example of non-symmetric multiprocessor) did run everything (!) in supervisor mode (no protection at all, even on ...


Top 50 recent answers are included