View Feed
group-icon
Coffee Room
Discuss anything here - everything that you wish to discuss with fellow engineers.
12943 Members
Join this group to post and comment.
Special
Special • Aug 15, 2010

Operating Systems

Guys what is the difference between various operating systems.

Some operating system is said to be 8-bit such as dos,
some as 16 bit as xp,some 32-bit operating system such as vista etc

some are 128 bit.

i am really confused what it actually means, what is the real time effect


can anyone explain me😒
Special
Special • Aug 15, 2010
And please dont just copy and paste something here. Please do share what you actually understand about 8,16,32,64 etc operating systems
Hello Special,

Suppose i give you 2-bit space i tell you that use it to store maximum information you can.
you just store 4-types(power(2,2)types) of information in it 00(0) 01(1) 10(2) 11(3).
.
Again if i will give you 4-bit space to store then you can store maximum of power(2,4)=16bit.
Again if i give you 32-bit space to address the storage space then maximum you can store 4GB.So that's why with 32-bit computer system 4GB are the maximum you can.
(I think you know about the address buses).
So you can fire the question that why not 32 wires in the address buses from which you connect your memory(RAM) i think you shocked to hear it's answer.Well the answer is because of cost.you know na you have to use gold strip for high conductivity.
.
Many more thing behind it registers, address buses, or data buses. these are the basics what i give you.

Feel free to ask any question regarding topic.
Special
Special • Aug 15, 2010
i dont know anything about address buses
Special
Special • Aug 15, 2010
please tell me in a simple words
sushant005
sushant005 • Aug 15, 2010
Bus is a group of lines that is used to connect the CPU to the peripheral devices.
It is of three types :
1>address bus
2>data bus
3>control bus.
As a whole the above three groups are called as the system bus.

ADDRESS BUS:-Simple definition is that it refers to the wires that carry specific address from the CPU(processor) to the peripheral devices.Remember it is Unidirectional , it means bit flow in one direction i.e from the processor to the peripheral devices.

The need for the address bus is that CPU need to communicate with the peripheral devices or the memory location so for identifying the peripheral devices or the memory location we need to have address.Thus CPU uses address bus to identify the peripheral devices or memory location.

If you need more information or any doubt then let me know.
bill190
bill190 • Aug 15, 2010
Think of wires and switches and lights...

---switch------light
---switch------light
---switch------light
---switch------light

We have 4 wires and 4 switches, we can turn on 4 lights.

---switch------light
---switch------light
---switch------light
---switch------light
---switch------light
---switch------light
---switch------light
---switch------light

We have 8 wires and 8 switches, we can turn on 8 lights.

Now learn to use google.com to search for things and learn more. Entire books have been written on this subject and there is tons of information on the internet...

Read about "logic gates" and specifically an "AND Gate". Then you will learn how with just 4 wires in the above example, you can connect AND Gates and be able to turn on more than 4 lights!

Think of 1's and 0's as being on/off. You can get these various 1's and 0's with just 4 wires...

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

