Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

What is a Graphics Card?


Graphics card is a hardware which is used to increase the video memory of a
computer, and make its display quality more high-definition. It makes the computer
more powerful and gives it the capacity to do more high-level works. The quality of
the image depends on the quality of the graphics card. It is very much important for
gaming and video editing on a PC. Every game needs a graphics memory to start and
it depends on the type of the game, and the requirements are mentioned on the game
box. Example :
 Acer predator – Nvidia GTX 1050 4GB Graphics Card.
 Alienware 17 – Nvidia Geforce GTX 1070 8GB Graphics Card.
Both computers have a high power graphics card for better performance. GPU :
 GPU stands for Graphics Processing Unit.
 The power of GPU depend on the model of the GPU.
 The graphics as an external component is attached on a slot known as an expansion
slot.
 It is the brain of the graphics card and is what creates the visuals that we see on the
monitor.
Types of Graphics Card :
1. Integrated – The graphics which are built into the motherboard are known as
Integrated, are generally used in most laptops, the cannot be easily upgraded.
2. Discrete – It is an external graphics card which is a hardware and added on a
motherboard as an extra component. Most people may not need an external
graphics card for their work on PC. Basic work like creating files, doing office
work, watching movies, listing songs, etc may not need a graphics card. But for the
users playing high resolutions games and video editing may need an external
component i.e graphics card for their purpose.

Features of Graphics Card :


 Memory – Graphics card carries its own memory. Memory range could be from
128MB to 2GB of memory. We should buy a card with more memory. More RAM
equals higher resolutions, more colors on the screen, and the best special effects.
 Multiple Screen support – Most new video cards have the ability to connect two
monitors to one card. This feature is very important for video editing and hardcore
gamer craves that extra real estate as well. You can either see two separate
Desktops or make the two monitors into one Desktop.
 Gaming And Video Editing – The discrete graphics card is not only for a gamer
but those who use high-end video editing software also get help as a high-quality
graphics card to reduce the rendering time of an image also give a high-def
environment.
 Connection – The graphic card is connected to the monitor using many different
ports put the port must be present on both monitor and Graphics card. These are
some common ports used to connect graphics card with a monitor.
1. VGA
2. HDMI
3. DVI
 Some motherboards have more than 1 expansion slot so we can add more than one
graphics card to make performance better. Many laptops nowadays come with an
integrated graphics card in them.

Manufacturers of Graphics Card : The two main manufacturers of discrete graphics


card are –
1. NVIDIA
2. AMD

Working of Email

The email refers to the electronic means of communication of sending and receiving
messages over the Internet. Email is the most common form of communication
nowadays. An email has significantly evolved over the past couple of years. There are
now stronger sync and messaging features along with stronger security and spam-
related features.

Components of an Email:

1. Sender: The sender creates an email in which he records the information that
needs to be transferred to the receiver.
2. Receiver: The receiver gets the information sent by the sender via email.
3. Email address: An email address is just like a house address where the
communication arrives for the sender and receiver and they communicate with
each other.
4. Mailer: The mailer program contains allows the ability to read, write, manage and
delete the emails like Gmail, Outlook, etc.
5. Mail Server: The mail server is responsible for sending, receiving, managing, and
recording all the data proceeded by their respective mail programs and then
processing them to their respective users.
6. SMTP: SMTP stands for Simple mail transfer protocol. SMTP basically uses the
internet network connection to send and receive email messages over the Internet.

Protocols of Email:

Emails basically use two types of standard protocols for communication over the
Internet. They are:-
1. POP: POP stands for post office protocol for email. Similar to a post office, our
approach is just to drop the email over the service mail provider and then leave it
for services to handle the transfer of messages. We can be even disconnected from
the Internet after sending the email via POP. Also, there is no requirement of
leaving a copy of the email over the web server as it uses very little memory. POP
allows using concentrate all the emails from different email addresses to
accumulate on a single mail program. Although, there are some disadvantages of
POP protocol like the communication medium is unidirectional, i.e it will transfer
information from sender to receiver but not vice versa.
2. IMAP: IMAP stands for Internet message access protocol. IMAP has some special
advantages over POP like it supports bidirectional communication over email and
there is no need to store conversations on servers as they are already well-
maintained in a database. It has some advanced features like it tells the sender that
the receiver has read the email sent by him.

Working of Email:

1. When the sender sends the email using the mail program, then it gets redirected to
the simple mail transfer protocol which checks whether the receiver’s email
address is of another domain name or it belongs to the same domain name as that
of the sender (Gmail, Outlook, etc.). Then the email gets stored on the server for
later purposes transfer using POP or IMAP protocols.
2. If the receiver has another domain name address then, the SMTP protocol
communicates with the DNS (domain name server) of the other address that the
receiver uses. Then the SMTP of the sender communicates with the SMTP of the
receiver which then carries out the communication and the email gets delivered in
this way to the SMTP of the receiver.
3. If due to certain network traffic issues, both the SMTP of the sender and the
receiver are not able to communicate with each other, the email to be transferred is
put in a queue of the SMTP of the receiver and then it finally gets receiver after the
issue resolves. And if due to very bad circumstances, the message remains in a
queue for a long time, then the message is returned back to the sender as
undelivered.
From Sender to Receiver:

