In this paper we describe how a profiling system can be successfully u
sed to restructure the components of an operating system for improved
overall performance. We discuss our choice of a profiling system and h
ow if was applied to the AS/400(R) (Application System/400(R)) operati
ng system for the purpose of reordering code. Previous work in the ind
ustry has been mainly useful only for application programs. Our work d
emonstrates how such techniques can be applied to operating system cod
e, while preserving maintainability of the operating system in the cus
tomer's environment.