How many is that?
Special
Special • Aug 15, 2010
@bill190 it is obvious 4 bit combination will have 16 different combinations of 0 and 1,
but what are you trying to tell me i am not able to understand. Please explain it
Special
Special • Aug 15, 2010
@sushant005 thanks bro! now i know what is bus!
but what is the connection of address bus with the operating system??
Let me explain...actually through data buses you can send data and and through address bus you addressed them.
But in real there is no any existance of address bus (it's a logical concept).
So through data bus combination you know that up to how many RAM your computer support.
.
If data bus have 32 wires it means that bus can carry up to 32 bit and your computer can support up to 32-bit operating system. and your maximum RAM is power(2,32)=4GB.
You can use more then 4GB RAM but it doesn't have any meaning.
Special
Special • Aug 15, 2010
@mohit
can you clearify your last line
i couldnt get u
sushant005
sushant005 • Aug 15, 2010
mohit007kumar00
But in real there is no any existence of address bus (it's a logical concept).
you told that Address bus is a logical concept but i think its not true, it has existence.
Here is working of address and data bus:-

To read an instruction from the a memory location , CPU place the 16-bit address or 32-bit address(depends upon OS) on the address bus. Then the address on the bus is decoded and memory location is identified.Now CPU sends pulse called as Memory Read as the control signal then the pulse activate the memory chip and the contents of the memory location are placed on the data bus and brought inside the processor.

This the simple working architecture of data bus and address bus.

Do me correct if i am wrong.
Any doubts are welcomed...
bill190
bill190 • Aug 15, 2010
The more "wires" on an address bus, the larger memory it can have or address!

Here is a memory chip data sheet...
https://www.st.com/stonline/products/literature/ds/2420/m48z02.pdf

It has the following wires or connections...

A0
A1
A2
A3
A4
A5
A6
A7

And....

00000000
00000001
00000010
00000011
Etc.
@sushant Open your computer cpu and look there you find that there are two physical buses one is control bus and the other one is used as data bus and address bus.
In address bus also you have to transfer data(like 1,0).That will combined together to give the address.So you can say that there is no any existence of address bus on which address will transfer.There is only one bus that is data bus on which we can transfer data.

Now i think you cleared about that there is no any physical concept in address bus.We just say that this is address bus and this one is data bus.

@Special It means you can set 16GB RAM in your RAM slot but you are not able to use more than 4GB.There is no any meaning of other 12GB.

Feel free to ask any question regarding this.
sushant005
sushant005 • Aug 16, 2010
@Mohit No..there is existence of address bus.

I think you haven't open your CPU.If you open then you must see there are lines of wires on motherboard.These are referred as internal buses.I more thing the data bus,address bus and control bus are internal buses.

In our computer each peripheral devices or memory location is identified by a binary number called as an address, and each address is used to carry a 16-bit address(depends upon OS).

For ex a 8-bit microprocessors have 16 address lines.It has 16 address lines means that it is physical then how can you say that it a logical.
And mainly address bu a a group of unidirectional lines where as data bus a group of bidirectional lines and control bus are single lines(not group of lines).I think now you got it.

Do me correct if i am wrong.
Special
Special • Aug 16, 2010
@bill190 not able to get you bro!
the first line is ok! i can understand it but what about example?
Special
Special • Aug 16, 2010
@mohit
thanks!

this means that if i want a 128 bit operating system then it will have more address buses?? then it will require 20gb ram?

according to your calculation of (2,32)= 4gb ram and is a 32 bit operating system,
can u please tell me how did u calculate.......?
sushant005
sushant005 • Aug 16, 2010
i think bill was trying to show the 8-bit address line denoted as A0,A1,A2,A3,A4,A5,A6,A8....
i am not sure may be..
Special
Special • Aug 16, 2010
@Sushant and mohit

thanks brothers once again

please tell me whether address bus exists or not, and m not using a cpu right now to check whether address bus is present or not.

and please dont go on hardware side completly tell me what does bits of an os represent and how
sushant005
sushant005 • Aug 16, 2010
Special
@mohit
thanks!

this means that if i want a 128 bit operating system then it will have more address buses?? then it will require 20gb ram?

according to your calculation of (2,32)= 4gb ram and is a 32 bit operating system,
can u please tell me how did u calculate.......?
its depend upon the address lines.
A CPU has 16 bit address lines then the possibilities of addressing will be power(2,16=65,536) generally considered as 64,000 (64K) memory location.
So CPU has 12 address lines then it is capable of addressing power(2,12=4096)memory or round off to 4K.
Thus if a 128 operating system has 128 address lines then the possibilities of addressing is power(2,128=approx 20 GB)( i am not calculated).
Special
Special • Aug 16, 2010
sushant005
its depend upon the address lines.
A CPU has 16 bit address lines then the possibilities of addressing will be power(2,16=65,536) generally considered as 64,000 (64K) memory location.
So CPU has 12 address lines then it is capable of addressing power(2,12=4096)memory or round off to 4K.
Thus if a 128 operating system has 128 address lines then the possibilities of addressing is power(2,128=approx 20 GB)( i am not calculated).
64k memory is ok !but how to calculate how much ram is needed?
sushant005
sushant005 • Aug 16, 2010
Special
@Sushant and mohit

And please dont go on hardware side completly tell me what does bits of an os represent and how
As far i know that the data lines determines the bits of an OS.it means that if a CPU has 8 data lines which enables CPU to manipulate 8-bit data thus the largest number that can appear on a data lines is(1111 1111) i.e 255 base10.
Data lines also determines the word lenght and register size of the microprocessor(CPU).
So if there are 8 data lines means that it is a 8-bit microprocessor, same for 32 bit and so on....

Do me correct if i am wrong....
Special
Special • Aug 16, 2010
But how do we actually calculate it??
bill190
bill190 • Aug 16, 2010
That is the thing to focus on and learn about. How many address "lines" or "wires" there are and how many data "lines" or "wires" there are. And that determines how many 1's and 0's there can be!

This is easier to understand when looking at older computers because all those wires/lines/connections are visible. This is called a "Parallel" bus. Here is an ISA bus and cards which would go in an older computer. You can see all the connections on the cards...
Industry Standard Architecture - Wikipedia, the free encyclopedia

With newer computers, you may not "see" all those lines or wires because they cram all the information into one or two wires. This is called "serial" or a "network protocol". Here is one called I2C...
I2C-Bus: What's that?
bill190
bill190 • Aug 16, 2010
Special
But how do we actually calculate it??
If you have a Microsoft computer, click on Start, All Programs, Accessories, Calculator.

Then when the calculator pops up, click on View, then Scientific.

Then click on Bin (for binary) and enter 11111111
Then click on Dec (For Decimal) and it will show 255
Click on Hex (for Hexadecimal) and it will show FF.
Special
Special • Aug 16, 2010
@bill
Thanks bro!

i know this conversion, i just want to know how do we decide how much ram is needed for a particular operating system?
bill190
bill190 • Aug 16, 2010
Basically at a minimum, the basic amount of ram needed for it to work in a reasonable manner.

The programmer can see where program memory is stored and how much data memory is required and look at things like memory maps to determine what is needed.

I'm being very careful with my wording here because things are different these days from years past.

You might have a cell phone with all the programming stored in fast rom memory and it will work from there. And you might need very little ram memory.

Or you might have all the programming stored on a disk drive which is slow, then need to load all that into ram for it to work at a reasonable speed. Then you might need lots of ram!

Paging can also be done...
Paging - Wikipedia, the free encyclopedia
Leo
Leo • Aug 16, 2010
When i saw the question i was quit sure its easy to answer so anyone can easily do that, but after reading replies i can't understand why explaining such easy thing is becoming pile of trouble to 3 page replies. So this final touch i want to provide you with all things that needs to be cleared.

CPU architectures are build to address maximum amount of data, as we know data is represented in two bits (0,1) so we must be able to address data in order of 2. With respect to computer pheripherals there are only data bus and control bus, address bus is 100% logical have no existance. Address are mapped combining data bus and control bus. A capacity of CPU is calculated via its capacity to use data bus, means if we say a CPU 8085, it is 8bit capable of mapping only 8bits data bus and 8bits address bus, whereas 8086 is 16bit capable of mapping 16bit data bus and by combining it with control bus you can attain address bus capacity of mapping 20bits. From here it should be clear that address bus is logical not physical though computer organization books refer it as seperate(it is done to explain the feature of address bus not to refer it as physical).

Now how to calculate which CPU can map how much data depends on 2(because data is represented in (0,1) i.e two bits) to power of number of data bus.
Example:
If CPU is 8bit then data mapped is 2^8= 256 bits
If CPU is 16bit then data mapped is 2^16=65536 bits
If CPU is 32bit then data mapped is 2^32=4294967296 bits

I hope that is quite easy to understand. Now what 8bit, 16bit, 32bit OS refers to is capacity of that OS to utilize available data bus. It means if you run a 32bit OS on 64bit CPU architecture then it'll run flawlessly just because all new CPU architectures are capable to support thier precursors but will not use all available bus. Address mapping is done logically via hexadecimal numbers wheras physical mapping is done in binary mode.

And i don't think this is quite a pie question to ask since number systems and operation on bits are the very first thing you learn when you take any computer related course. Googling is always a best part for getting answers and if you still have difficulty then go through your first year books and further reading can be done by Computer Organization And Architecture for Performance by William Stalling. This book have several international awards and is used as reference book in most of the leading universities of world. There is nothing questionable about this book. Go through it but after having a look at your course book carefully, i know you are still a student, just don't make fun here.
sushant005
sushant005 • Aug 17, 2010
Thanks LEO,
Yes you are right that address bus is a logical concept.
It means that in a 8-bit microprocessor system,maximum 16 address lines or wires are available for memory and is capable of identifying 2^16(65536) memory register,each with a 16-bit address.
Any yes we are not making fun here we are just discussing the topics so that some innovative ideas or new thing comes out whether it is simple topic or complex..and learning is the engineering spirits and got no limitation just like horizon.
Leo
Leo • Aug 17, 2010
sushant005
Thanks LEO,
Yes you are right that address bus is a logical concept.
It means that in a 8-bit microprocessor system,maximum 16 address lines or wires are available for memory and is capable of identifying 2^16(65536) memory register,each with a 16-bit address.
Any yes we are not making fun here we are just discussing the topics so that some innovative ideas or new thing comes out whether it is simple topic or complex..and learning is the engineering spirits and got no limitation just like horizon.
Hi Sushant, so far as i can remember things you are discussing is the very first thing i learned when i took Computer Science as course and so far as i know nearly all my friends also read this as first thing so i don't think i said something wrong but please don't take it otherwise, don't be mad at me.
Special
Special • Aug 17, 2010
sushant005
Thanks LEO,
Yes you are right that address bus is a logical concept.
It means that in a 8-bit microprocessor system,maximum 16 address lines or wires are available for memory and is capable of identifying 2^16(65536) memory register,each with a 16-bit address.
Any yes we are not making fun here we are just discussing the topics so that some innovative ideas or new thing comes out whether it is simple topic or complex..and learning is the engineering spirits and got no limitation just like horizon.
@sushant
THANKS FOR SUPPORTING ME!
@LEO thanks for your answers and concepts
but still if you dont think i(WE) are making fun out here,please give me some practial examples , i guess an example with microsoft operating system will be a better one

i got your point
bill190
bill190 • Aug 17, 2010
With a Microsoft operating system for a PC (there are others!), all the programming would be on a disk drive as well as programs like word processing, Internet Explorer, etc.

When you boot the system, it loads the operating system into ram memory from the disk drive. And just enough to get the system basically working.

Then as you use programs like word processing, it loads these from the disk into ram memory. Notice the first time you use something, it takes a while for it to work. But the next time you use something, it comes up real fast. That is because it is in ram memory already!

If you were just using word processing, then you would just need enough ram for the basic operating system and the word processing program.

If you had a system like that, then suddenly started using a lot of different programs, then it would remove the word processing program from ram and stick another program in its place. Then when you went to use word processing again, it would take a long time to load as it would need to be read from the disk into ram memory again.

Thus you could add more ram memory and many programs could be loaded into ram memory and there would be plenty of room for them to all stay there. The system would be faster.

That is the basic idea. This gets to be quite complex though. They can make programs which only load what is needed into ram. Then as you use certain features of the program, these are loaded into ram at that time.

And with the operating system, there are optional services like networking which some people may not use, and would not be loaded into memory, thus these people could use less memory.

As to how much memory is needed, Microsoft will say the "minimum requirements" for each operating system. This will be on the back of the box. Or here is an example for XP...
System requirements for Windows XP operating systems

Here is for the old MSDOS operating system...
Dos 6.22 recommended system requirements

Here is for Windows 7...
Windows 7 system requirements - Microsoft Windows
Leo
Leo • Aug 18, 2010
Special
@sushant
THANKS FOR SUPPORTING ME!
@LEO thanks for your answers and concepts
but still if you dont think i(WE) are making fun out here,please give me some practial examples , i guess an example with microsoft operating system will be a better one

i got your point
Hi buddy Microsoft's very first release was MS-DOS which was specially designed to run on previous 80x86 architectures was a 16bit OS. It was able to use all 16 Data lines in CPU and was able to map 64kb of memory. The next major release we are familiar with is MS-Windows, it was designed to run on next generation of x86 family processors, this new family was compatible to work with both 16bit and 32bit processing power and hence MS decided to port MS-DOS with all previous Windows Version to Windows Vista. Thus all pre-releases became 16bit+32bit OS, the problem came when x86 family processors became 100% 32bit so MS decided to implement 16bit emulator NTVDM which was able to run DOS on it that too in full screen mode and like this Windows XP was able to carry DOS on his back for further journey. Since Windows XP is 32bit OS it is capable of using all 32 data lines giving a whopping power to map 4GB memory.

The next level of CPU architecture hit market in early decades which was capable of using 64bit data bus and was able to work as 32bit x86 family CPU also. This lead to new OS which was 32bit+64bit compatible and was called as Windows Vista. And again MS ported MS-DOS with it as tradition and same emulator NTVDM with it. NVDTM was designed to work with CPU with 16bit+32bit capability but Vista is 32bit+64bit capable and hence Vista can never run MS-DOS in full screen mode and you have to use another emulator known as DOS BOX to run DOS applications.

Another word of importance for programmers who use C, please don't use TC3 or their previous versions for programming, they are 16bit compilers, the better alternatives are Dev CPP, MS Visual Studio Student's Edition(it's free to download and use) or better use gcc in Linux or Unix. And while programming for graphics please don't use BGI, BGI is dead now, better use Qt and OpenGL for graphics programming in C. You are not going to benefit anyhow today by working on BGI.
anandkumarjha
anandkumarjha • Aug 18, 2010
Can anyone explain me what is cache memory in the operating system?
@anand Well cache memory is also a semiconductor memory which is used to speedy your processing time.
Cache memory is placed between cpu and the main memory(RAM).You know 90% of our information is fetched from cache memory for doing operation on them by using no of registers.
you may question that why in cache memory why not in RAM.
->well cache memory is 5-10 times faster then RAM memory.
->Size of ram memory is larger then cache memory so searching for data in RAM takes more time then in cache memory.

Now you may have the question that which program to give more preference to go for cache memory??
During the analysis of large number of programs a number of instructions are executed repeatedly. This may be in the form of a simple loops, nested loops, or a few procedures that repeatedly call each other.So the instructions which is repeated again and again will go for the cache memory.Because density of cache memory is low so that it takes less time for searching same keywords again and again.

Hope you clear about cache memory.
bill190
bill190 • Aug 18, 2010
A hardware thing... In general cache memory is faster and more expensive than the regular ram memory. When using this, it speeds up calculations and so forth.

Beyond that, it gets to be quite complex as to how a cache can be used in different ways to speed things up...
Cache - Wikipedia, the free encyclopedia
sushant005
sushant005 • Aug 18, 2010
The concept of cache memory is introduced just to speed up the PC performance.
We all know that processor is bit faster so it needs a place where it can store the information/instruction for the faster operation so to fulfill this requirement the concept of cache memory is introduced which minimized the outgoing transaction from the processor and it receives the information from the main memory to the processor thats why it is place in between the processor and the main memory.
It is a semiconductor device made up of silicon and it is called as the SRAM(static RAM).As bill said that it is expensive then the RAM and also got less memory then the RAM.
The first cache was introduced in Intel 80486 having the cache memory of 8 KB, it is the first processor with the cache memory.
After that in Intel Pentium(1993) it has got two caches of 8 KB.
In Intel Pentium 2 the memory of the was doubled that 16 KB.

Now we find L1 and L2 in our processor and ever L3 cache is also there in recent processors ,earlier in older system the L2 cache was in the motherboard itself.

Share this content on your social channels -