The sender first needs the email address of the receiver to send the information to be
communicated via email. When the sender writes all the information in the email
along with the email address of the receiver and clicks on the send button, the mail
program transfers the message to the MTA (Mail Transfer Agent) which is transferred
from the local computer of the sender to the mail server via the SMTP protocol.
Then the webmail server looks out for the similar mail transfer agent of the receiver
and locates it whether it is using the same DNS (domain name server) or a different
service. The DNS looks for the mail exchanger service of the receiver. Now, the
SMTP protocol transfers the message between both mail servers through their mailing
agents. Then the receiver’s MTA finally transfers this message to the receiver’s local
computer.

SquirrelMail is a web-based email application used to access and manage emails


through a web interface. It provides users with a convenient way to read, send, and
organize their email messages using a web browser. SquirrelMail is designed to be
lightweight, fast, and easy to use, making it a popular choice for individuals and
organizations seeking a simple yet effective webmail solution.

Key Features

1. Web-based Interface: SquirrelMail allows users to access their email accounts


using a web browser, eliminating the need for email client software
installation. This makes it accessible from any device with an internet
connection.
2. Email Management: Users can perform various email management tasks,
such as reading, composing, replying to, forwarding, and deleting emails.
SquirrelMail supports standard email functions like attaching files, creating
folders, and organizing messages into different categories.
3. Multiple Account Support: SquirrelMail enables users to manage multiple
email accounts within a single interface. This is particularly useful for
individuals or businesses that maintain multiple email addresses.
4. Compatibility: SquirrelMail is compatible with various email protocols,
including IMAP (Internet Message Access Protocol) and POP3 (Post Office
Protocol 3). It works with popular email servers like Dovecot, Courier, and
Cyrus, ensuring seamless integration with existing email infrastructure.
5. Customization: SquirrelMail offers a range of customization options, allowing
users to personalize their email experience. Users can choose from different
themes, modify the layout, and configure various preferences according to
their needs.
6. Plugin Support: SquirrelMail provides a plugin architecture that allows users
to extend its functionality. There are numerous plugins available, offering
additional features like spell-checking, advanced search capabilities, PGP
encryption, and more.

Overall, SquirrelMail provides a straightforward and efficient solution for accessing


and managing email accounts through a web-based interface. Its simplicity,
compatibility, and customization options make it a popular choice for individuals,
small businesses, and organizations looking for a reliable webmail client.

GDB (Step by Step Introduction)



GDB stands for GNU Project Debugger and is a powerful debugging tool for C (along
with other languages like C++). It helps you to poke around inside your C programs
while they are executing and also allows you to see what exactly happens when your
program crashes. GDB operates on executable files which are binary files produced by
the compilation process.
For demo purposes, the example below is executed on a Linux machine with the
below specs.
uname -a

uname -a

Let’s learn by doing: –


Start GDB
Go to your Linux command prompt and type “gdb”.
gdb

gdb

Gdb open prompt lets you know that it is ready for commands. To exit out of gdb,
type quit or q.

To quit

Compile the code


Below is a program that shows undefined behavior when compiled using C99.

Note: If an object that has automatic storage duration is not initialized explicitly, its
value is indeterminate, where the indeterminate value is either an unspecified value or
a trap representation.
Now compile the code. (here test.c). g flag means you can see the proper names of
variables and functions in your stack frames, get line numbers and see the source as
you step around in the executable. -std=C99 flag implies use standard C99 to compile
the code. -o flag writes the build output to an output file.
gcc -std=c99 -g -o test test.C

gcc -std=c99 -g -o test test.C


Run GDB with the generated executable
Type the following command to start GDB with the compiled executable.
gdb ./test

gdb ./test

Useful GDB commands:


Here are a few useful commands to get started with GDB.
Command Description

run or r Executes the program from start to end.

break or b Sets a breakpoint on a particular line.

disable Disables a breakpoint

enable Enables a disabled breakpoint.

Executes the next line of code without


next or n diving into functions.

Goes to the next instruction, diving into


step the function.

list or l Displays the code.

print or p Displays the value of a variable.

quit or q Exits out of GDB.

clear Clears all breakpoints.

continue Continues normal execution

Display the code


Now, type “l” at gdb prompt to display the code.
Display the code

Set a breakpoint
Let’s introduce a break point, say line 5.

Set a breakpoint

If you want to put breakpoint at different lines, you can type “b line_number“.By
default “list or l” display only first 10 lines.
View breakpoints
In order to see the breakpoints, type “info b”.

View breakpoints

Disable a breakpoint
Having done the above, let’s say you changed your mind and you want to revert.
Type “disable b”.

Disable a breakpoint

Re-enable a disabled breakpoint


As marked in the blue circle, Enb becomes n for disabled. 9. To re-enable the recent
disabled breakpoint. Type “enable b”.
Re-enable a disabled breakpoint

Run the code


Run the code by typing “run or r”.If you haven’t set any breakpoints, the run
command will simply execute the full program.

Run the code

Print variable values


To see the value of variable, type “print variable_name or p variable_name“.

Print variable values

The above shows the values stored at x at time of execution.


Change variable values
To change the value of variable in gdb and continue execution with changed value,
type “set variable_name“.
Debugging output
Below screenshot shows the values of variables from which it’s quite understandable
the reason why we got a garbage value as output. At every execution of ./test we will
be receiving a different output.
Exercise: Try using set x = 0 in gdb at first run and see the output of c.
GDB offers many more ways to debug and understand your code like examining
stack, memory, threads, manipulating the program, etc. I hope the above example
helps you get started with gdb.

You might also like