sg247316.pdf

sg247316.pdf - Front cover Introduction to the New...

This preview shows page 1 out of 468 pages.

Unformatted text preview: Front cover Introduction to the New Mainframe: z/VM Basics Understand introductory z/VM concepts Learn basic system administration tasks to manage your system Study z/VM performance, networking and security Lydia Parziale Edi Lopes Alves Eli M. Dow Klaus Egeler Jason J. Herne Clive Jordan Eravimangalath P. Naveen Manoj S Pattabhiraman Kyle Smith ibm.com/redbooks International Technical Support Organization Introduction to the New Mainframe: z/VM Basics November 2007 SG24-7316-00 Note: Before using this information and the product it supports, read the information in “Notices” on page 433. First Edition (November 2007) This edition applies to Version 5, Release 3 of z/VM (product number 5741-A05). Note: This book is based on a pre-GA version of a product and may not apply when the product becomes generally available. We recommend that you consult the product documentation or follow-on versions of this redbook for more current information. © Copyright International Business Machines Corporation 2007. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii How each chapter is organized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii The team that wrote this book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv Become a published author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi Comments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii Chapter 1. Introduction to the mainframe hardware systems. . . . . . . . . . . 1 1.1 System z hardware architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.1 Consolidation of mainframes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.2 An overview of the early architectures . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1.3 Early system design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.1.4 Current architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.2 Hardware Management Console. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.3 Frames and cages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.4 Processing units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.4.1 Multiprocessors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.4.2 Processor types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.5 Memory hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.6 Networking the mainframe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.7 Disk devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.7.1 Types of DASD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.7.2 Basic shared DASD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.8 I/O connectivity (channels) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.9 System control and partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.9.1 Controlling the mainframe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 1.9.2 Logically partitioning resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 1.10 Exercises. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Chapter 2. Introduction to virtualization and z/VM. . . . . . . . . . . . . . . . . . . 29 2.1 What is virtualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.2 Benefits of virtualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.3 How virtualization works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.3.1 Resource sharing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.3.2 Resource aggregation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.3.3 Emulation of function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.3.4 Insulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 © Copyright IBM Corp. 2007. All rights reserved. iii 2.4 Server virtualization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.4.1 Hardware partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.4.2 Hypervisor-based partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.4.3 Hypervisor technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 2.5 Virtualization on the mainframe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.5.1 I/O definition and partition profiles. . . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.5.2 How LPARs are created . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 2.5.3 Additional mainframe virtualization facilities . . . . . . . . . . . . . . . . . . . 48 2.6 Virtualization in action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 2.6.1 Virtualization in a test environment . . . . . . . . . . . . . . . . . . . . . . . . . . 49 2.6.2 Virtualization to maintain outdated software . . . . . . . . . . . . . . . . . . . 50 2.6.3 Improving availability and resilience . . . . . . . . . . . . . . . . . . . . . . . . . 51 2.7 Introducing z/VM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 2.7.1 The virtual machine capability of z/VM . . . . . . . . . . . . . . . . . . . . . . . 53 2.7.2 Types of operating environments . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 2.7.3 First-level versus second-level guest system . . . . . . . . . . . . . . . . . . 55 2.7.4 z/VM strengths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 2.8 Exercises. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Chapter 3. History of z/VM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3.1 Life before VM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.2 VM from the beginning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 3.3 Exercises. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Chapter 4. z/VM - job roles and basic concepts . . . . . . . . . . . . . . . . . . . . . 67 4.1 Roles in the mainframe world . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.1.1 Introduction to roles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.1.2 Role review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 4.2 Components of z/VM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 4.2.1 Control Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 4.2.2 Conversational Monitor System . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4.2.3 TCP/IP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.2.4 APPC/VM VTAM Support (AVS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.2.5 Dump Viewing Facility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.2.6 Group Control System (GCS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.2.7 HCD and HCM for z/VM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.2.8 Language Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 4.2.9 OSA/SF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 4.2.10 REXX/VM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 4.2.11 TSAF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 4.2.12 VMSES/E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 4.2.13 DFSMS/VM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 4.2.14 Directory Maintenance Facility for z/VM . . . . . . . . . . . . . . . . . . . . . 81 iv Introduction to the New Mainframe: z/VM Basics 4.2.15 Performance Toolkit for VM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 4.2.16 RACF Security Server for z/VM . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 4.2.17 RSCS Networking for z/VM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 4.3 VM Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 4.4 How to log on to z/VM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 4.4.1 Connecting with IBM Personal Communications . . . . . . . . . . . . . . . 87 4.4.2 Connecting with x3270 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 4.4.3 Logging on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 4.5 Working in a 3270 terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 4.5.1 Keyboard mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 4.6 Session management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 4.6.1 Logging on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 4.6.2 Disconnecting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 4.6.3 Reconnecting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 4.6.4 Stealing a virtual machine session . . . . . . . . . . . . . . . . . . . . . . . . . 101 4.6.5 Logging out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 4.7 Exercises. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Chapter 5. Control Program for new users . . . . . . . . . . . . . . . . . . . . . . . . 103 5.1 Introduction to the Control Program (CP) . . . . . . . . . . . . . . . . . . . . . . . . 104 5.1.1 What CP is not . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 5.1.2 CP modes of execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 5.1.3 CP commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 5.2 Learning about the system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 5.2.1 Getting to CP mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 5.2.2 Examining your virtual machine . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 5.2.3 Other users on the system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 5.3 Working with a guest operating system. . . . . . . . . . . . . . . . . . . . . . . . . . 114 5.3.1 Starting a guest operating system. . . . . . . . . . . . . . . . . . . . . . . . . . 114 5.3.2 Issuing CP commands while running a guest operating system . . . 115 5.3.3 Pausing a guest operating system . . . . . . . . . . . . . . . . . . . . . . . . . 116 5.3.4 Resuming a guest operating system . . . . . . . . . . . . . . . . . . . . . . . . 118 5.3.5 Halting a guest operating system . . . . . . . . . . . . . . . . . . . . . . . . . . 118 5.4 Your virtual machine's virtual devices . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 5.4.1 Querying your virtual devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 5.4.2 Processors (CPUs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 5.4.3 Storage (main memory) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 5.4.4 DASD (disk devices) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 5.4.5 Temporary DASD (TDISK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 5.4.6 Virtual DASD (VDISK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 5.4.7 Spool devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 5.4.8 Communication devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Contents v 5.5 Terminal management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 5.5.1 Setting the clear screen timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 5.5.2 Highlighting user input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 5.5.3 Changing screen colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 5.6 z/VM services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 5.7 Exercises. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 Chapter 6. Conversational Monitor System . . . . . . . . . . . . . . . . . . . . . . . 147 6.1 CMS introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 6.1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 6.1.2 Characteristics of CMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 6.1.3 About your CMS environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 6.2 Getting help from CMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 6.2.1 Task menus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 6.2.2 Component menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 6.2.3 Command menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 6.2.4 Formatting options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 6.2.5 Other ways to get help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 6.2.6 Dealing with error messages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 6.2.7 Caution when using HELP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 6.2.8 Exiting the HELP system. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 6.3 Using truncations and abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 6.4 Full screen CMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 6.5 Examining disks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 6.5.1 Your disks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 6.5.2 Linking. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 6.5.3 CMS formatting disks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 6.5.4 Accessing disks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 6.5.5 Your A disk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 6.5.6 Running out of space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 6.6 Working with files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 6.6.1 The CMS file system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 6.6.2 Filename structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 6.6.3 Listing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 6.6.4 CMS search order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 6.6.5 Searching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 6.6.6 File management commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 6.6.7 CMS Shared File System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 6.6.8 Concluding file management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 6.7 Editing files with XEDIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 6.7.1 The XEDIT window layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 6.7.2 XEDIT and full screen CMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 6.7.3 Data manipulation with prefix subcommands . . . . . . . . . . . . . . . . . 186 vi Introduction to the New Mainframe: z/VM Basics 6.7.4 Moving through a file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 6.7.5 Searching within a file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 6.7.6 Setting tabs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 6.7.7 Inserting from external files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 6.7.8 Ending an editing session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 6.7.9 Customizing xedit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 6.7.10 Getting help with XEDIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 6.8 The PROFILE EXEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 6.8.1 PROFILE EXEC capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 6.8.2 Creating a PROFILE EXEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 6.8.3 Synonyms, abbreviations and parsing . . . . . . . . . . . . . . . . . . . . . . 200 6.9 Distributing files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 6.9.1 SEND and RECEIVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 6.9.2 LINK and GRANT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 6.9.3 FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 6.10 Exercises. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Chapter 7. The REXX programming language . . . . . . . . . . . . . . . . . . . . . 207 7.1 What is REXX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 7.2 Features of REXX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 7.3 REXX and VM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 7.4 REXX overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 7.4.1 REXX components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 7.4.2 General structures and syntax . . . . . . . . . . . . . . . . . . . ...
View Full Document

  • Fall '19
  • virtual machine

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern