Code:

plane1 = Graphics3D[Polygon[
{{3, 3, 0}, {-3, 3, 0}, {-3, -3, 0},
{3, -3, 0}}]];
plane2 = ContourPlot3D[y == 0, {x, 0, 1},
{y, 0, 1}, {z, 0, 2},
RegionFunction -> Function[{x, y, z},
0 <= x <= 1 && 0 <= z <=
Sqrt[4 - x^2]], ContourStyle ->
{Opacity[0.2], Green}, Mesh -> None]
plane3 = ContourPlot3D[x^2 + y^2 == 1,
{x, 0, 1}, {y, 0, 1}, {z, 0, 2},
RegionFunction -> Function[{x, y, z},
0 <= x <= 1 && 0 <= y <= 1 &&
0 <= z <= Sqrt[4 - x^2 - y^2]],
ContourStyle -> {Opacity[0.2], Green},
Mesh -> None]
c1trace = ContourPlot3D[
{x^2 + y^2 + z^2 == 4}, {x, -3, 3},
{y, -3, 3}, {z, -3, 3},
ContourStyle -> {LightRed},
Mesh -> None, RegionFunction ->
Function[{x, y, z}, z > 0 &&
0 <= y <= 1 && 0 <= x <=
Sqrt[1 - y^2]]]
c1 = ContourPlot3D[{x^2 + y^2 + z^2 ==
4}, {x, -3, 3}, {y, -3, 3},
{z, -3, 3}, ContourStyle ->
{Opacity[0.4], LightRed},
Mesh -> None]
axes = Graphics3D[
{{Line[{{-3, 0, 0}, {3, 0, 0}}],
Line[{{0, 3, 0}, {0, -3, 0}}]}}];
p1 = ParametricPlot3D[{t, Sqrt[1 - t^2],
0}, {t, 0, 1}];
Show[{c1, c1trace, plane1, p1, axes,
plane2, plane3}, PlotRange ->
{{-2, 2}, {-2, 2}, {-2, 2}},
Boxed -> False]