Dependency Inversion is the principle that high-level classes shouldn’t be directly communicating with low-level classes. To solve this problem, you should create a layer of abstraction between the two classes. The benefit of using the Dependency Inversion is that is easier to make changes in the future if either the low-level class or high-level class were to change.
Dependency Inversion example:
In the UML diagram below, you can see that the Copy class isn’t directly communicating with the keyboard reader and writer classes.

Open/Closed Principle:
The Open/Closed principle can best be summed up as “A class should be open for extension but closed for modification”(Joshi).
Open/Closed example:
In the UML diagram below, you can see that the Vehicle class is open to being implemented while not allowing the Car class to modify any of its implementations.

The benefit of the Open/Closed principle is that it allows new functionality to be added on while minimizing the risk of breaking everything.
Footnote:
I got the copy diagram from Bob Martins website
Martin, Bob. “The Principles of OOD.” December 5, 2012. Accessed April 24, 2019.
Joshi, Bipin. Beginning SOLID Principles and Design Patterns for ASP.NET Developers. New York, NY: Apress, 2016.
I made the vehicle UML diagram