ઓપરેટિંગ સિસ્ટમો વિકાસ - પરિચય translet engilsh to gujrati chapter -1

આ શું છે?

Operating systems can be a very complex topic. ઓપરેટિંગ સિસ્ટમો ખૂબ જટિલ વિષય હોઈ શકે છે. Learning how operating systems work can be a great learning experience. શીખવી કેવી રીતે ઓપરેટિંગ સિસ્ટમો કામ મહાન શિક્ષણ અનુભવ કરી શકાય છે.
The purpose of this series is to teach the black art of Operating System (OS) Development, from the ground up. આ શ્રેણી હેતુ ઓપરેટીંગ સિસ્ટમ ની કાળા કલા (OS) વિકાસ જમીન છે, શીખવે છે. Whether you want to make your own OS, or simply to learn how they work, this series is for you. ક્યાં તો તમે તમારી પોતાની OS બનાવવા માટે, અથવા માત્ર શીખવા માટે તેઓ કેવી રીતે કામ કરે છે કરવા માંગો છો, તો આ શ્રેણી માટે છે.

What is an Operating System? ઓપરેટિંગ સિસ્ટમ એ શું છે?

An Operating System provides the basic functionality, look, and feel, for a computer. ઓપરેટિંગ સિસ્ટમ મૂળભૂત વિધેય પૂરી પાડે છે, જુઓ, અને કમ્પ્યૂટર માટે, લાગે છે. The primary purpose is to create a workable Operating Environment for the user. પ્રાથમિક હેતુ વપરાશકર્તા માટે એક વહેવારુ સંચાલન પર્યાવરણ બનાવે છે.
An example of an Operating System is Windows, Linux, and Macintosh. ઓપરેટિંગ સિસ્ટમ ઉદાહરણ Windows માટે, Linux, અને મેકિન્ટોશ છે.

If you have never programmed before જો તમે પહેલાં ક્યારેય પ્રોગ્રામ છે

Computer programming is designing and writing software, or programs, for the computer to load and execute. કોમ્પ્યુટર પ્રોગ્રામિંગ રચના છે અને લેખન સોફ્ટવેર, અથવા કાર્યક્રમો, કમ્પ્યુટર માટે લાવવા માટે અને ચલાવો. However, the Operating System needs to be designed with this functionality. જો કે, ઓપરેટિંગ સિસ્ટમ માટે આ વિધેય સાથે રચાયેલ જરૂર છે.
An Operating System is not a single program, but a collection of software that work and communicate with each other. ઓપરેટિંગ સિસ્ટમ એક કાર્યક્રમ નથી, પરંતુ સોફ્ટવેર સંગ્રહ છે કે જે એકબીજા સાથે કામ વાતચીત. This is what I mean by "Operating Environment". આ હું શું "સંચાલન પર્યાવરણ" દ્વારા થાય છે.
Because Operating Systems are a collection of software, in order to develop an Operating System, one must know how to develop software. કારણ કે ઓપરેટિંગ સિસ્ટમો સોફ્ટવેર સંગ્રહ છે, ક્રમમાં ઓપરેટિંગ સિસ્ટમ વિકસાવવા માટે, એક ખબર જ જોઈએ કેવી રીતે સોફ્ટવેર વિકસાવી છે. That is, one must know computer programming. એટલે કે, એક કોમ્પ્યુટર પ્રોગ્રામિંગ ખબર જ જોઈએ.
If you have never programmed before, take a look at the Requirements section below, and look no further. જો તમે પહેલાં ક્યારેય પ્રોગ્રામ છે, જરૂરીયાતો વિભાગ નીચે એક જુઓ, અને વધુ જુઓ. This section will have links to good tutorials and articles that could help you to learn computer programming with C++ and 80x86 Assembly Language. આ વિભાગ સારી ટ્યુટોરિયલ્સ અને લેખો છે કે જે તમે C + + અને 80x86 એસેમ્બલી ભાષા સાથે કોમ્પ્યુટર પ્રોગ્રામિંગ શીખવા માટે મદદ કરી શકે કડીઓ હોય છે.

Requirements જરૂરીયાતો

Knowledge of the C Programming Language સી પ્રોગ્રામિંગ ભાષા જ્ઞાન

