New User Special Price Expires in

Let's log you in.

Sign in with Facebook


Don't have a StudySoup account? Create one here!


Create a StudySoup account

Be part of our community, it's free to join!

Sign up with Facebook


Create your account
By creating an account you agree to StudySoup's terms and conditions and privacy policy

Already have a StudySoup account? Login here

Prin Cmpt Oper Sys

by: Ms. Nathen O'Keefe

Prin Cmpt Oper Sys CSC 521

Ms. Nathen O'Keefe
GPA 3.61


Almost Ready


These notes were just uploaded, and will be ready to view shortly.

Purchase these notes here, or revisit this page.

Either way, we'll remind you when they're ready :)

Preview These Notes for FREE

Get a free preview of these Notes, just enter your email below.

Unlock Preview
Unlock Preview

Preview these materials now for free

Why put in your email? Get access to more of this material and other relevant free materials for your school

View Preview

About this Document

Class Notes
25 ?




Popular in Course

Popular in ComputerScienence

This 16 page Class Notes was uploaded by Ms. Nathen O'Keefe on Thursday September 17, 2015. The Class Notes belongs to CSC 521 at University of Miami taught by Staff in Fall. Since its upload, it has received 71 views. For similar materials see /class/205769/csc-521-university-of-miami in ComputerScienence at University of Miami.

Similar to CSC 521 at UM

Popular in ComputerScienence


Reviews for Prin Cmpt Oper Sys


Report this Material


What is Karma?


Karma is the currency of StudySoup.

You can buy or earn more Karma at anytime and redeem it for class notes, study guides, flashcards, and more!

