某车站售票厅,任何时刻最多可容纳 20 名购票者进入,当售票厅中少于 20 名购票者时,则厅外的购票者可立即进入,否则需在外面等待。若把一个购票者看作一个进程,请回答下列问题: (1) 用 wait 和 signal 操作管理这些并发进程时,应怎样定义信号量,写出信号量的初值以及信号量各种取值的含义。 (2) 根据所定义的信号量, 加上 wait(P操作) 和 signal(V操作) 原语,写出购票者进程的算法, 以保证进程能够正确地并发执行。 (3) 若欲购票者最多为 n 个人,写出信号量可能的变化范围 ( 最大值和最小值 ) 。