| New Reply |
programming an os |
Share Thread | Thread Tools |
| Nov30-12, 01:27 AM | #1 |
|
|
programming an os
I am afraid this is going to be a very stupid question but nonetheless i am asking: -
I have been programming for 6 months now and i always program on a text editor. I learned that an OS is also a program which is first loaded onto the computer. Also the text editors are also computer programs. But I don't understand how text editors and the OS were programmed in the first place? Where do you "type" programs when you don't have an operating system and text editor yet? |
| Nov30-12, 02:32 AM | #2 |
|
Admin
|
These days on another computer.
I am not sure how the early programs were transferred to the computer memory, I do remember reading about some kind of a switchboard (if that's the correct word to use) that was used in one of the very early computers - programming was done just by flipping the switches. But that was in the absolute beginning, I am sure there were many much more sophisticated ideas used later. |
| Nov30-12, 03:09 AM | #3 |
|
|
Front panels, paper tape, patch panels etc; and bootstrap from there.
The Apple ][ was one of the first useable computers & not just a toy. I used this Heathkit in the 70s; used the front panel (about 16 keys) to enter programs. http://en.wikipedia.org/wiki/Heathkit_H8 http://en.wikipedia.org/wiki/Apple_II_series |
| Nov30-12, 03:41 AM | #4 |
|
Admin
|
programming an os |
| Nov30-12, 03:58 AM | #5 |
|
|
The 'loader' was in EEPROM (a non-volatile memory chip) which was programmed with an EEPROM programmer.
http://www.electronickits.com/kit/co...rog/ck1707.htm |
| Nov30-12, 05:23 AM | #6 |
|
Mentor
|
|
| Nov30-12, 05:51 AM | #7 |
|
Admin
|
|
| Nov30-12, 05:54 AM | #8 |
|
|
One of my mentors wrote code by punching holes in big cards and feeding the cards into the machine.
|
| Nov30-12, 05:57 AM | #9 |
|
|
Alan Turing programmed in machine code. Just pure numbers. |
| Nov30-12, 06:03 AM | #10 |
|
|
You can go back 2000 years to the Antikythera device or 150 years to the Analytical Engine. http://en.wikipedia.org/wiki/Antikythera_mechanism http://en.wikipedia.org/wiki/Babbage_engine |
| Nov30-12, 06:39 AM | #11 |
|
Admin
|
I have no problems with writing assembler code on the paper, and debugging it by hand before translating it manually to bytes and POKEing these values into memory using BASIC. Been there, done that - but that already required working BASIC interpreter run from the ROM (EEPROM, EPROM, PROM, whatever). As far as I understand it so far everything that was said was about how to enter the program into already running computer that is already executing some code designed to read the input. Was there an EEPROM in IBM 701? Quite unlikely, taking into account fact they were invented several years later. |
| Nov30-12, 07:18 AM | #12 |
|
Mentor
|
Boot strapping those ancient computers was a pain in the rear. The only things that were hardwired were the ability to tell the computer to start running a program beginning with physical word #0 and the ability to directly set memory via a set of toggle switches. The operator had to manually set the bits in physical word 0, then word 1, and so on until the bootstrap program was loaded into memory. When the program was finally loaded, another button made the computer start running that bootstrap program. |
| Nov30-12, 08:06 AM | #13 |
|
Recognitions:
|
The first popular usage of an actual EEPROM was the DEC VT52 ASCII monitor, which used the EEPROM instead of switches to set things like baud rate, althought the screen display for the EEPROM just displayed virtual switches, so you still needed the user manual or you had to memorize what the settings did. As prom that held the monitors actual code and data got cheaper, later versions of similar monitors would display the EEPROM settings in English (baud rate = ... xon/xoff ... ). I did one of these myself, and recall management complaing about all the space used by the setup text messages until prom sizes doubled from 2K bytes to 4K bytes and got cheaper. Many of the older computers (1970's and older) used core memory, which retains data during power cycles, so the boot loaders in memory on these machines only had to be occasionally loaded manually, typically using toggle switches on the front panel. Mini computers like the HP 2100 required that the bootstrap loader be manually entered via toggle switches (actually buttons with the older ones using those cool capacitive buttons) if the boostrap loader got corrupted. I think the older still IBM 1130 had a hard wired boot strap loader that would read one card from the card reader to get the initial program (might have been an optional plug in card, since the IBM 1130 had plug in cards similar in concept to ISA cards used on early PCs). I don't recall if the first card would then read other cards, but the next step was to read one sector from the hard disk and boot from there, the same as a PC. Most early mainframes did have some type of hard wired boot strap loader. One interesting twist on boot loaders was used on the MonRobot, an old mini-computer with a drum memory. It turned a music box like drum where the pins on the drum toggled switches to load in the boot strap loader, which read a "block" from the paper tape reader to start up the machine. Going back further still, the ENIAC vacuum tube computer initially had to be hard wired to "program it" Later versions had equivalent of "ROM" functionality, and the EDVAC added the ability to store both program code and data in the computers memory. http://en.wikipedia.org/wiki/ENIAC There was also "plugboard" programming. One interesting aspect of plugboard programming it that the order of most operations was not specified, sort of an associative language where input and output fields and the operations to be performed were defined, but not the order of those operations. http://en.wikipedia.org/wiki/Plugboard Skipping back to the less ancient past, the Basic interpreter for the Altair 8800 was developed using a PDP based emulator, and a binary paper tape was produced. The story goes that the bootstrap loader to load in the paper tape was developed in flight on the way to Altair. http://en.wikipedia.org/wiki/Altair_BASIC |
| Nov30-12, 08:09 AM | #14 |
|
Mentor
|
|
| Nov30-12, 01:50 PM | #15 |
|
Mentor
|
We wrote our program code on paper, and then typed each line of code onto an IBM (or Hollerith) card by using a key-punch machine. After we were finished with the PL/C cards for our program, we had to do a few more JCL (Job Control Language) cards that were added to the beginning and end of our card decks. When we were finished with that, we turned the card deck in, and one of the operators would feed our card decks into a card reader, which read the holes on the cards and wrote on a reel-to-reel tape. After a number of "jobs" were written to the tape, the operator would physically take the tape and mount it on the actual computer, which would then compile and execute our programs. The output, which you would get a day or so later, consisted of a printed listing of the program, status messages from the compiler, and any output that the program produced, assuming that it compiled correctly. If there were errors, the output was an inscrutable (to me) mass of unintelligible stuff - core dump. Being a beginner, many of my programs ended up like this. |
| Nov30-12, 02:30 PM | #16 |
|
Recognitions:
|
|
| Nov30-12, 03:07 PM | #17 |
|
Admin
|
|
| New Reply |
| Thread Tools | |
Similar Threads for: programming an os
|
||||
| Thread | Forum | Replies | ||
| 3D Programming | Programming & Comp Sci | 4 | ||
| Recommended programming language (and texts) for middle-school beginner programming | Programming & Comp Sci | 9 | ||
| Ada Programming | Programming & Comp Sci | 0 | ||
| Help with CNC Programming | Engineering, Comp Sci, & Technology Homework | 1 | ||
| learn how to program by picking up a few books | Academic Guidance | 4 | ||