 Hello everyone. Today we are going to see the compile and go loader and general loader scheme. Learning outcome at the end of this session, students will be able to explain the concept of compile and go loader, its advantages and disadvantages and also students will be able to explain the general loader scheme, its advantages and disadvantages. The first we see the compile and go loader. The compile and go loader is one of the simplest loader. In this loader, the assembler itself does the process of compiling and then placing the assembled instruction in the designated memory locations. In this type of loader, the instruction is read line by line, its machine code is obtained and it is directly put in the main memory at some known addresses. That means the assembler runs in one part of the memory and then the assembled machine instructions and the data is directly put into their assigned memory locations. After completion of the assembly or the translation process, the assembler passes the starting address of the program to the computer hardware either to the memory address register or to the program counter. That is the first instruction is sent to the hardware for the execution and this kind of loader scheme is shown in the figure. Now the typical example of the compile and go loader is Watt for 77, a Fortran compiler that which uses the load and go scheme. This loading scheme is also called as assemble and the go loader. Now this is a figure of compile and go loader. Here if we observe first is the source program, second is the compile and go loader that is compile and go loader for example it is an assembler or the translator and third is the main memory. In main memory if we observe there is the one part is allocated for the assembler and in second part the object program that is loaded in the memory. First the source program that is given as the input to the compile and go loader. Compile and go loader translate the source program into the object program and it is loaded into the main memory for the execution. Now next we see the compile and go loader algorithm. The input to the compile and go loader is the starting address of the instruction and the output is the executable program in the primary memory that is starting from the start address. Now first we start the after that we get the starting address of the allocated primary memory. After getting the starting address of the primary memory we translate the that is source program that into the object program and that is store them into the primary memory of the machine that is starting from the allocated address. After that we pass this starting address to the computer hardware for the execution and we stop the executing the instruction. Suppose the starting address of the allocated primary memory is A. Then the source program is PS and that is source program is PS is translated into the object program PO by the compile and go loader. Means here the source program is PS and the object program is the PO and that is stored into the primary memory starting from A. After that at the end of the translation the address A is stored into the memory address register or the program counter for the execution. Means here the source program PS is translated into the object program PO and that is stored in the and the address of that is stored in the A and that A is and the address A is passed to the MAR or PC for the execution. Now next we see the compile and go loader advantages. First is the compile and go loader is simple and easy to implement because the assembler is placed at one part of the memory and the loader simply loads the assembled machine instruction into the memory. The second advantage is that no additional routines are required to load the compiled encoding to the memory. Now next we see the disadvantage. In this scheme the some portion of the memory is occupied by the assembler which is a simply a wastage of memory. As this scheme is a combination of assembler and the loader activities this combination program occupies a large block of memory. Second is the for every execution the translator translate the source program into the executable or either into the object program and third disadvantage is that it is difficult to handle the multiple source program segment in different languages and the last is the the execution time will be more in this scheme as every as every time program is assembled and then it is executed. Now after seeing the concept of compile and go loader can you tell me dash loader converts the source code into machine instructions line by line and put them at already known address for the execution pause the video and think about it. The answer is compile and go loader converts the source code into the machine instructions line by line and then input them at already known addresses for the execution. Now next we see the general loader scheme. In general loader scheme the source program is first converted to the object program by some translator means that can I means our assembler the loader accept these object modules and again it puts the that machine instructions and data in an executable form at their assigned memory locations. Then the loader occupies some portion of the main memory. Now this is the figure of general loader scheme here first is the source program second is the translator after that object program then loader and last is the main memory. First what happens in general loader scheme here we pass the two source program as a input to the different translator. If we see the figure in figure source program one is given as a input to the translator that translator converts that source program one into the object program one and that object program one is given as a input to the loader then loader loads that object code into the main memory for the execution. Similarly here we again supply the source program two as a input to the translator translated to then translator converts that source program two into the object program two and that is given as a input to the loader and then the loader stores the object program two into the main memory for the execution. Now this is the figure of general loader scheme. Now next we see the advantages of general loader scheme the first advantage is that the the program need not be retranslated each time while running it because initially when the source program gets executed and then its object program gets generated then suppose if a program is not modified then the loader can make use of this object program to convert it to the executable form that's why the program need not be retranslated each time when we running that program and the second advantage is that there is a no wastage of memory because what happens in general loader scheme the assembler is not placed in the memory instead of it the loader occupies the some portion of the memory and the size of the loader is smaller than assembler so more memory is available to the user because assembler is not placed in the memory instead of that loader occupies the some portion of the memory the third advantage is that it is possible to write the source program with multiple programs and multiple languages because the source program is is first converted to the object program and always the and always and the loader accept this object models to convert it into an executable format that's why it is possible to write the source program with multiple programs and with multiple languages now next we see the disadvantage the disadvantage of general loader scheme is the loader cannot handle the different object models that is obtained from the different kinds of computer hardware that is such as the CERN and VAS and now these are the references thank you