How does an embedded application and RTOS communicate with each other?
I haven't used an ARM7 before, but I have used &micro;C/OS-II on an 8 bit microcontroller before.  I'm not an expert but will try to answer your questions.


An RTOS will typically allow you to create "tasks", which are like separate threads of execution.  &micro;C/OS-II can use cooperative multitasking, which would mean it's up to your tasks to give control of the processor back to the operating system.  (It also supports preemptive multitasking.) You'll define priority levels for each task as well.
Via tasks, you'll interact with the controller just as you would if you weren't using an RTOS.  Write functions that do stuff and call them!
I don't know about ARM7, but on my processor the I/O ports are just memory mapped, so yes you just set / read the value at the address assigned to the port of interest.  You will probably want to define the port as volatile so that the compiler doesn't optimize out things that it shouldn't.


4,5.  the RTOS is just running where any normal program would run, so the reset vector points to its start of execution.