Date Created: 09/17/15
7m nv r m m Silence is bea SONATA User s Manual Manuel de 39utiisateur Anwenderhandbuch Manuale per I operatore Manual del usuario At Antec we cont1nually re ne and 1mproVe our products to ensure the h1ghest qualrty So 1t s poss1ble that your new case may d1ffer slrghtly from the descr1pt1ons 1n th1s manual Th1s 1sn t a problem 1t s s1mply an 1mprovement As of the date of publrcatron all features descr1pt1ons and rllustrattons 1n thrs manual are correct Disclaimer Th1s manual 1s 1ntended only as a gu1de for Antec s Computer Enclosures For more comprehensrve 1nstruct1ons on 1nstall1ng your motherboard and per1pherals please refer to the user s manuals wh1ch come wrth your components and drrves SONATA II USER39S MANUAL Th1s case 1s des1gned to meet lntel s Thermally Advantaged Chass1s TAC des1gn gu1de requrrements It comes wrth a unrque Antec Chass1s Arr Gurde ACAG to help cool h1gh performance C s It comes w1th an Antec SmartPower 20 ser1es power supply w1th the newest ATX12V Vers1on 20 spec1f1cat1ons Th1s 1ncludes dual 12V output c1rcurtry that delrvers safer and more rehable output to your system s components as well as h1gher energy eff1c1ency wh1ch reduces power consum pt1on by up to 25 savrng you money on your electr1c1ty lel In a d1t1on we ve 1ncluded a Varrety of Jndustrralegrade protectrve c1rcu1try OCP over current protect1on OPP over power protect1on OVP over Voltage protect1on UVP under Voltage protect1on and SCP short crre curt protect1on THE PUSHPULL FAN QUIET POWER SUPPLY SmartPower 20 features an Lnnovauve desrgn to help decrease no1se dur1ng normal use but wh1ch sull allows for super1or coolJng capab1ht1es as load Jncreases To thrs end SmartPower 20 features both an 1nternal Jntake fan as well as a unlque external exhaust fan The 1nternal Jntake fan operates when the power supply 1s turned on It rotates slowly to blow out the hot aJr from the power supply and 1s thermally controlled speedJng up as heat Jncreases The external exhaust fan remains off to make sure your computer maJntaJns a quret comput1ng enV1ronment untJl the power supply senses the requrred temperature to turn on the external exhaust an Th1s power supply 1s backwards compat1ble wrth prevrous ATX foam factor power supphes To make sure you connect your power supply properly please refer to the user manuals supplred w1th your motherboard and per1pherals before connect1ng any of them to the power supp y The power supply comes w1th a main power sw1tch Make sure you turn the sw1tch to the ON I pos1t1on before you boot up your computer for the rst t1me Applies only to models designed for sale in the European Union martPower 20 ser1es power supply models des1gned for the EU 1ncludes Power Factor Correct1on PFC c1rcurtry 1n accordance w1th European standard regulat1on code EN 7372 By alter1ng the anut current wave shape PFC meroves the power factor of the power supply Th1s results Ln 1ncreased energy eff1c1ency reduced heat loss prolonged lrfe for power d1str1but1on and consumpt1on equrpment and meroved output Voltage stab1 ty SETTING UP 1 Place the case upr1ght on a flat stable surface The power supply fan should be at the back fac1 Note not applrcable to models des1gned for the European Unron Before 1nstallat1on check 2 the red voltage switch setting on the Power supply It should match your local voltage 115V for North America Japan etc and 230V for Europe and many other countries If it doesn39t match Please change the setting If you don39t you could damage your equipment and void your warranty Remove the thumbscrews from the panel with the latch Unlock the side panel swing the panel out and remove it Set the panel safely aside Note Please don39t try to use your flngemails to pry or lift the panel Inside the case you should see the power supply the 120mm TriCool fan preinstalled the Antec Chassis Air Guide ACAG some wiring with marked connectors U SB PWR etc and installed IO panel a power cord You will also nd a bag of hardware screws brass standoffs plastic stands etc Lay the case down with the open side facing up You need to remove the Antec Chassis Air Guide ACAG before your motherboard installation To remove the ACAG Remove the two screws and loosen the thumbscrew found at the bottom of the ACAG picture 1 Loosen the thumbscrew near the 120mm fan grill that is holding the ACAG to the chassis picture 2 Loosen the thumbscrew at the top of the ACAG under the power supply picture 3 With both your hands holding the ACAG slowly slide the ACAG toward the front of the case until it stops Raise the top of the ACAG and slide the ACAG out from its position You will see a Tube remaining in the chassis You can leave the tube in the case If you want to remove the tube slide the tube towards the top of the case Pull the tube away and put the tube aside v 1mm thumbscrews two screws 3 INSTALLING THE MOTHERBOARD This manual does not cover CPU RAM or expansion card installation Please consult your motherboard manual for speci c mounting instructions and troubleshooting 1 Lay the case down with the open side facing up The drive cages and Power supply should be visible 2 Make sure you have the correct IO panel for your motherboard If the panel provided with the case isn39t suitable please contact your motherboard manufacturer for the correct I 0 panel 3 Line up your motherboard with the standoff holes and remember which holes are lined up Not all motherboards will match with all the provided holes this is normal and won39t affect functionally In other words there will likely be eXtra holes 4 Remove your motherboard by lifting it up 5 Screw the brass standoffs into the threaded holes that line up with your motherboard Do not overtighten the standoffs Some standoffs may be pre installed for your convenience 6 Place your motherboard on the brass standoffs 7 Screw in your motherboard to the standoffs with the provided Philips head screws Your motherboard is now installed CONNECTING THE POWER AND LED The power supply conforms to the latest ATX12V Version 20 standard It is also backwards compatible with previous ATX form factor power supplies Before you connect the power supply to any of your devices please consult the appropriate user manuals for your motherboard and other peripherals The power supply is also equipped with a 3 pin fan signal connector Connect it to one of the fan connectors on your motherboard You may monitor the speed of the rear power supply fan through your motherboard BIOS or through the monitoring software that39s supplied with your motherboard Note At low temperatures the fan may run as slow as 950RPM At these speeds some motherboards may not properly detect the fan speed and may generate false warnings of fan failure To ensure proper monitoring of the fan please check your motherboard manual 1 Connect the 24 pin Main Power Connector and the 39 Picture 5 Plcture 6 4 pm 12V connector to your motherboard as needed If your motherboard uses a 20 pin connector detach the 4 pin attachment on the 24 pin power connector see pictures 5 and 6 2 Connect the Reset switch labeled RESET SX to your motherboard at the RST connector Make sure the label always faces the front of the case 3 Power LED labeled POWER LED connector is located behind the Reset connector Power Switch labeled POWER SX connects to the PWR connector on the motherboard Speaker labeled SPEAKER connector is behind the PWR connector Hard Drive LED labeled HDD LED connects to the IDE connector LED I LED II connectors This case comes with two eXtra LEDs marked LED I LED II You may use these LED for various purchases such as SCSI LED Message LED etc For 247pin For 207pin motherboards motherboards gt199 CONNECTING THE USB PORTS You will find a single 10 pin connector on a cable attached to the front USB ports This is an Intel standard connector which is keyed so that it can39t be accidentally reversed as long as it is connected to a proper Intel standard motherboard header Connect the 10 pin connector to your motherboard 4 headers so that the blocked p1n ts over the mlssrng header p1n Note Please check your motherboard manual for your USB header p1n layout and make sure 1t matches the attached table If 1t does not match th1s Intel standard please call Antec customer support at 800 ZZANTEC North Amerrca or at 31 0 10 46272060 Europe to buy a USB adapter Thrs adapter w1ll allow you to connect the front USB to your motherboard on a pJnebyeprn bas1s Intel Standard USB Header Pin Layout OOOD 00000 N Pin USB Power 1 2 USB Power 2 Posmve Posmve Ground 1 Ground 2 Pm o 10 CONNECTING THE IEEE 1394 FIREWIRE ILINK PORT You w1ll nd a s1ngle 107p1n connector on a cable attached to the front IEEE 1394 connectron Th1s 1s an Intel standard connector wh1ch 1s keyed so that 1t can t be acc1dentally reversed as long as 1t 1s connected to a proper Intel standard motherboard header Connect the 107p1n connector to your motherboard header so that the blocked p1n ts over the m1ss1ng header p1n Note Please check your motherboard manual for your IEEE 1394 header pJn layout and make sure 1t matches the attached table If you Jntend to connect the front FueWrre port to an IEEE 1394 addeon card that comes w1th an externaletype IEEE1394 connector please call Antec customer servrce at 800 ZZANTEC North Amerrca or 31 0 10 46272060 Europe to purchase an adapter Thrs adapter wrll allow you to connect the front IEEE 1394 port to the externaletype connector Standard Pin Assignment for IEEE 1394 Connector OOOD 00000 N Pin Pin TPA 2 Ground 4 1 3 5 TPB 7 12V 9 Ground 9 o CONNECTING THE AUDIO PORTS There 1s an Intel standard 107p1n connector wrth 7 1nd1v1dual w1res w1th connectors com1ng out from the front panel speaker and mlcrophone connectton If your motherboard supports Intel s standard onboard aud1o connector you can plug 1n the 107p1n connector d1rectly onto the board For nonelntel standard aud1o connectton you need to plug the 7 1nd1v1dual connectors to the motherboard See 1nstruct1on below Locate the 1nternal aud1o connectors from your motherboard or sound card Consult your motherboard or sound card manual for the p1n7outpos1t1ons 1 Mcrophone Srgnal Pm Connect the MIC connector to thrs pm 5 Mcrophone Power Connect the MICeBIAS connector to this pin Ground Pin Connect the AUD GND connector to this Front Right Speaker Out Pin Connect the FPOUTeR connector to this pin Front Right Speaker Out Pin Connect the FPOUTeL connector to this pin Rear Right Speaker Out Pin Connect the RETeR connector to this pin Rear Left Speaker Out Pin Connect RETeL connector to this pin gt195 ka INSTALLING 35quot DEVICES There are two external 35H drive bays right under the 525 drive bays Press the two metal tabs on the sides of the 35 drive tray and pull the 35 drive tray out of the case You may wish to open the bezel door to facilitate this 1 Remove the drive bay cover from the drive bay that you intend to install the drive 2 Mount your floppy drive or other external device into the drive bay Repeat the same procedure for the other drive as necessary 3 Slide and lock the drive tray back into the case 4 Find a small 47pin power connector on the power supply and connect it to the male 47pin connector on the device There are 4internal drive bays right under the external 35 drive bays for hard drives Each comes with an individual drive tray which mounts through the open side panel of the case 1 Squeeze the metal clips on each side of the tray and slide the tray out 2 Mount your hard drive or other internal 35 device into the drive tray through the bottom rubber grommets with the special screws provided Note Don t overetighten Overettghtening the screws will harm the vibrat1on and noise reducing ability of the rubber rommets 3 Slide and lock the tray back into the case 4 Find a peripherial power molex connector on the power supply and connect it to the male 47pm connector on the device 5 Repeat the same procedure for the other devices as necessar Note You can mount the drives with either the connectors facing you or away from you If you mount them with the connectors facing away from you into the case you may wish to connect the data cables before sliding the drive into the locked posit1on Note Mount1ng the drives with the connectors facing you towards the open side of the case may make squeez1ng the release clips more dif cult 525quot DEVICE INSTALLATION There are three 525 drive bays Each drive bay comes with a plasttc cover with two drive rails attached behind the cover 1 Remove the plasttc drive bay cover and remover the drive rails from the cover You may wish to open the bezel door to facilitate this 2 Mount the drive rails onto the sides of the 525 device Make sure the metal tabs are angled on the outside and facing towards the front of the device 3 Slide the device into the drive bay until you hear a click 4 Mount the other devices accordin l 5 Connect a peripherial power connector from the power supply to the male connector on each of the devices COOLING SYSTEM The Rear Exhaust TriCool fan The Sonata H come5 w1th one 120mm Tr1Cool fan pre1n5talledw1th 51l1cone grommet5 1n the rear Note The default 5ett1ng of the fan 15 Low We recommend th15 5peed to maX1m1ze the qu1et comput1ng exper1ence Th15 fan ha5 a three75peed 5w1tch that let5 you choo5e between qu1et performance or mammum cool1ng See 5pec1f1cat1on5 below The fan 15 1n5talled 5o that the a1r 15 blow1ng out of the ca5e Connect a large 47p1n connector from the power 5upply to the male 47p1n connector on the fan Note The m1n1mum Voltage to 5tart the fan 15 5V We recommend our u5er5 to 5et the fan 5peed to l hgh 1f you choo5e to connect the fan to a fan control dev1ce or to the Fanionly connector found on 5ome Antec power 5uppl1e5 A fan control dev1ce regulate5 the fan 5peed by Vary1ng the Voltage to 1t The Voltage may 5tart a5 low a5 45 V to 5V Connecttng aTr1Cool 5et on Med1um or Low to a fanicontrol dev1ce may re5ult 1n the fan not be1ng able to 5tart The already lowered Voltage from the fan control dev1ce w1ll be further reduced by the Tr1Cool c1rcu1try below 5V Speci cations S1ze 120 X 120 X 254 mm Rated Voltage DC 12V Operattng Voltage 102V 13 8V Speed Input Air Flow Static Acoustical Input Current Pressure Noise Power ngh 0 24A 2 24 mmm 2 54 mmrHZO 2000 RPM Max 79 CFIVD o lOmchrHZO 30 BA 2 9 W edium 159me111 153 mmyHZO 0 2A 1600 RPM 56 CFlVD O 06 mchyHZO 28 dBA 2 4 W l l mem 0 92 mmrHZO 0 13A 1 6 W 1200 RPM 39 CFM 0 041ChHZO 25 dBA The Front 120 mm Fan Th15 ca5e come5 w1th one opttonal 120mm fan mount 1n the front r1ght beh1nd the 35 1nternal dr1ve bay5 The front fan 5hould be 1n5talled 5o that the a1r 15 blow1ng 1nto the ca5e from the front Note We recommend NOT using the front fan for maximum quiet computing If you choo5e to 1n5tall a front fan we recommend u51ng Antec Tr1Cool 120mm fan and 5et the 5peed to LOW The Advanced Chassis Air Guide ACAG Note We strongly recommend running the ACAG without any fans since adding fans means adding noise The ACAG run5 from the rear of the ca5e to the CPU to prov1de fre5h cool a1r to the CPU w1thout the help of any fan5 pa551ve coolJng lt come5 w1th two opttonal f mount5 7 one 92mm mount for the CPU and one 80mm mount for your h1gh performance VGA card for acttve cool1ng CPU Cooling You can adu5t the 92mm CPU fan mount on the ACAG 1n three d1rect1on5 5o 1t can be po51t1oned r1ght on top of your CPU cooler InstallationAdjustment of the ACAG ote Before 1n5tall1ng the ACAG be 5ure that you have 1n5talled all of your expan51on card5 f1r5t 7 2 If you removed the tube under setung up 1nsert the notches on the tube 1nto the tabs on the case and sl1de the tube towards the bottom of the case to secure 1t Sl1de the ACAG on to the Tube Sl1de the ACAG so that the 92mm fan mount 1s on top of your CPU cooler Note you can feel the ACAG cl1ck as 1t passes over notches There are s1X pos1t1ons you can select Th1s moves the ACAG from the rear to the front of the case or v1ce versa Fasten the thumbscrew and the screws p1cture 1 2 and 3 Loosen the thumbscrew as shown 1n the p1cture 4 Th1s allows the 92mm fan hood to move from the top to the bottom of the case or v1ce versa Shde the 92mm fan hood to the des1red pos1t1on Make sure your CPU cooler 1s totally under the hood Note There are ve pos1t1ons that you can select Make sure to al1gn the wh1te mangle w1th the wh1te l1nes so that the thumbscrew can be fully screwed 1n Fasten the thumbscrew You have f1n1shed the 1nstallat1on P N SJ 0 Note the 92mm fan mount 1s also des1gned to be he1ght adustable to ach1eve better coohng You may adust the fan he1ght w1th1n a 20mm range To lower the CPU fan hood 7 W1th the ACAG 1n 1ts pos1t1on use a ruler to carefully measure the d1stance between the top of your CPU cooler and the 92mm fan hood Record the d1stance between hood and the top of the CPU cooler 8 Remove the ACAG from the case Note Leave the Tube 1n place 9 Loosen the thumbscrew hold1ng the 92mm fan mount to the ACAG as shown 1n the p1cture 5 and lower the mount to the des1red pos1t1on accord1ng to the measurement W1th a ruler next to the hood adust the hood downwards to the des1red pos1t1on Note There are four pos1t1ons you can select 10 Fasten the thumbscrew 11 Put the ACAG back to the case u can mount a 92mm fan to the CPU fan mount to enhance the cool1ng of your CPU cooler Note If you choose to install the 92mm fan for the CPU you must run it either with the 80mm VGA fan mount capped or with the 80mm fan installed See instructions below for VGA Cooling Opening the 80mm VGA fan mount without a fan blowing into the case will result in hot air being sucked through the 80mm fan mount from the VGA card to the CPU This will severely decrease the cooling effect of your CPU cooler To install the 92mm fan 12 Remove the ACAG from the case 13 Loosen the thumbscrew hold1ng the 92mm fan mount Number 5 1n P1cture 1 to the ACAG and sl1de the fan mount all the way out of the ACAG Note Remember the pos1t1on that you had the hood 1n so that you can put the hoodfan back 1n the correct pos1t1on 14 Install a 92mm fan to the mount so that the a1r 1s blow1ng 1nto the CPU cooler Secure the fan w1th screws 15 Sl1de and fasten the mount w1th the fan back to the ACAG 16 If you are done 1nstall1ng fans 1n the ACAG you can sk1p the VGA Card Cool1ng sect1on VGA Card Cooling There 1s a capped 80mm fan mount on the ACAG above the VGA card You can 1nstall an 80mm fan to supply fresh a1r to the VGA card act1ve coohng Th1s 1s prov1ded for you 1f you are us1ng a h1gh performance VGA card that needs extra cool1ng Note If you choose to add the 80mm fan for the VGA card you MUST install the 92mm fan for the CPU at the same time To run the 80mm fan without the 92mm fan for the CPU will result in the air being sucked from the CPU fan mount instead of blowing onto the CPU This will not only hinders the cooling effect of your VGA cooler but also severely decreases the cooling effect of your CPU cooler To install the 80mm VGA fan 1 Re the two screws hold1ng the sllver metal str1pe to the arr 1nlet that connect1ng to the Tube of the ACAG Set the parts as1de Remove the two black screws holdrng the plasttc panel to the ACAG Carefully remove the plast1c panel from the ACAG by hft1ng upwards near the tabs Carefully use your ngers to detach the tabs holdrng the 80mm fan cap to the panel Install the 80mm fan to the fan open1ng so that the arr 1s blow1ng 1nto the VGA card Secure U 4gtP N the fan w1th screws Replace the plasttc panel and fan onto the ACAG by press1ng down around the tabs You Will 0 hear them snap 1nto place Replace the screws from steps 1 and 2 gt1 Maintaining the Washable Air Filter There 1s a washable arr lter bethd the front bezel Tllt the case backwards so you can use you ngers to squeeze the two tabs on the lter to remove 1t We recommend washing the arr lter as often as requrred by env1ronmental cond1t1ons at least once a month 1n1t1ally FaJlure to keep the 1nstalled arr lter clean Will result 1n h1gher system temperatures and poss1ble stab1l1ty problems From tJme to t1me 1t wlll be necessary to wash the Jnstalled aJr lter The frequency Will change dependrng on system usage users whose systems run 247 lel hkely have to checkwash more often than those who don t use the1r systems every day and on env1ronmental cond1t1ons The double Hinge Door Thls case comes w1th a double thge door that can open 270 degrees so 1t Will be parallel w1th the s1de panel for easy access In case you need to remove the door Open the door to 90 and gently press the small plast1c tab on the upper h1nge Tllt the door 2 away from the upper hlnge pJn then 11ft the door off the lower h1nge p1n Set the door as1de 1n a safe place N To replace the front bezel double h1nge door Place the lower h1nge slot over the lower h1nge pm and press or rotate the top of the door 1n so that the tab fully engages wlth the upper thge p1n Antec Inc 47900 Fremont Blvd Fremont CA 94538 Tel 5107701200 Fax 51017071288 Antec Europe BV Sydneystraat 33 3047 BP Rotterdam The Netherlands Tel 31 0 10 4622060 Fax 31 0 10 4374752 Technical Support US 8 Canada 17800722ANTEC customersupportanteccom Europe 31 0 10 4622060 europe techsupportantec com wwwanteocom Copynght 2005 Antec Inc All ghts reserved All trademarks are the property of then respectwe owners Reproducnon m whole or m pm w1thout wr1tten perm1ss1on1s proh1b1ted Punth m Chm Versron 1 o 1 4252005 Porting Linux to X8664 A ndi Klee n SuSE Labs ak suselde Abstract x8664 is a 64bit extension for the 1A3 architec ture which is supported by the next generation of AMD CPUs New features include 64bit pointers a 48bit address space 16 general purpose 64bit inte ger registers 16 SSE Streaming SIMD Extensions registers and a compatibility mode to support old binaries The Linux kernel port to x8664 is based on the existing 1A3 port with some extensions including a new syscall mechanism 64bit support and use of interrupt stacks It also adds a translation layer to allow execution of the system calls of old 1A3 binaries This paper gives a short overview of the x8664 ar chitecture and the new x8664 ABl and then dis cusses internals of the kernel port 1 Introduction x8664 is a new architecture developed by AMDl It is an extension to the existing 1A3 architecture The main new features over 1A3 are 64 bit point ers a 48bit address space 16 64 bit integer regis ters and 16 SSE2 registers This paper describes the Linux port to this new architecture The new 64bit kernel is based on the existing i386 port It is ambitious in that it tries to exploit new features not just do a minimum port and redesigns parts of the i386 port as necessary The x8664 kernel is developed by AMD and SuSE as a free software project 2 Short overview of the x8664 archi tecture 1 will start with a short overview of the x8664 ex tensions This section assumes that the reader has basic knowledge about 1A32 as only changes are explained For an introduction to 1A32 see Intel x8664 CPUs support new modes legacy mode and long mode When they are in legacy mode they are fully 1A3 compatible and should run all exist ing 1A3 operating systems and application software unchanged Optionally the operating system can switch on long mode which enables 64bit opera tion In the following only long mode is discussed The x8664 linux port runs in long mode only Certain unprivileged programs can be run in com patibility mode in a special code segment which allows existing 1A3 programs to be executed un changed Other programs can run in long mode and exploit all new features The kernel and all inter rupts run in long model A signi cant new feature is support for 64bit ad dresses so that more than 4GB of memory can be addressed directly All registers and other struc tures dealing with addresses have been enlarged to 64bit Eight new integer registers added RSR16 so that there is now a total of 16 general purpose 64bit registers Without address pre xing the code usually defaults to 32bit accesses to registers and memory except for the stack which is always 64bit aligned and jumps 32bit operations on 64bit reg isters do zero extensionl 64bit immediates are only supported by the new movabs instruction A new addressing mode RIPrelative has been added which allows addressing of memory relative to the current program counterl x8664 supports the SSE2 SlMD extensions Eight new SSE2 registers XMMS XMM15 have been added over the existing XMMOXMMT The x87 register stack is unchanged Some obsolete features of 1A3 are gone in long mode Some rarely used instructions have been re moved to make space for the new 64bit pre xes Segmentation is mostly gone segment bases and limits are ignored in long mode fs and gs can be still used as kinds of address registers with some lim itations and kernel support va6 mode and 16bit segments are also gone Automatic task switching is not supported anymore Page size stays at 4KB Page tables have been ex tended to four levels to cover the full 48bit address room of the rst implementations For more information see the x86 64 architecture manual AMDQOOO 3 ABI As x86 64 has more registers than lA32 and does not support direct calling of 1A3 code a new mod ern ABl was designed for it The basic type sizes are similar to other 64 bit Unix environments long and pointers are 64bit int stays 32bit All data types are aligned to their natural 1 size The ABl uses register arguments extensively Up to six integer and nine 64bit oating point arguments are passed in registers in addition to arguments Structures are passed in registers where possible Non prototyped functions have a slight penalty as the caller needs to initialize an argument count reg ister to allow argument saving for variable argument support Most registers are caller saved to save code space in callees Floating point is by default passed in SSE2 XMM registers now This means doubles are always cal culated in 64 bit unlike lA32 The x87 stack with 80bit precision is only used for long double The frame pointer has been replaced by an unwind ta ble An area 128 bytes below the stack pointer is reserved for scratch space to save more space for leaf functions Several code models have been de ned small 1On IA32 64bit long long was not aligned to 64bit medium large kernel Small is the default while it allows full 64bit access to the heap and the stack all code and preinitialized data in the executable is limited to 4GB as only RIP relative addressing is used It is expected that most programs will run in small mode Medium is the same as small but allows a full 64bit range of preinitialized data but is slower and generates larger code Code is limited to 4GB Large allows unlimited 2 code and initial ized data but is even slower than medium kernel is a special variant of the small model It uses nega tive addresses to run the kernel with 32bit displace ments and the upper end of the address space It is used by the kernel only So far the goal of the ABI to save code size is suc cessful gcc using it generates code sizes comparable to 32bit IA323 For more information on the x86 64 ABl see Hubicka2000 4 Compiler A basic port of the gcc 3 compiler and binutils to x86 64 has been done by Jan Hubicka This includes implementation of SSE2 support for gcc and full support for the long mode extensions and the new 64bit ART The compiler and tool chain are stable enough for kernel compiling and system porting 5 Kernel The x86 64 kernel is a new Linux port It was orig inally based on the existing i386 architecture code but is now independently maintained The following discusses the most important changes over the 32 bit i386 kernel and some interesting implementation details 2Unlimited in the 64bit or rather 39bit address space of the rst kernel 3Not counting the unwind table sizes 53 um 12M 5 a 3 2 n W R WWW 5 FageTaUe Pagel L quotElmira Figure l X86764 pagetable 6 Mem ory management x86 has a fourlevel page table The portable Linux VM code currently only supports threelevel page tables The uppermost level is therefore kept private to the architecture speci c code portable code only sees three levels The page table setup currently supports up to 48 bits of address space the initial Hammer implemen tation supports 43bit 8TB The current Linux port uses only three levels of the fourlevel page ta ble This causes a 511GB limit 39 bits per user process The 48th bit of the full virtual space is sign ex tended so there is a negative7 part of the address space The Linux kernel is mapped in the nega tive space which allows the ef cient use of negative sign extended 32bit addresses in the kernel code The compiler has a kernel code model to implement this feature This high mapping is invisible to the portable VM code which only operates on the low 39 bits of the rst threelevel page table branch The basic structure of the page table is similar to the threelevel PAE mode in modern 1A3 CPUs with all levels being full 4K pagesi Every entry in the page tables is 64bit wide This is similar to the 32bit PAE mode To avoid races with other CPUs while updating page table entries all operations on them have to be atomic In the 64bit kernel this can be conveniently done using 64bit memory operations while i386 needs to use CMPXCHGSl 7 System calls The kernel entry code was completely rewritten from the i386 implementation For system calls it uses the SYSCALL and SYSRETinstructions which run much faster than the intOzSO software interrupt used on for Linuxi386 syscallsi Some changes were required to make use of them which make the code more complex One restriction is that they are not recursive SYS RET always turns on user mode The kernel occa sionally makes system calls like kerneljh readO and these need to be handled by special entry points SYSCALL has a slight bootstrap problemi lt doesnlt do much setup for the ringO kernel envi ronment and the syscall kernel entry point is en tered with an unde ned stack pointeri To bootstrap the kernel stack itself it uses the new SWAPGS in struction to initialise the GS segment register with the PDA of the current CPUi Using the PDA the user old stack pointer is saved and the kernel stack pointer of the current process is then initialized Another problem was that SYSRET receives its ar guments in prede ned registers which are always clobberedi This has the side effect that it is impos sible to return or enter programs from signals via SYS ET because in this case all registers need to be restored and the clobbered register would cor rupt the user context A special return path that uses the slower BET command for jumping back is used in this case Signal handling is very similar to i386 with minor modernizationsi The C Library is required now to set a restorer function that calls sigreturn when the signal handler has nished stack trampolines have been removed Time related system calls gettimeafday particu larly are called frequently by many applications and often show up as hot spots They can be im plemented in user space by using the CPU cycle counter with the help of some shared variables main tained by the kernel To isolate this code from user space vsyscalls have been added by Andrea Arcan gelii A special code area is mapped into every user process by the kernel The functions in there can be directly called by the user via a special offset ta ble at a magic address avoiding the overhead of a system call Vsyscalls have some problems with signal and ex ception handling The x86 64 ABl requires a dwaer unwind table to do a backtrace in case of a crash and the kernel needs to provide an unwind table for the user mode vsyscall pages in case a signal or ex ception occurs while they run This is still work in progress 8 Processor Data Area To solve the SYSCALL supervisor stack bootstrap problem described above a data structure called the Per processor Data Area PDA is used A pointer to the PDA is stored on bootup in a hidden register of the CPU using the KERNELGSBASE MSRi Each time the kernel is entered from user space via exceptions system calls or interrupts the SWAPGS instruction is executed lt swaps the userland value of the GS register with the PDA value from the hidden register The original contents of the GS register are restored on exit from the kernel The PDA is currently used to store information for fast syscall entry such as the kernel stack pointer of the current task a pointer to the current task itself and the old user stack pointer on a system call It also contains the per CPU stacki It is hoped that future Linux versions will move more information into a central generic PDA struc ture that is used by the architecture independent kerneli As of Linux 24 various subsystems keep their own private arrays padded to cache lines and indexed by CPU numberi Accessing such arrays is costly as the CPU number has to be rst retrieved the index computed and the required cache line padded to avoid false sharing of old data The PDA offers a faster alternative at the disadvantage of be ing less modular because PDA data structures have to be maintained in a central include le 9 Partial stack frame To speed up interrupts and system calls the ker nel entry code only saves registers that are actu ally clobbered by the C code in the portable parti Some system calls and kernel functions need to see a full register state These include for example fork which has to copy all registers to the child process and exec which has to restore all registers signal handling and needs to present all registers to the signal handler Special stubs are used to save the full register set in this case After a fast system call entry through SYSCALL the kernel stack frame is partially uninitialized Some information such as the user program pointer RIP and the user stack pointer ESP are saved in the PDA or in special registersi On other entry points like for the i386 syscall emulation they are on the normal stack frame on the kernel stacki To shield C code from these differences the CPU part of stack frame is always xed by a special stub before calling any function that looks at the kernel stack frame After the system call returns to the emulation layer the PDA state is restored using the stack frame to handle context switches 10 Kernel stack On Linux every process and kernel thread has its own kernel stacki This stack is also used for inter rupts while the process runsi Over time the Linux memory allocator will en counter problems allocating more than two consec utive pages reliably due to memory fragmentation Every process needs a contiguous kernel stack that should be directly mapped for efficiency Like the i386 the x86 64 has a 4K page size This limits the kernel stack in practice on i386 and x86 64 to 6 SKi This also helps to keep the perthread overhead of LinuxThreads the most common threads pack age under Linux low which uses a separate kernel stack for each thread On i386 the 6K stack available is already tight under heavy interrupt loadi 64bit code needs more stack space than 32bit code because the stack is always 64bit aligned and its data structures on the stack are bigger To avoid stack over ow for nested interrupts the x86 64 port uses a separate perCPU interrupt stack The x86 64 architecture supports interrupt stacks in the architecture Unfortunately this causes prob lems with nested interrupts which are common in Linux Instead of the hardware mechanism a more exible software stack switching scheme using an in terrupt counter in the PDA is use i For double fault and stack fault exceptions the hardware interrupt stacks are used to handle invalid kernel stack pointers with a debugging message in stead of silently rebooting the systemi 1 1 Finding yourself On a machine with multiple CPUs it can be quite complicated to nd the current process A global variable cannot be used as it is CPU local informa tion i386 uses a special trick to solve this problem the task structure is always stored at the bottom of the two aligned kernel stack pages 4 and can be ef ciently accessed using an AND operation on the current stack pointeri One disadvantage of this is that the task structures of all processes end up on the same cache sets for notfullyassociative CPU and chipset caches be cause the lower 13 bits of their address is always zero This can cause cache trashing in the scheduler for some workloa s In the 64bit kernel accessing the task structure through the stack pointer doesn7t work as interrupts running on the special interrupt stack also need to access it for example to maintain the perprocess system and user time statistics On x86 64 the current process counter is stored into the PDA which is ef ciently accessed using the GS registeri This will also allow the task struct to be moved to a separate cache coloring slab cache work ing around the cache problems described above and giving the 64bit kernel in user context 8K of stack space instead of 6Ki This setup is still experimental If it turns out in further tests that an 8K stack is not enough for the 4V J39hich is why 1386 can use only 6K of the 8K available from the two kernel stack pages 64bit user context kernel code without interrupts then the port will have to move to a kernel stack that is not physically contiguous which will be slower due to increased use of TLB resources but can be made bigger without stressing the page allocatori This will also require auditing drivers to ensure they do not perform DMA from the kernel stack 12 Context switch The basic context switch of x86 64 is very similar to the i386 port except that it also saves and re store the extended RSRlS integer registers The extended SSE registers are handled transparently by the FXSAVE instructioni d drivers still need work It is hoped that in future 3264bit translation will be a generic feature of a linux driver to avoid a hard to maintain central translation layer This 64bit conversion is currently done in an architecturespeci c module for the x86 64 but it is expected to be moved into architectureindependent code in 25 as it is a common problemi Legacy mode i386 applications see the full 4GB of virtual space reachable by 32bit pointersi A 32bit i386 kernel only gives them part of the 4GB address space usually 3GB as it also needs some address space of its own Therefore on a 64bit kernel even 32bit applications can use more address space 13 Status The kernel compiler and tool chain work The ker nel boots and works on the simulator which is used for the porting of userland code and for running programs 14 Availability All the code discussed in this paper can be down loaded from httpwwwwS EAUTQ The gcc port will be part of gcc Bill The x86 64 toolchain is part of the standard GNU binutils sourcesi Gdb and glibc ports are worked on and they are available in the public CVS repository at cvsx8664orgi The kernel code is currently maintained in CVS there also and will be eventually merged into the of cial kernel source 15 Acknowledgements The author thanks Karsten Keil7 James Morris and Matthew Wilcox for review of this paper The X86 64 kernel port was done by the author7 Karsten Keil7 Pavel Machek and Andrea Arcangelii The X86 64 gcc and binutils port was done by Jan Hubicka The glibc port was done by Andreas Jaegeri References Hubicka2000 Hubicka Jan7 Jaeger Andreas7 Mitchell Marki System V Application Binary Interface 968664 Architecture Processor Supplement Living documenti httpWWX8664org AMDZOOO AMD The AMD 968664 architecture programmers overview httpWWX8664org Intel Intel Intel architecture software developers manual httpdeVeloperintelC0m


