ntibizagutere agahinda kuko yagukoreye imyaka myinshi the distinction between operating system and middleware functionality is to some extent arbitrary