Using a high level language, such as C, can make OS development much easier. સી જેવી હાઇ લેવલ ભાષા, મદદથી ઓએસ વિકાસ વધુ સરળ બનાવી શકે છે. The most common languages that are used in OS development are C, C++, and Perl. સૌથી સામાન્ય ભાષાઓ તે OS વિકાસ ઉપયોગમાં છે C, C + +, અને પર્લ. Do not think these are the only languages that may be used; It is possible in other languages. લાગે છે કે આ માત્ર ભાષાઓ ઉપયોગ કરી શકાય છે નહિં; તે અન્ય ભાષાઓમાં શક્ય છે. I have even seen one with FreeBASIC! હું પણ એક ફ્રીબેઝિક Language જોઇ છે! Getting higher level languages to work properly can also make it harder to work within the long run, however. ઉચ્ચ કક્ષાની ભાષાઓ યોગ્ય રીતે કામ કરવા માટે મેળવવી પણ લાંબા ગાળે અંદર મુશ્કેલ કામ કરવા માટે, જોકે કરી શકો છો.
C and C++ are the most common, with C being the most used. C અને C + + સૌથી સામાન્ય સી સૌથી વધુ ઉપયોગ થાય છે, આવે છે. C, as being a middle level language, provides high level constructs while still providing low level details that are closer to assembly language, and hence, the system. C, A મધ્યમ સ્તરની ભાષા છે, ઊંચા સ્તર રચના પૂરી પાડે છે જ્યારે હજુ પણ નીચા સ્તર વિગતો કે જે એસેમ્બલી ભાષા નજીક છે, અને તેથી, સિસ્ટમ પૂરી પાડે છે. Because of this, using C is fairly easy in OS development. આ કારણે, સી મદદથી ઓએસ વિકાસ એકદમ સરળ છે. This is one of the primary reasons why it is the most commonly used: Because the C programming language was originally designed for system level and embedded software development. આ એક પ્રાથમિક કારણો તે સૌથી વધુ સામાન્ય રીતે વપરાય છે છે: કારણ કે સી પ્રોગ્રામીંગ ભાષા મૂળભૂત સિસ્ટમ સ્તર માટે રચના કરવામાં આવી હતી અને સોફ્ટવેર ડેવલપમેન્ટ જડિત.
Because of this, we are going to be using C for most of the OS. આ કારણે, અમે OS ની સૌથી માટે સી મદદથી શકાય જતાં હોય છે.
C is a complex programming language, that can take a book to cover. સી જટિલ પ્રોગ્રામીંગ ભાષા છે, કે જે એક કવર પુસ્તક લઈ શકે છે. If you do not know C, the following may help: જો તમે C ખબર નહિં હોય, તો નીચેના મદદ કરી શકો છો:
I personally learned from the original "The C++ Programming language", which is now obsolete, though. હું વ્યક્તિગત મૂળ "આ C + + પ્રોગ્રામીંગ ભાષા +" છે, કે જે હવે કાલગ્રસ્ત માંથી છતાં શીખી.

Knowledge of x86 Assembly Language X86 એસેમ્બલી ભાષા જ્ઞાન

80x86 Assembly Language is a low level programming language. 80x86 એસેમ્બલી ભાષા ઓછી લેવલ પ્રોગ્રામીંગ ભાષા છે. Assembly Language provides a direct one to one relation with the processor machine instructions, which make assembly language suitable for hardware programming. એસેમ્બલી ભાષા પ્રોસેસર મશીન સૂચનો છે, કે જે એસેમ્બલી ભાષા હાર્ડવેર પ્રોગ્રામિંગ માટે યોગ્ય બનાવે છે સાથે સીધો એક એક સંબંધ પૂરો પાડે છે.
Assembly Language, as being low level, tend to be more complex and harder to develop in, then high level languages like C. Because of this, and to aid in simplicity, We are only going to use assembly language when required, and no more. એસેમ્બલી ભાષા, ઓછી સ્તર છે, વધુ જટિલ અને મુશ્કેલ વિકાસ કરવા માટે, પછી હાઇ લેવલ ભાષાઓ આ કારણે સી જેવી શકાય વલણ ધરાવે છે, અને સરળતા સહાય, અમે માત્ર એસેમ્બલી ભાષા વાપરો જ્યારે જરૂરી જતાં હોય છે, અને કોઈ વધુ .
Assembly Language is another complex language that can take a book to fill. એસેમ્બલી ભાષા અન્ય જટિલ ભાષા કે ભરવા માટે પુસ્તક લઈ શકે છે. If you do not know x86 Assembly Language, the following may help: જો તમે x86 એસેમ્બલી ભાષા ખબર નહિં હોય, તો નીચેના મદદ કરી શકો છો:
I personally learned from Assembly Language Step by Step (Excellent beginning book) and the Art of Assembly Language. હું વ્યક્તિગત (શ્રેષ્ઠ શરૂઆત પુસ્તક) પગલાં અને વિધાનસભા ભાષા ઓફ આર્ટ દ્વારા એસેમ્બલી ભાષા પગલાં પાસેથી શીખે છે. Both are very great books. બંને ખૂબ મહાન પુસ્તકો હોય છે.