Buy Material

Are you sure you want to buy this material for

25 Karma

Buy Material

BOOM! Enjoy Your Free Notes!

We've added these Notes to your profile, click here to view them now.


You're already Subscribed!

Looks like you've already subscribed to StudySoup, you won't need to purchase another subscription to get this material. To access this material simply click 'View Full Document'

Why people love StudySoup

Steve Martinelli UC Los Angeles

"There's no way I would have passed my Organic Chemistry class this semester without the notes and study guides I got from StudySoup."

Allison Fischer University of Alabama

"I signed up to be an Elite Notetaker with 2 of my sorority sisters this semester. We just posted our notes weekly and were each making over $600 per month. I LOVE StudySoup!"

Bentley McCaw University of Florida

"I was shooting for a perfect 4.0 GPA this semester. Having StudySoup as a study aid was critical to helping me achieve my goal...and I nailed it!"

Parker Thompson 500 Startups

"It's a great way for students to improve their educational experience and it seemed like a product that everybody wants, so all the people participating are winning."

Become an Elite Notetaker and start selling your notes online!

Refund Policy


All subscriptions to StudySoup are paid in full at the time of subscribing. To change your credit card information or to cancel your subscription, go to "Edit Settings". All credit card information will be available there. If you should decide to cancel your subscription, it will continue to be valid until the next payment period, as all payments for the current period were made in advance. For special circumstances, please email


StudySoup has more than 1 million course-specific study resources to help students study smarter. If you’re having trouble finding what you’re looking for, our customer support team can help you find what you need! Feel free to contact them here:

Recurring Subscriptions: If you have canceled your recurring subscription on the day of renewal and have not downloaded any documents, you may request a refund by submitting an email to

Satisfaction Guarantee: If you’re not satisfied with your subscription, you can contact us for further help. Contact must be made within 3 business days of your subscription purchase and your refund request will be subject for review.

Please Note: Refunds can never be provided more than 30 days after the initial purchase date regardless of your activity on the site.