El SID (Identificador Único de Sesión) .. se genera en cada inicio de sesiones usando session_start() si al scritp que lo ejecuta no le llega propagado un SID válido ..
El el ID de sesión generado .. es el vinculo entre ese Cliente y el Servidor. Por eso es necesario que se "propague" entre las llamadas que se hacen a scripts de tu aplicación para que el "servidor" no pierda el rastro de a quien entregar los datos que ha almacenado en su sesión iniciada.
Esto es parte del funcionamiento de las sesiones de PHP las cuales a cada cliente se le asigna una sesión (ID).
Si un usuario X (Cliente mejor dicho) desde SU mismo PC entra a tu sistema que usa sesiones, la primera vez se crea un SID válido en tu servidor (un archivo en el asociado bajo ese ID creado) .. El SID en tu aplicación lo propagaras de alguna forma .. ya sea por el URL o por cookies. Ese SID se continua usando mientras que se propague el SID para ese cliente (sesión) y no borres la sesión.
Si en ese mismo PC .. en tu aplicación cambias de usuario .. la sesión seguirá usando el mismo SID si no la borras. También puedes regenerar el SID en cualquier situación (si uas PHP 4.3.? en adelante) con la funciòn session_regenerate_id() .. es decir .. en tu script que valida a tu usuario sería ahí donde deberías usar esa función para forzar un SID único para ese nuevo usuario y que el anterior SID muera cuando lo determine su tiempo de expiración (session.gc_maxtimelife) y sea borrado el archivo físicamente del servidor cuando lo determine las otras directivas de configuración de PHP que definen ese tema.
Ahora .. si hablamos de diferentes "PC" (clientes) .. el SID se genera uno por cada cliente que conecta a tu aplicación que usa sesiones .. son independientes entre si.
No sé si todo esto te ha aclarado algo màs . o te ha liado màs .. pero en su defecto puedes leer la documentación oficial de sesiones:
www.php.net/session
Un saludo,