Wikipedia:Reference desk/Archives/Computing/2014 October 15

= October 15 =

Cant update chrome
I have had this problem for a while and I need to fix it quick. Chrome refuses to update because of some group policy on my computer that I have no idea about. I had windows 7 and I am the only user on the computer. I have tried updating chrome for a while now and it always gives me a error when updating. I tried removing all traces of chrome from my pc and it did not work so I just fished out the files out of the trash and am still using chrome but its not up to date. How can I update chrome? I have no restore points to back to so that is not an option. — Preceding unsigned comment added by 204.42.31.250 (talk) 04:46, 15 October 2014 (UTC)
 * Do you not have admin privileges on your computer? Who set up the group policy?  Does it prevent you from uninstalling Chrome?  If fishing out files worked then you didn't uninstall the software (i.e. you left the registry entries in place).  Have you tried Start -> All Programs -> Google Chrome -> Uninstall Google Chrome"?    D b f i r s  '' 07:47, 15 October 2014 (UTC)
 * Yes I did that the first time I tried to do this and it did not work. I am the only user of the computer ever and I never set a group policy. I kind of know what a group policy is but I cant find anything about chrome inside the policy window/menu. — Preceding unsigned comment added by 204.42.31.250 (talk) 08:33, 15 October 2014 (UTC)


 * What message do you get when you try to uninstall Chrome?   D b f i r s   17:02, 15 October 2014 (UTC)


 * I dont get a message when I uninstall chrome. I can get rid of it just fine its the installing the new one that will not ever work. — Preceding unsigned comment added by 204.42.31.250 (talk) 00:06, 16 October 2014 (UTC)


 * I'm confused (and I think Dbfirs is too) because you said that you successfully uninstalled Chrome, and can't install it, and yet are still running it. If the uninstall actually worked, you shouldn't be able to fish Chrome out of the trash.
 * What was the exact text of the error message that mentioned group policy?
 * You could try manually fixing the group policy or registry settings mentioned in this article. You could also try both the one-user and all-user installers from here—maybe one will work if the other doesn't. -- BenRG (talk) 03:54, 16 October 2014 (UTC)

OS specific CPU features
What features do CPUs have specificly to allow an OS to do its job? --178.208.197.230 (talk) 16:50, 15 October 2014 (UTC)
 * This sounds like a homework question! What kind of CPU do you want to know about?  What kind of operating system?  This topic is so vast that entire books are written about it.  Can you help refine exactly what you want to know?
 * If you're interested in a general purpose operating system like Linux, you can read Linux Kernel Internals from the Linux Documentation Project. It's quite obsolete documentation, but it introduces many features that are still used in Kernel 3, and dwells on the Intel x86 implementations.
 * Nimur (talk) 16:54, 15 October 2014 (UTC)

It's not a homework question. I'm just asking in general but if you want to point me towards some of those books, that would be good also. --178.208.197.230 (talk) 17:11, 15 October 2014 (UTC)
 * Your first task is to describe "the job of an operating system." Does the OS provide abstraction for hardware resources like disks, human interface I/O, and memory?  Does the OS enable multiple tasks, or multiple users, to share such resources?  On a general system like Windows, Linux, or OS X, the answer is "yes" to all of the above.  Each of these features can be improved when CPU hardware exists to enforce rules and accelerate common tasks.  You can, for example, start by reading our article on kernel (operating system), or the Linux documentation I linked earlier.  But those kinds of CPU hardware optimizations have been around for - really - more than half a century.  So, why do CPU vendors keep selling new chips with new features?
 * One of the best ways to follow these new enhancements is to read the release notes for a major free software system like the Linux kernel. Each year, new CPU features are introduced that let free or commercial operating systems vendors provide new software capabilities or performance.  Each year, small bugs are polished out of old hardware, and reliability improves a little bit.  Sometimes, these features are hard to notice for ordinary users: but kernel programmers take advantage of these features to incrementally improve overall system performance, and to enable new user-visible features.
 * The best book, if you haven't already read it, would be Silberschatz's Operating Systems Concepts book ("the dinosaur book"). This is a "must-read" for future systems programmers.  It introduces concepts in an architecture- and implementation- agnostic way.  After you master those concepts, it is "trivial" to leaf through, say, the ARM reference manual to understand exactly how a spin-lock works on a modern mobile phone operating system and its CPU.
 * Nimur (talk) 17:21, 15 October 2014 (UTC)
 * I'd say two important features in most current CPUs for most mainstream OSes are the memory management unit and the Interrupt mechanism. --Stephan Schulz (talk) 18:58, 15 October 2014 (UTC)
 * I would tend to agree. Those two pieces of hardware are the fundamental elements that allow system-software to provide abstractions suitable for multi-tasking and user-level programming.  But both pieces were around at least since the early 1960s!
 * If you take a look at new CPU hardware features, they require a little more ... expertise to decipher. Just as an example, I grabbed last week's patch to Linux 3.17.  Among the many pieces of operating system software that take specific advantage of CPU-specific hardware, I randomly noticed this patch:

+		secondary-boot-reg = ;
 * ... for the Broadcom Kona. (That's a fun little processor you might recognize if you play with the Raspberry Pi!
 * So here we have a new piece of system-software that takes advantage of a specific hardware circuit in one specific CPU. The job of this circuit is clearly documented:

The secondary-boot-reg property is a u32 value that specifies the physical address of the register used to request the ROM holding pen code release a secondary CPU. The value written to the register is formed by encoding the target CPU id into the low bits of the physical start address it should jump to.
 * Neat! A whole digital logic circuit exists in that CPU just to enable symmetric multiprocessing during the bootstrap.  It took a few years - that CPU has been around for a long time - before this hardware support made it into mainstream, free, open-source software.
 * Along the same line, you can read the low-level details of the whole kernel (if you've got infinite time!) to see all the other CPU hardware support for the OS on other platforms. So this is where we are in 2014: system software takes advantage of a lot of very standard hardware support in the CPU; and then the low-level system software takes advantage of very specific platform optimization hardware for all kinds of other features.
 * Nimur (talk) 19:42, 15 October 2014 (UTC)
 * Apart from the MMU and interrupts as mentioned by Stephan Schulz, changing these should only be done by the OS, and not by userland programs. This requires the use of privileged CPU modes CS Miller (talk) 20:00, 15 October 2014 (UTC)


 * I think only memory protection, interrupts and an atomic increment-and-test (or similar) operation (for mutexes) are essential "to allow an OS to do its job", everything else can be emulated in software Asmrulz (talk) 14:41, 17 October 2014 (UTC)