Getting ready તૈયાર મેળવવી

That is all you need to know--Everything else I'll teach along the way. બાકીનું બધું હું રીતે સાથે શીખવે પડશે - તે બધા માટે જાણવાની જરૂર છે. Be forewarned: From here on out, I will not be explaining C or x86 Assembly Language concepts. Forewarned છે: અહીં બહાર પ્રતિ, હું C અથવા X86 એસેમ્બલી ભાષા ખ્યાલ આવશે નહીં સમજાવતી છે. I will still explain new instructions that you may not be familiar with, such as lgdt , and the use of sti, cli, bt, cpuid and some others, however. હું હજુ પણ નવી સૂચનાઓ કે તમારી સાથે છે, જેમ કે lgdt તરીકે પરિચિત હોઈ શકે નહિં, અને એસટીઆઇ, CLI, BT, cpuid અને કેટલાક અન્ય વાપરવા માટે, જોકે સમજાવશે.

Tools of the trade આ વેપાર સાધનો

In developing low level code, we will need specialized low level software to help us out. નીચા સ્તર કોડ વિકાસ, અમે ખાસ નીચા સ્તર સોફ્ટવેર જરૂર અમને મદદ બહાર આવશે. Some of these tools are not needed, however, they are highly recommended as they can significantly aid in development. આ સાધનો કેટલાક જરૂરી નથી, આમ છતાં, તેઓ ખૂબ કારણ કે તેઓ નોંધપાત્ર રીતે વિકાસ સહાય કરી શકો છો આગ્રહણીય છે.

NASM - The Assembler આ એસેમ્બલર - NASM

