Thursday, 24 August 2023

COMPILER DESIGN

 Compiler Design

Q1. What is a compiler?

answer - A compiler is software that converts a higher-level language to a low-level language /machine code.

Q2. What are the phases of converting HHL to machine code?

answer - 







Wednesday, 23 August 2023

SOFTWARE ENGINEERING

Software Engineering

Q1. Can you explain what a program is?

Answer - A program is a set of instructions that perform a specific task.

Q2. What is software, and what does it involve?

Answer - Software is a program with proper documentation, including a user manual, maintenance guide, installation guide, licensing, and other official procedures.it is a commercial product.

Q3. Why is software engineering necessary?

Answer - While hardware development has improved significantly over time, software development has not kept up. Many software projects fail or go unused, resulting in a waste of time and money. To avoid this, a proper approach and ideology are needed to reduce the failure rate of software. Software engineering is an approach to software development that involves designing, implementing, testing, and maintaining software while also conducting advanced budget and work analysis.

Q4. Explain the characteristics of Software Engineering.
answer - 
  1. Correctness - the software should perform a task that was demanded, there might be better and more efficient tasks but the developer should stick with the requirement.
  2. Reliability - it should give accurate and the same results over the same output.
  3. Maintainable -  maintenance of the software should be possible 
  4. Usability - The user should use and understand the software with ease. the software should be comfortable in use.
  5. Efficiency - the software should work with optimal resources 
  6. Portability - The software should work in various environments and machines with minimal changes
  7. Scalability - the software should be able to handle the sudden increase in usage.
  8. Security - the data of the users should be safe and not interrupted by third parties.
  9. Modularity - The program is broken into small pieces so that various functions can be performed individually without the effect of others.
  10. Testable- The software should be able to go through various testing protocols
  11. Reusable - The software should be reused for similar operations with no significant changes



OPERATING SYSTEM

 Q1. What is the Operating system?

answer - An operating system is software that handles all the resources of a computer system, including hardware and software. It creates an environment for the user to run their programs efficiently and conveniently by simplifying the underlying hardware complexity and serving as a resource manager.

examples - 

                                                                               


Q2. Why do you need OS? (hence the function of OS)

answer - 1)  Manage Resources - 

Let's say we have two apps, App1 and App2. When we start App1, it takes control of the necessary hardware and starts working. However, if we try to run App2 while App1 is still running, we won't be able to access it as App1 is using up all the resources and the new app will freeze. This problem is solved by the operating system, which divides the resources based on each app's requirements.



                2) Manage Security-

Currently, the management of resources is in place, but what if App1 attempts to manipulate the data of App2? Such actions could alter the user's data, rendering it unreliable. Therefore, the Operating System (OS) is responsible for ensuring the security of data and the functionality of parallel-running programs.



                3) Make Software Lightweight-

When a system lacks its own operating system files, there is a need to create additional resources and security management files for individual applications. This can cause the size of applications to increase to more than 100%. However, an operating system resolves this issue, as it is a basic requirement that can be shared.




COMPILER DESIGN

 Compiler Design Q1. What is a compiler? answer - A compiler is software that converts a higher-level language to a low-level language /mach...