Hi Tyler and list, I think the below post could be technical for some... I think we might need a general overview of what debugging is (for Jessica's benefit): Debugging is a development process where the programmer checks to see if the program works as it should. At first glance, the source code would tell you (the programmer) that the program does its job. However, there might be unseen errors that could rise, leading to problems for users. The errors could be compile time (such as syntax problems, warnings and so forth), runtime (problems while program is running) or others (perhaps configuration of the operating system, CPU differences and so forth). The "debug" command under cmd.exe (GDB under unix-like such as linux) is used to check on running programs. The overall workings of this process is, in my opinion, could be too technical here, so I'll reserve that discussion to another forum. However, the process can be summarized like a lifeguard who watches a group of swimmers to make sure the swimmers obey the rules and to save them from drowning. As for ARM being anti-DOS and X86 reserved for command lines: cmd.exe is NOT A DOS PROGRAM. Although it inherits many commands from DOS, when you look at how the program is built (namely internal structure), you'll see that it is a Windows program that acts like a DOS prompt (this is called a console application). As for equating CPU architecture and OS combinations, I'd say that there are millions of combinations and permutations between hardware and system software - there are so many OS's that'll run under ARM architecture (including a well-known version of Linux for cell phones), so I'd say it is not a good idea to say that ARM is anti-DOS just because of absence of a feature (debugging facility is built into many OS's, especially ones which needs to run many programs at once). As for internals of Windows CE versus Windows NT (that is, Win7 and Win8 and other versions): here are some things to consider: * They have different targets - CE was designed for embedded systems such as cameras, car sensors and others, whereas Win7 was designed for general-purpose computing. * Whereas Windows 7 supports X86 and X86-64 processors (these are from Intel and AMD mostly), CE supports these and other processors, chiefly ARM. * Since Windows 7 is a general-purpose OS, it needs lots of memory compared to CE. Consequently, there are limits on number of processes (programs) that can run under CE at any given time. * Whereas Windows 7 can run on any hardware which has an X86 family CPU and lots of memory, CE's kernel (the executive of an operating system) is tied to specific hardware (rather to a board and CPU architecture), thus more hardware work is required to come up with a CE design (this process involves choosing the right hardware for your needs, choosing components for your target machine and so forth). * Until approx. 2010, hardware running CE was not powerful enough to accept Windows 7 kernel; not anymore: the next version of Windows phone will indeed use deeper foundation layer from Windows 8. This means that the device specs and OS maturity is such that the distinction between general-purpose computers and consumer-oriented embedded systems has been blurred - we now have quad-core 1.8 GHz tablets, 2 GB of RAM on cell phones and so many gigs of storage. * Learning the internals of an OS is, in my opinion, more challenging than learning another programming language and fun at the same time. * For learning the assembly language: it's up to you if you wish to venture into this field. But just knowing the assembly language of a CPU architecture doesn't mean you know everything about how the CPU works - there are other things to learn besides human representation of bit patterns (and that's the definition of assembly language). If you'd like to learn more, I'd like to recommend that you check out books on circuits, electronics and how CPU's are built from ground up. For more info on operating systems and how they are designed, I'd kindly recommend that you check out Linux Internals, Third Edition (it is available on Bookshare). Sorry if my response was too harsh... Cheers, Joseph
-----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Tyler Sent: Saturday, September 08, 2012 11:05 AM To: [email protected] Subject: [Braillenote] Since SDK is not available to create compiled computer programs, let's figure out the workings of Windows CE! Hello! I may be some kind of a geek who still studies ASCII, even in the 21st century, but I may need some technical help. So, the Keysoft c++ compiler and SDK isn't available right now, well how about this? I've never done it (I would need access to my own personal laptop or desktop), but from MS-DOS to Windows 7 and everything in between, there is this command called Debug. It can be accessed from Command Prompt, command line, cmd.exe, whatever you want to call it. People who know Assembly Language can create compiled (or, in this case, assembled) EXE files that work. For example, if I type debug in Windows Vista's Command Prompt, I can then type in the name command, such as: N formatusbflashdrive.exe After pressing Enter on that, you press A to get into the Assembly programming system. Then, you type the Assembly commands to do what you want it to do. I believe you then press W to assemble the commands into the machine language of the operating system, and produce a working, living EXE file. You then press Q to get out of the Debug interface, and then Exit to get out of the MS-DOS. Windows CE is Windows; the websites act like all DOS and Windows can do that! Is Windows CE an extraterrestrial alien claiming he was invented by Bill Gates and his cronies? Because if Debug honestly doesn't work on it, then why call it Windows? Is ARM anti DOS, and x86 is all about command prompts? Tyler Z ___ Replies to this message will go directly to the sender. If your reply would be useful to the list, please send a copy to the list as well. To leave the BrailleNote list, send a blank message to [email protected] To view the list archives or change your preferences, visit http://list.humanware.com/mailman/listinfo/braillenote
