Testing the behavior of whole system as defined in software requirement specification is known as System Testing.
In other words we can say that "System Testing is a level of the software testing process where a whole product (i.e- a software or software application in terms of IT industry) is tested when it is integrated together" hence System Testing is done after Integration Testing and before Acceptance Testing.
Example: During the process of manufacturing a computer all parts are manufactured or produced separately and all units are tested separately (i.e- CPU, motherboard, Keyboard etc). When two or more units are ready and assembled together then Integration Testing is performed and later on when the complete product is integrated and assembled together, System Testing is performed.
Who performs it?
Normally, independent Testers perform System Testing.