The Netwide Assembler (NASM) can generate flat binary 16bit programs, while most other assemblers (Turbo Assembler (TASM), Microsoft's Macro Assembler (MASM)) cannot. આ Netwide એસેમ્બલર (NASM) સપાટ બાઈનરી 16bit કાર્યક્રમો પેદા કરે છે, જ્યારે મોટા ભાગના અન્ય assemblers (ટર્બો (TASM) એસેમ્બલર છે, માઇક્રોસોફ્ટ મેક્રો એસેમ્બલર (MASM)) કરી શકતું નથી.
During the development of the OS, some programs must be pure binary executables. OS ની વિકાસ દરમ્યાન, કેટલાક કાર્યક્રમો શુદ્ધ બાઈનરી ચલાવી હોવા જ જોઈએ. Because of this, NASM is a great choice to use. આ કારણે, NASM મહાન ઉપયોગ પસંદગી છે.
You can download NASM from here . તમે NASM ડાઉનલોડ કરી શકો છો અહીં .

Microsoft Visual C++ 2005 or 2008 માઇક્રોસોફ્ટ વિઝ્યુઅલ C + + અથવા 2005 2008

Because portability is a concern, most of the code for our operating system will be developed in C. કારણ કે પોર્ટેબીલીટી એક ચિંતા છે, અમારા ઓપરેટિંગ સિસ્ટમ માટે કોડ મોટા ભાગના સી વિકસાવવામાં આવશે During OS Development, there are some things that we must have control over that not all compilers may support, however. ઓએસ વિકાસ દરમ્યાન, ત્યાં અમુક વસ્તુઓ છે કે જે અમે કમ્પાઇલરોનો બધા આધાર નહિં આપે પર નિયંત્રણ હોય છે, જોકે જ જોઈએ છે. For example, say good bye to all runtime compiler support (templates, exceptions) and the good old standard library! ઉદાહરણ તરીકે, બધી રનટાઈમ કમ્પાઈલર (ટેમ્પલેટો, અપવાદો) આધાર અને સારા જૂના સ્ટાન્ડર્ડ લાઇબ્રેરી સારી બાય કહી! Depending on the design of your system, you may also need to support or change more detailed properties: Such as loading at a specific address, adding your own internal sections in your programs' binary, etc..) The basic idea is that not all compilers out there are capable of developing operating system code. તમારી સિસ્ટમની ડિઝાઇન પર આધાર રાખીને, તમને પણ આધાર અથવા વધુ વિગતવાર ગુણધર્મો બદલવા માટે જરૂર પડી શકે છે. ચોક્કસ સરનામે લોડ જેવા તમારા કાર્યક્રમો બાઈનરી, વગેરે તમારા પોતાના આંતરિક વિભાગો ઉમેરીને) મૂળભૂત વિચાર છે કે જે બધા ત્યાં બહાર કમ્પાઇલરોનો ઓપરેટિંગ સિસ્ટમ કોડ વિકસાવવા માટે સક્ષમ હોય છે.
I will be using Microsoft Visual C++ for developing the system. હું C + + સિસ્ટમ વિકાસ માટે + માઇક્રોસોફ્ટ વિઝ્યુઅલ ઉપયોગ કરીને કરશે. However, it is also possible to develop in other compilers such as DJGPP, GCC or even Cygwin. જોકે, તે પણ શક્ય છે DJGPP, GCC એ કે Cygwin જેવા અન્ય કમ્પાઇલરોનો માં છે. Cygwin is a command shell program that is designed to emulate Linux command shell. Cygwin આદેશ શેલ કાર્યક્રમ છે કે જે Linux આદેશ શેલ અનુકરણ કરવા માટે રચાયેલ છે. There is a GCC port for Cygwin. ત્યાં Cygwin માટે GCC ને પોર્ટ છે.
You can get Visual C++ 2008 from here તમે વિઝ્યુઅલ C + + થી 2008 મેળવી શકો છો અહીં
You can also still get Visual C++ 2005 from here . પણ તમે હજુ પણ મેળવી શકો છો વિઝ્યુઅલ C + + 2005 અહીં .

Support for other compilers અન્ય કમ્પાઇલરોનો માટે આધાર

As previously stated, it is possible to develop an operating system using other compilers. જેમ અગાઉ જણાવ્યું હતું કે, તે શક્ય છે ઓપરેટિંગ અન્ય કમ્પાઇલરોનો મદદથી સિસ્ટમ છે. While my primary compiler of use will be Visual C++, I will explain on how to setup the working environments so that you will be able to use your favorite compiler. જ્યારે મારી ઉપયોગ પ્રાથમિક કમ્પાઈલર વિઝ્યુઅલ આવશે C + +, હું કેવી રીતે કામ પર્યાવરણોમાં સુયોજન માટે કે જેથી તમે તમારા મનગમતા કમ્પાઈલર વાપરવા માટે સમર્થ હશો પર સમજાવશે.
Currently, I plan on describing on setting up the environments for: હાલમાં, હું સુયોજિત માટે પર્યાવરણોમાં પર વર્ણન યોજના:
  • DJGPP DJGPP
  • Microsoft Visual Studio 2005 માઇક્રોસોફ્ટ વિઝ્યુઅલ સ્ટુડિયો 2005
  • GCC GCC
  • I will also try to support the following compilers, if possible: હું પણ નીચેના કમ્પાઇલરોનો આધાર પ્રયાસ કરશે, જો શક્ય હોય:
  • Mingw Mingw
  • Pelles C Pelles સી
If you would like to add more to this list, please contact me . જો તમે આ યાદીમાં વધુ ઉમેરવા માંગો છો, તો કૃપા કરીને મને સંપર્ક .

Copying the Boot Loader બુટ લોડર કૉપિ

The bootloader is a pure binary program that is stored in a single 512 byte sector. બુટલોડર શુદ્ધ બાઈનરી કાર્યક્રમ છે કે જે એક 512 બાઈટ ક્ષેત્રમાં સંગ્રહ છે. It is a very important program as it is impossible to create an OS without it. તે ખૂબ મહત્વનું કાર્યક્રમ છે, કારણ કે તે અશક્ય છે તે વગર ઓએસ બનાવો. It is the very first program of your OS that is loaded directly by the BIOS, and executed directly by the processor. તે તમારા ઓએસ ખૂબ જ પ્રથમ કાર્યક્રમ છે કે જે સીધા BIOS દ્વારા લાવવામાં આવે છે, અને પ્રોસેસર દ્વારા સીધી ચલાવવામાં આવે છે. We can use NASM to assemble the program, but how do we get it on a floppy disk? અમે NASM વાપરવા માટે કાર્યક્રમ assemble કરી શકો છો, પરંતુ અમે ફ્લોપી ડિસ્ક પર કેવી રીતે કરવું તે મળી શકે? We cannot just copy the file. અમે હમણાં જ ફાઈલ નથી નકલ કરી શકો છો. Instead, we have to overwrite the boot record that Windows places (after formatting the disk) with our bootloader. તેના બદલે, અમે બુટ રેકોર્ડ પર ફરીથી લખી છે કે અમારા બુટલોડર સાથે Windows સ્થળોએ (ડિસ્ક બંધારણ પછી). Why do we need to do this? અમે આ નથી જરૂર શા માટે છે? Remember that the BIOS only looks at the bootsector when finding a bootable disk. યાદ રાખો કે જે BIOS એ માત્ર bootsector પર દેખાય છે જ્યારે બુટ કરી શકાય તેવી ડિસ્ક શોધવામાં. The bootsector, and the "boot record" are both in the same sector! આ bootsector, અને "બુટ રેકોર્ડ" એક જ ક્ષેત્રમાં બંને હોય છે! Hence, we have to overwrite it. તેથી, અમે તેને ફરીથી લખી છે.
There are alot of ways we can do this. ત્યાં રીતે અમે આ કરી શકો છો ઘણા છે. Here, I will present two. અહીં, હું બે રજૂ કરશે. If you are unable to get one method working on your system, our readers may try the other method. જો તમે તમારી સિસ્ટમ પર કામ પદ્ધતિ મળી અસમર્થ હોય છે, અમારા વાચકોને અન્ય પદ્ધતિ પ્રયાસ કરી શકે છે.
Warning: Do Not attempt to play with the following software until I explain how to use it. ચેતવણી: નીચેના સોફ્ટવેર સાથે રમવા ત્યાં સુધી હું કેવી રીતે તેનો ઉપયોગ કરવાનો પ્રયાસ કરશો નહિં. Using this oftware incorrectly can corrupt the data on your disk or make your PC unable to boot. આ oftware મદદથી અયોગ્ય રીતે તમારા ડિસ્ક પર માહિતી ભ્રષ્ટ અથવા તમારા પીસી બુટ કરવા માટે અસમર્થ બનાવી શકે છે.

PartCopy - Low Level Disk Copier નિમ્ન સ્તર ડિસ્ક નકલ બનાવનાર - PartCopy

PartCopy allows the copying of sectors from one drive to another. PartCopy એક ડ્રાઈવ બીજી ક્ષેત્રોમાં થયેલા નકલ પરવાનગી આપે છે. PartCopy stands for "Partial copy". PartCopy "આંશિક નકલ" માટે રહે છે. Its function is to copy a certain number of sectors from one location to another, to and from a specific address. તેની કામ કરવા માટે એક સ્થાન બીજી ક્ષેત્રોમાં ચોક્કસ નંબર, અને ચોક્કસ સરનામું માંથી નકલ હોય છે.
You can download it from here . તમે તે ડાઉનલોડ કરી શકો છો અહીં .

Windows DEBUG Command Windows ડિબગ આદેશ

Windows provides a small command line debugger that may be used through the command line. Windows નાના આદેશ વાક્ય ડીબગર કે આદેશ વાક્ય મારફતે વાપરી શકાશે પૂરી પાડે છે. There are quite a bit of different things that we can do with this software, but all we need it to do is copy our boot loader to the first 512 bytes on disk. ત્યાં તદ્દન અલગ વસ્તુઓ છે કે જે આપણે આ સોફ્ટવેર સાથે કરી શકો છો એક બીટ હોય છે, પરંતુ બધા અમે તેને જરૂર છે ડિસ્ક પર પ્રથમ 512 બાઇટ્સ અમારા બુટ લોડર નકલ કરો. Go to the command prompt, and type debug . પ્રોમ્પ્ટ આદેશ પર જાઓ, અને પ્રકાર ડિબગ. You will be greeted by a little prompt (-): (-) તમે થોડી પ્રોમ્પ્ટ દ્વારા અભિવાદન કરવામાં આવશે:
C:\Documents and Settings\Michael>debug C: દસ્તાવેજો \ અને સેટિંગ્સ \ માઈકલ> ડિબગ
- - 
Here is where you enter your commands. h is the help command, q is the quit command. અંહિ છે કે જ્યાં તમે તમારા આદેશો દાખલ કરો h. મદદ આદેશ, q છોડો આદેશ છે. The w (write) command is the most important for us.વાઇડ આદેશ (લખવા) એ સૌથી અમારા માટે મહત્વની છે. You can have debug load a file into memory such as, say, our boot loader: તમે જેમ કહે છે, અમારા બુટ લોડર તરીકે મેમરીમાં ફાઈલ લોડ ડિબગ કરી શકાય છે:
C:\Documents and Settings\Michael>debug boot_loader.bin C: દસ્તાવેજો \ અને સેટિંગ્સ \ માઈકલ> ડિબગ boot_loader.bin
- - 
This allows us to perform operations on it. આ અમને તેની પર કામગીરી કરવા માટે પરવાનગી આપે છે. (We can also use debugs L (Load) command to load the file is we wanted to). (અમે પણ debugs (લોડ) એલ આદેશ વાપરો ફાઈલ લોડ કરી શકો છો અમે ઇચ્છતા હોય છે). In the above example, boot_loader.bin will be loaded at address 0x100. ઉપરના ઉદાહરણમાં, boot_loader.bin સરનામું 0x100 પર લોડ કરવામાં આવશે. To write the file to the first sector of our disk, we need to use the W (Write) command which takes the following form: અમારી ડિસ્ક પ્રથમ સેક્ટર માટે ફાઈલ લખો, અમે ડબલ્યુ (લખો) આદેશ કે જે નીચેનો ફોર્મ લે ઉપયોગ જરૂર પડશે:
W [address] [drive] [firstsector] [number] ડબલ્યુ સરનામું [] [ડ્રાઈવ] [firstsector] [નંબર] 
Okay... ઠીક છે ... so let's see: The file is at address 0x100. ચાલો જુઓ: ફાઈલ સરનામું 0x100 છે. We want the floppy drive (Drive 0). અમે ફ્લોપી ડ્રાઈવ (0 ડ્રાઈવ) કરવા માંગો છો. The first sector is the first sector on the disk (sector 0) and the number of sectors is ehm... પ્રથમ સેક્ટર ડિસ્ક પર પ્રથમ સેક્ટર (0 સેક્ટર) છે અને સેક્ટરોની સંખ્યા ehm છે ... 1. 1. Putting this together, this is our command to write boot_loader.bin to the boot sector of a floppy: આ સાથે પુટિંગ, આ અમારી ફ્લોપી, બુટ સેક્ટર માટે boot_loader.bin લખવા આદેશ છે:
C:\Documents and Settings\Michael>debug boot_loader.bin C: દસ્તાવેજો \ અને સેટિંગ્સ \ માઈકલ> ડિબગ boot_loader.bin
-w 100 0 0 1 100 0 1 0-વાઇડ
-q -Q 
If you would like to learn more about this command, take a look at this tutorial . જો તમે આ આદેશ વિશે વધુ જાણવા ઈચ્છો, તો એક જુઓ આ ટ્યુટોરીયલ .

VFD - Virtual Floppy Drive વર્ચ્યુઅલ ફ્લોપી ડ્રાઇવ - VFD

Weather you have a floppy drive or not, this program is very useful. હવામાન તમે ફ્લોપી ડ્રાઇવ અથવા નહિં હોય, તો આ કાર્યક્રમ ખૂબ ઉપયોગી છે. It can simulate a real floppy drive from a stored floppy image, or even in RAM. તે સંગ્રહાયેલ ફ્લોપી ઇમેજ માંથી, અથવા RAM એ વાસ્તવિક ફ્લોપી ડ્રાઇવ બનાવટી કરી શકો છો. This program creates a virtual floppy image, allows formatting, and copying files (Such as, your kernel perhaps?) directly using Windows Explorer. આ કાર્યક્રમ વર્ચ્યુઅલ ફ્લોપી ઈમેજ બનાવે છે, બંધારણ માટે પરવાનગી આપે છે, અને તેની નકલ કરવાનું (જેમ કે, તમારી કર્નલ કદાચ?) ફાઈલો સીધી Windows Explorer વાપરી રહ્યા છે.
You can download it from here . તમે તે ડાઉનલોડ કરી શકો છો અહીં .

Bochs Emulator - PC Emulator and Debugger Bochs ઈમ્યુલેટર - પીસી ઈમ્યુલેટર અને ડિબગર

You pop in a floppy disk into a computer, in hopes that it works. તમે કોમ્પ્યુટર એક ફ્લોપી ડિસ્ક માં આશા છે કે તે કામ કરે છે, પૉપ. You boot your computer and look in aw at your greatest creation! તમે તમારા કમ્પ્યુટર બુટ કરો અને તમારી સૌથી વધુ બનાવટ પર કંઇક ભુલ થઇ જુઓ! ...Until your floppy motor dies out because you forgot to send the command to the controller in your bootloader. ... ત્યાં સુધી તમારા ફ્લોપી મોટર આઉટ મૃત્યુ પામે છે કારણ કે તમે તમારા બુટલોડર માં નિયંત્રક આદેશ મોકલવા ભૂલી ગયા છો.
When working with low level code, it is possible to destroy hardware if you are not careful. જ્યારે ઓછી સ્તર કોડ સાથે કામ કરવાનું શક્ય છે હાર્ડવેર નાશ જો તમે કાળજી નથી. Also, to test your OS, you will need to reboot your computers hundreds of times during development. ઉપરાંત, તમારી OS પરીક્ષણ, તો તમે વિકાસ દરમ્યાન તમારા વખત કમ્પ્યુટર સેંકડો રીબુટ કરવાની જરૂર રહેશે.
Also, what do you do if the computer just reboots? ઉપરાંત, તમે શું કમ્પ્યૂટર માત્ર રિબુટ જો કરવું? What do you do if your Kernel crashes? તમે શું તમારી કર્નલ ક્રેશ તો શું કરવું? Because there is no debugger for your OS, it is virtually impossible to debug. કારણ કે ત્યાં તમારા OS માટે કોઈ ડીબગર છે, તે વર્ચ્યુઅલ અશક્ય છે ડિબગ.
The solution? ઉકેલ? A PC Emulator. એક પીસી અનુકરણ. There are plenty available, two of them being VMWare and Bochs Emulator. ત્યાં પુષ્કળ ઉપલબ્ધ છે, બે તેમને VMware અને Bochs ઈમ્યુલેટર રહી છે. I will be using Bochs and Microsoft Virtual PC for testing. હું ચકાસણી માટે Bochs અને Microsoft વર્ચ્યુઅલ પીસી ઉપયોગ કરીને કરશે.
You can download Bochs from here . તમે Bochs ડાઉનલોડ કરી શકો છો અહીં .

Thats all, fokes બધા fokes, Thats

You do not need to know how to use the software I listed. તમે જાણવા સોફ્ટવેર હું યાદી વાપરવા માટે જરૂર નથી. I will explain how to use them as we start using them. હું સમજાવશે કેવી રીતે તેને વાપરવું તે આપણે તેઓની મદદથી શરૂ કરો.
If you would like to run your system on a real computer that does not have a floppy drive, it is still possible to boot from CD even though it is a floppy image. જો તમે વાસ્તવિક કોમ્પ્યુટર કે જે ફ્લોપી ડ્રાઇવ નથી પર તમારી સિસ્ટમ ચલાવવા ઈચ્છો, તે હજુ પણ શક્ય છે CD માંથી બુટ ભલે તે ફ્લોપી છબી હોય છે. This is done through Floppy Emulation that which most of BIOSs support.ફ્લોપી ઈમ્યુલેશન મારફતે થાય છે કે જે BIOSs આધાર મોટા ભાગના.
Simply get a CD burning software (I personally use MagicISO) that can create a bootable ISO from a floppy image. ખાલી એક CD બનાવનાર (હું વ્યક્તિગત MagicISO વાપરો) સોફ્ટવેર કે જે ફ્લોપી ઇમેજ માંથી બુટ કરી શકાય તેવી ISO બનાવી શકો છો. Then, simply burn the ISO image to a CD and it should work. પછી, ખાલી CD માટે ISO ઇમેજ બર્ન અને તે કામ કરવુ જોઇએ.

The Build Process બિલ્ડ પ્રક્રિયા

There are a lot of tools listed above. ત્યાં ઉપર યાદી થયેલ સાધનો ઘણું છે. To better understand how they can be useful, we should take a look at the entire build process of the OS. વધુ સારી રીતે સમજી તેઓ કેવી રીતે ઉપયોગી થઇ શકે છે, અમે OS ની સમગ્ર પ્રક્રિયા બિલ્ડ પર જોવા લેવી જોઈએ.
  • Setting everything up બધું સુયોજિત કરી રહ્યા છે ઉપર
    1. Use VFD to create and format a virtual floppy image to use. ઉપયોગ કરવા અને બનાવવા માટે વર્ચ્યુઅલ ફ્લોપી ઉપયોગ image બંધારણ VFD.
    2. Set up Bochs Emulator to boot from the floppy image. અપ Bochs ઈમ્યુલેટર સેટ કરવા માટે ફ્લોપી ઇમેજ માંથી બુટ કરો.
  • The bootloader બુટલોડર
    1. Assemble the bootloader with NASM to create a flat binary program. NASM સાથે બુટલોડર Assemble માટે ફ્લેટ બાઈનરી કાર્યક્રમ બનાવો.
    2. Use PartCopy or the DEBUG command to copy the bootloader to the bootsector of the virtual floppy image. PartCopy અથવા ડિબગ આદેશ વાપરો વર્ચ્યુઅલ ફ્લોપી ઇમેજ bootsector માટે બુટલોડર નકલ કરો.
  • The Kernel (And basically all other programs) આ કર્નલ (અને મૂળભૂત અન્ય બધી કાર્યક્રમો)
    1. Assembly and/or compile all sources into an object format (Such as ELF or PE) that can be loaded and executed by the boot loader. વિધાનસભા અને / અથવા ઓબ્જેક્ટ (આ પ્રકારના પિશાચ અથવા પીઈ તરીકે) બંધારણમાં છે કે જે લોડ કરી શકાય બુટ લોડર દ્વારા ચલાવવામાં માં તમામ સ્રોતો કમ્પાઇલ થાય છે.
    2. Copy kernel into floppy disk using Windows Explorer. ફ્લોપી Windows Explorer નો ઉપયોગ કરીને ડિસ્ક માં નકલ કરો કર્નલ.
  • Test it! તે ટેસ્ટ!
    1. Using Bochs emulator and debugger, using a real floppy disk, or by using MagicISO to create a bootable CD. Bochs ઈમ્યુલેટર અને ડિબગર મદદથી, વાસ્તવિક ફ્લોપી ડિસ્ક વાપરી રહ્યા હોય, અથવા MagicISO મદદથી બુટ કરી શકાય તેવી CD બનાવવા છે.

Until next time આગળના સમયે સુધી

Some of the terms and concepts listed here may be new to you. નિયમો અને વિભાવનાઓ અંહિ યાદી થયેલ કેટલાક તમે નવી હોઈ શકે છે. Do not worry--everything will be explained in the next few articles. ચિંતા ન કરો - બધું આગામી થોડા લેખો સમજાવી શકાય છે.
The purpose of this tutorial is to create a stepping stone for the rest of the series. આ ટ્યુટોરીયલ હેતુ માટે આ શ્રેણી બાકીના માટે stepping પથ્થર બનાવી છે. It provides a basic introduction, and a listing of the tools we will be using. આ મૂળભૂત પરિચય, અને સાધનો અમે મદદથી આવશે યાદી પૂરી પાડે છે. I will explain how to use these programs as we need to, so you do not need a tutorial on anything listed here besides what has been listed in the Requirements section. હું કેવી રીતે આ કાર્યક્રમો વાપરવા માટે આપણે જરૂર સમજાવે છે, તેથી તમે કાંઇ પર ટ્યુટોરીયલ શું જરૂરિયાતો વિભાગમાં કરવામાં આવી યાદી થયેલ છે ઉપરાંત અંહિ યાદી થયેલ કરવાની જરૂર નથી.
We also have taken a look at the building process for developing an operating system. અમે પણ ઓપરેટિંગ સિસ્ટમ વિકસાવવા માટે બિલ્ડિંગ પ્રક્રિયા પર જોવા લીધો છે. For the most part, its fairly simple, however it provides a way to see when the programs listed will be used. સૌથી વધુ ભાગ માટે, તેના એકદમ સરળ છે, જોકે તે જોવા માટે જ્યારે યાદી થયેલ કાર્યક્રમો માટે વાપરવામાં આવશે, માર્ગ પૂરો પાડે છે.
In the next tutorial we are going to go back in time from the first Disk Operating System (DOS) and take a little tour through history. આગામી ટ્યુટોરીયલ અમે સમય પાછા પ્રથમ ડિસ્ક ઓપરેટીંગ સિસ્ટમ (DOS) અને જાઓ ઇતિહાસ મારફતે ઓછી પ્રવાસ લઇ જવા છે. We will also look at some basic OS concepts. અમે પણ કેટલીક મૂળભૂત ઓએસ ખ્યાલ તપાસ કરશે.
We will not be using any of the tools listed above just yet, so you do not need to download them just yet. અમે માત્ર હજુ સુધી ઉપર યાદી થયેલ સાધનો કોઈપણ શકાતી નથી વાપરી રહ્યા હોય, તેથી તમે તેમને માત્ર હજુ સુધી ડાઉનલોડ કરવાની જરૂર નથી.
Until next time, આગળના સમયે સુધી,
~Mike ~ માઇક
BrokenThorn Entertainment. BrokenThorn મનોરંજન. Currently developing DoE and the Neptune Operating System હાલમાં ડો અને વિકાસ નેપ્ચ્યુન સંચાલન સિસ્ટમ

Questions or comments? પ્રશ્નો અથવા ટિપ્પણીઓ? Feel free to Contact me . મફત લાગે મને સંપર્ક .

Would you like to contribute and help improve the articles? તમે ફાળો અને લેખો સુધારવા મદદ માંગો છો? If so, please let me know! જો આમ હોય, તો મહેરબાની કરીને મને ખબર!

 
Share:

No comments:

Post a Comment