Sistema operativo
Descripción general
 El sistema operativo en tiempo real para microcomputadora incrustada acelera el procesamiento arbitrario de búsqueda de nombre de tarea desde la cola que tiene el nombre de la tarea ejecutable sin ampliar la escala de hardware. ] Se proporciona un dispositivo de almacenamiento de límite superior 15 para almacenar una condición de búsqueda para buscar parte o toda la cola 11 y designar un nombre de tarea de destino de búsqueda y el compilador 3 compara la llamada de sistema correspondiente al nombre de tarea de destino de búsqueda en el programa 2 Una unidad de detección de llamadas 31 para detectar una unidad llamante, una unidad detectora de nombres de tareas 32 para detectar el nombre de la tarea a buscar desde la unidad llamante de sistema, un programa 2 cambiando el nombre de tarea detectado en la cola 11 Y un medio de cambio de programa 33 para generar el programa de post cambio 2A.
Campo técnico
La presente invención se refiere a un sistema operativo, y más particularmente a un sistema operativo para un microordenador integrado que funciona en tiempo real.
Antecedentes de la técnica
Convencionalmente, los microordenadores integrados, especialmente los que se incorporan a los electrodomésticos y productos de audio, tienen dispositivos de destino relativamente simples y relativamente pocas funciones de control, de modo que la escala del programa es pequeña y no se requiere alta velocidad. Sin embargo, a medida que las funciones de los productos se vuelven más diversificadas, de mayor escala y de mayor rendimiento en los últimos años, la escala del programa se ha hecho mayor y se requiere una gran velocidad.
En general, el sistema operativo tiene un mecanismo para dividirlo en pequeñas unidades de procesamiento llamadas 'tareas' y administrarlo en una cola (cola) para poder hacer frente de manera eficiente al procesamiento complejo y diverso a gran escala.
microcomputadora más construida, tiene una tarea programada o el cuerpo en una memoria de sólo lectura (ROM), es una directa, ya que no volver a escribir la información de gestión, tales como colas para almacenar el nombre de la tarea que se solicita para ejecutar la tarea La gestión dinámica se realiza en una memoria legible / grabable (como RAM).
Como método para recuperar una tarea arbitraria de una cola que tiene una tarea en un estado ejecutable en un sistema operativo convencional en tiempo real, existen métodos de software y hardware.
Con referencia a la figura 10, que muestra esquemáticamente una configuración de un primer método convencional de búsqueda de sistema operativo que usa un método de búsqueda de software, este primer sistema operativo convencional 4 tiene una cola que tiene una tarea en un estado ejecutable 11, y esta cola 11 está formada por el encabezado 12 de la cola y los últimos 13 de la cola. También tiene un dispositivo de almacenamiento de nombre de tarea 14 que almacena el nombre de la tarea del objetivo de búsqueda. En la búsqueda por software, se verifica si coincide o no con el nombre de la tarea en el dispositivo de almacenamiento de nombre de tarea 14 en orden desde el cabezal 12 hacia el extremo de cola 13. También hay un método de búsqueda desde el extremo de cola 13 hasta la cabeza 12 en orden.
Con referencia a la figura 11, que muestra esquemáticamente una configuración de un segundo método de búsqueda del sistema operativo convencional que usa un método de búsqueda de hardware, este segundo sistema operativo convencional tiene una tarea en un estado ejecutable y una pluralidad de Una cola 51 que tiene un área de almacenamiento, un dispositivo de almacenamiento de nombre de tarea 14 que almacena un nombre de tarea a buscar, una comparación hecha de comparadores conectados a las áreas de almacenamiento respectivas del dispositivo de almacenamiento de nombre de tarea 14 y la cola 51 Circuito 53 y un microordenador 54 a controlar.
En el circuito de comparación 53, cuando la tarea en cualquiera de las áreas de almacenamiento en la cola 51 coincide con el nombre de tarea en el dispositivo de almacenamiento de nombre de tarea 14, el circuito de comparación 53 notifica instantáneamente el área de almacenamiento al microordenador 54.
Aquí, se describirá un ejemplo de un sistema operativo convencional en tiempo real (en lo sucesivo denominado un ejemplo de un producto que usa un sistema operativo, un ejemplo de un reproductor de disco compacto (CD).
Generalmente, el procesador de procesamiento de señal de un reproductor de CD transmite datos internos llamados código Q al microordenador cada 13.3 ms. Por lo tanto, se requiere que el microordenador finalice el proceso del ciclo principal en 13.3 ms. En el reproductor de CD que usa el sistema operativo convencional, dado que el tiempo requerido para el procesamiento del período principal fue 5.0 7.5 ms, el procesamiento requerido puede terminarse con un margen dentro del tiempo limitado de 13.3 ms Lo fue
Sin embargo, como el rendimiento de los reproductores de CD mejora en los últimos años, se requiere acortar aún más el tiempo de procesamiento. Por ejemplo, en un reproductor de CD de doble velocidad en el que la velocidad de rotación del medio se duplica, ya que el código Q se envía al microordenador cada mitad de 13.3 ms, 6.7 ms, el principal 5.0.7.5 ms principal Se está volviendo imposible terminar el procesamiento en el tiempo de procesamiento periódico. Para adaptarse a este tiempo de procesamiento de ciclo principal acortado, es necesario cambiar el programa utilizado convencionalmente para finalizar el procesamiento dentro del tiempo mencionado anteriormente, lo que requiere mucho tiempo y esfuerzo.
Tarea de solución
En el primer sistema operativo convencional descrito anteriormente, cuando una tarea objetivo está presente al final de la cola (por ejemplo, al final cuando se busca desde la cabeza hasta la cola) en la búsqueda de tareas en la cola de tareas por software, Dado que todas las áreas de almacenamiento de la cola se buscan, existe la desventaja de que la búsqueda lleva tiempo.
Aunque el segundo sistema operativo convencional que usa hardware no tiene un problema con respecto al tiempo de búsqueda, es un producto dedicado que incluye un aumento de costo de hardware dedicado debido a un aumento en el área de chip para incluir hardware de búsqueda solamente Por lo tanto, había una desventaja de que el efecto de reducción de costos debido al efecto de producción en masa es menos probable que se reciba en comparación con los productos de uso general.
Solución
Un sistema operativo según la presente invención comprende una cola que tiene una pluralidad de áreas de almacenamiento de tareas y tareas de almacenamiento en un estado ejecutable y una memoria de nombre de tarea de destino de búsqueda para almacenar un nombre de tarea arbitrario a buscar desde la cola como nombre de tarea de destino de búsqueda un dispositivo y un compilador para generar un programa que incluye la unidad de llamar a la llamada al sistema que comprende un proceso de búsqueda para buscar cualquier nombre de la tarea de la cola dentro del programa en el sistema operativo de microordenador incorporado que funciona en tiempo real , Un primer dispositivo de almacenamiento de condiciones de búsqueda para almacenar una primera condición de búsqueda para buscar una parte o la totalidad de la cola y designar el nombre de la tarea objetivo de búsqueda como el primer nombre de tarea del objeto de búsqueda, Cuando el compilador determina que el cis correspondiente al primer nombre de tarea de destino de búsqueda en el programa Una primera llamada al sistema llamando unidad de detección de medios para emitir una primera llamada al sistema de detección de unidad de llamar detecta Mucor unidad que llama, la detección del primer nombre de la tarea objetivo de búsqueda de la unidad llamando primera llamada al sistema de detección Un primer medio de detección de nombre de tarea de destino de búsqueda significa dar salida a un nombre de tarea detectado de 1, un primer medio de cambio de programa para cambiar el programa escribiendo el primer nombre de tarea detectado en la cola .
Con referencia ahora a la figura 1, que muestra esquemáticamente en bloque la configuración y los medios del sistema operativo de la primera realización de la presente invención, el sistema operativo 1 de la presente realización mostrada en esta figura comprende una tarea en un estado ejecutable , Un dispositivo de almacenamiento de nombre de tarea 14 que almacena el nombre de la tarea que se va a buscar, y un dispositivo de almacenamiento de límite superior 15 que almacena el límite superior del intervalo de búsqueda.
Y un compilador 3 para generar un programa 2 A que está modificado por el sistema operativo convencional en tiempo real 4 para acortar el tiempo de procesamiento para el programa 2 para el microordenador integrado antes del cambio.
El compilador 3 incluye un medio de detección de llamada 31 para detectar una parte llamante de la llamada al sistema con un proceso de búsqueda de cualquier nombre de la tarea de la cola en el programa 2, la búsqueda de la parte llamada de la llamada al sistema detectada en el detector de llamada significa 31 Un medio de detección de nombre de tarea 32 para detectar un nombre de tarea objetivo, un cuerpo de llamada de sistema para escribir esta tarea en la cola 11 desde el nombre de tarea detectado por los medios de detección de nombre de tarea 32, y un dispositivo de almacenamiento de límite superior 15 para la porción de llamada de cuerpo de llamada de sistema Y un cambio de programa significa 33 para cambiar a un programa para ser ejecutado.
El funcionamiento de esta realización se describirá con referencia a la figura 2, que muestra un diagrama de flujo de un proceso de cambio del programa 2 al programa 2 A. En primer lugar, se examina un programa fuente (paso S1). Si hay una parte que llama a una llamada del sistema para buscar una tarea desde la cola 11 en el programa fuente (paso S2), el nombre de la tarea se extrae de la parte de llamada a la llamada del sistema (paso S3). Esta serie de operaciones se repite para todos los programas fuente (paso S4). A continuación, el programa de origen se investiga de nuevo (paso S5). Si hay una parte que llama a una llamada del sistema que escribe la tarea extraída en la etapa 11 en la cola 11 (paso S6), la parte llamante de la llamada del sistema se establece nuevamente en 'la posición de almacenamiento de la cola almacenada en el dispositivo de almacenamiento de límite superior 15 Escribir la llamada al sistema '(paso S 7). Este trabajo de cambio se repite para todos los programas fuente (paso S 8).
El programa cambiado 2A registra la posición de escritura en el dispositivo de almacenamiento de límite superior 15 al mismo tiempo que escribe la tarea de destino de búsqueda en la cola 11.
Cuando la posición de escritura a la cola 11 de la tarea objetivo de búsqueda referencia a la Fig. 3 muestra un diagrama de flujo del proceso de grabación de la unidad de almacenamiento de límite superior 15, primero, una llamada normal del sistema escribe la cola de tareas 11, ya que es (paso S72). Cambio de la parte llamada en la etapa S7 en la Fig. 2, 'llamada de sistema de escritura dispositivo de almacenamiento superior 15 a la posición de almacenamiento de la cola', después de escribir el puntero para ser escrito en la cola 11 al dispositivo de almacenamiento superior 15 (paso S 71), y escribe la tarea en la cola 11 (72).
La llamada al sistema que incluye la búsqueda de tareas del programa 2 A después del cambio se busca desde el cabezal 12 de la cola 11 hasta la parte indicada por el dispositivo de almacenamiento de límite superior 15.
Con referencia a la Fig. 4 que muestra el procesamiento de 2A programa después del cambio para realizar la recuperación de tarea de la cola 11 en el diagrama de flujo que ilustra el flujo de este procesamiento, primero, la cabeza 12 de la cola 11 y el punto de inicio de búsqueda (paso S11 ) A continuación, se verifica si hay una tarea objetivo en la cola 11 (paso S12). Si hay una tarea objetivo (paso S13), el proceso finaliza con la tarea como un valor de retorno (paso S16). Si no hay una tarea objetivo (paso S13), se verifica si la parte de recuperación es el límite superior del rango de recuperación (etapa S14). De ser así, se juzga que el procesamiento devuelve que la tarea objetivo no está en la cola 11 Y termina (paso S17). Si no es el límite superior (paso S14), la posición de búsqueda en la cola 11 se desplaza en una en la dirección hacia atrás (paso S15), y la búsqueda se realiza de nuevo (paso S12).
Un tipo de llamada de sistema para buscar un nombre de tarea arbitrario de la cola 11 del sistema operativo no está limitado a uno y generalmente es una pluralidad.
A continuación, en la figura 5 se muestra una segunda realización de la presente invención en la que el sistema operativo tiene dos tipos de llamadas al sistema, en la que los componentes comunes a la figura 1 se indican mediante letras / números de referencia comunes en un bloque. Entonces, la diferencia de la primera realización descrita anteriormente del sistema operativo 1A de la presente realización reside en que, además del dispositivo de almacenamiento de límite superior 15, se proporciona un dispositivo de almacenamiento de límite superior 16 similar correspondiente a dos tipos de llamadas al sistema, y ​​el compilador Un medio de detección de nombre de tarea 32A, y un medio de cambio de programa 33A, que corresponde a las porciones de invocación de llamada de sistema individuales, en lugar de los medios de establecimiento de llamada 3A, 3.
Por lo tanto, es posible tratar si el nombre de tarea de destino de detección se llama individualmente para cada una de las dos llamadas al sistema o cuando se llaman a las dos al mismo tiempo.
El programa cambiado 2B registra la posición de escritura en uno de los dos dispositivos de almacenamiento de límite superior 15, 16 al mismo tiempo que escribe la tarea de destino de búsqueda en la cola 11.
La operación de procesamiento de grabación se describirá con referencia a la figura 6 que muestra el proceso de grabación de la posición de escritura de cola de espera de la tarea objetivo de búsqueda En la llamada de sistema habitual, la tarea se escribe directamente en la cola 11 (etapa S83). La 'Escritura de escritura del sistema Posición de la cola en el dispositivo de almacenamiento de límite superior' selecciona primero cuál de los dos dispositivos de almacenamiento de límite superior debe escribirse de acuerdo con cuál de las dos llamadas al sistema se llama (etapa S 81 ), Escribe el puntero al dispositivo de almacenamiento de límite superior 15, 16 en la cola de destino de escritura 11 (paso S82), y luego escribe la tarea en la cola 11 (paso S83).
La llamada al sistema que incluye la búsqueda de tareas del programa 2 B después del cambio se busca desde la cabecera 12 de la cola hasta la parte indicada por el dispositivo de almacenamiento de límite superior 15 o 16.
Cuando el proceso de realizar una tarea recuperada de cola 2B programa 11 después del cambio de la presente realización con referencia a la Fig. 7 que muestra un diagrama de flujo que ilustra el flujo de este procesamiento, primero, una búsqueda punto de inicio de la cabeza 12 de la cola 11 (Paso S21). A continuación, se selecciona a cuál de los dos dispositivos de almacenamiento de límite superior se va a referir (paso S22), y se examina si hay o no una tarea de destino en la cola (paso S23). Si hay una tarea de destino (paso S24) , El proceso finaliza utilizando la tarea como un valor de retorno (paso S27). Si no hay una tarea objetivo (paso S24), se verifica si el lugar de recuperación es el límite superior del rango de recuperación (paso S25). De ser así, se considera que la tarea objetivo no está en la cola 11 como valor de retorno (Paso S28). Si no es el límite superior (paso S25), el lugar de búsqueda en la cola 11 se desplaza en uno hacia atrás (paso S26), y la búsqueda se realiza de nuevo (paso S23).
A continuación, la tercera realización de la presente invención en el caso donde el sistema operativo tiene dos tipos de llamadas al sistema y la dirección de búsqueda de tareas se invierte como la segunda realización es común a los elementos constituyentes comunes a la figura 5 8, que se indica de manera similar con un bloque con letras / números de referencia unidos a la misma, la diferencia de la segunda realización del sistema operativo 1B de la presente realización es que la búsqueda de tareas del programa 2 C después del cambio se realiza En la llamada al sistema que incluye la cola 11, primero, después de buscar el cabezal 12 de la cola 11, la búsqueda se realiza desde la parte indicada por el dispositivo de almacenamiento de límite superior 15, 16 al área de almacenamiento inmediatamente antes del cabezal 12 en la dirección del cabezal.
Cuando el proceso de realizar una tarea recuperado de una cola 2C programa 11 después del cambio de la presente realización con referencia a la Fig. 9, que muestra un diagrama de flujo que ilustra el flujo de este procesamiento, primero, el objeto de la tarea a la cabeza 12 de la cola 11 (Paso S 31). Si hay una tarea objetivo (paso S 32), el proceso finaliza con la tarea como un valor de retorno (paso S 39). Cuando no hay tarea objetivo (paso S32), a cuál de los dos dispositivos de almacenamiento de límite superior 15, 16 se va a referir se selecciona (paso S 33), y el valor límite superior se establece como un lugar de inicio de búsqueda (paso S34). A continuación, se comprueba si hay una tarea objetivo en la cola 11 (paso S 35). Si hay una tarea objetivo (paso S 36), el proceso finaliza con la tarea como un valor de retorno (paso S 39). Si no hay una tarea objetivo (paso S 36), se verifica si el lugar de recuperación está inmediatamente después de los 12 primeros de la fila (paso S 37). Si es así, la tarea objetivo vuelve a estar fuera de la cola 301 El proceso finaliza como un valor (paso S 40). Si no es el límite superior (paso S37), la parte de búsqueda se desplaza en una dirección de cabeza (paso S38), y la búsqueda se realiza de nuevo (etapa S35).
Como se describió anteriormente, restringiendo el rango de búsqueda de la cola a, por ejemplo, 1/2 por los medios de cambio de programa de la parte relacionada con la función de búsqueda de nombre de tarea incluida en el programa del microordenador integrado que usa el sistema operativo en tiempo real, El tiempo de búsqueda del nombre de la tarea de la cola en la tabla se puede reducir a 1/2.
Como se ha mencionado en la técnica anterior, el tiempo de procesamiento requerido para este tipo de microordenador, teniendo el reproductor de CD como un ejemplo, debe ser menor que el intervalo de transferencia del código Q, que es un tiempo de procesamiento principal ciclo de datos internos y , El tiempo relacionado con el sistema operativo en tiempo real entre el tiempo de procesamiento del período principal, es decir, el tiempo de procesamiento de búsqueda del nombre de la tarea se dice que es aproximadamente del 25 al 30%. Como se describió anteriormente, el tiempo de procesamiento del ciclo principal limitado de cada reproductor de CD general y de CD de doble velocidad es 13.3 ms o menos y 6.7 ms o menos, mientras que en el primer sistema operativo convencional, el procesamiento del período principal Tomó 5,0 7,5 ms en el tiempo, por lo que no podría hacer frente al reproductor de CD de doble velocidad como lo fue. Aquí, si el tiempo de procesamiento del período principal se establece en los peores 7.5 ms, el tiempo de procesamiento de búsqueda del nombre de la tarea es de aproximadamente 1.875 ms 2.250 ms. Es posible reducir a la mitad este tiempo de procesamiento de búsqueda de nombre de tarea utilizando los medios de la primera realización, que corresponde a un acortamiento de 0,9375 ms 1,125 ms. Como resultado, el tiempo de procesamiento principal periódica se acorta a 6.375ms 6.5625ms, 2 velocidad CD Pereya puede borrar 6.7ms límite de tiempo correspondientes, y desde que la velocidad sin cambiar el programa que se utilizó anteriormente , El procesamiento se puede acelerar mientras se ahorra considerablemente la mano de obra del trabajo.
Efecto de la invención
Como se describió anteriormente, el sistema operativo de la presente invención comprende un dispositivo de almacenamiento de condición de recuperación, los medios de detección de porción de llamada de sistema para detectar la porción de llamada de llamada del sistema en el programa a cambiar, los medios de detección de nombre de tarea de destino de recuperación , Y el cambio de programa significa cambiar el programa escribiendo el nombre de la tarea detectada en la cola. Por lo tanto, al limitar el rango de búsqueda a, por ejemplo, la mitad de la cola como condición de búsqueda, el tiempo de búsqueda puede reducirse a la mitad , Existe el efecto de que la velocidad de procesamiento del microordenador integrado que usa este sistema operativo puede aumentar sin aumentar la escala de hardware que causa el aumento de los costos.
La figura 1 es un diagrama de bloques que muestra esquemáticamente una configuración de una primera realización del sistema operativo de la presente invención.
La figura 2 es un primer diagrama de flujo que muestra una parte de la operación en el sistema operativo de esta realización.
La figura 3 es un segundo diagrama de flujo que muestra una parte de la operación en el sistema operativo de esta realización.
La figura 4 es un tercer diagrama de flujo que muestra una parte de la operación en el sistema operativo de la presente realización.
La figura 5 es un diagrama de bloques que muestra esquemáticamente una configuración de una segunda realización del sistema operativo de la presente invención.
La figura 6 es un primer diagrama de flujo que muestra una parte de la operación en el sistema operativo de esta realización.
La figura 7 es un segundo diagrama de flujo que muestra una parte de la operación en el sistema operativo de esta realización.
La figura 8 es un diagrama de bloques que muestra esquemáticamente una configuración de una tercera realización del sistema operativo de la presente invención.
La figura 9 es un diagrama de flujo que muestra una parte de la operación en el sistema operativo de esta realización.
La figura 10 es un diagrama de bloques que muestra esquemáticamente una configuración de un primer sistema operativo convencional.
La figura 11 es un diagrama de bloques que muestra esquemáticamente una configuración de un segundo sistema operativo convencional.
Fig. 8 ...... 1, 1 A, 1 B, 4, 5 Sistema operativo
Programa 2, 2 A, 2 B, 2 C
3, 3 Un compilador
11 Cola
12 Comenzar
13 Última cola
14 Dispositivo de almacenamiento de nombres de tareas
15, 16 dispositivo de almacenamiento de límite superior
31, 31 Un medio de detección de llamada
32, 32 Un medio de detección de nombre de tarea
33, 33 Un cambio de programa significa
53 Circuito de comparación
54 microcomputadora
Reclamo
Una cola para almacenar una tarea en un estado ejecutable reivindicación 1 una pluralidad de tareas de área de almacenamiento, y el objetivo de búsqueda de nombres de almacenamiento de tareas para almacenar cualquier tarea de búsqueda por la cola como un nombre de tarea de destino de búsqueda, el Y un compilador para generar un programa que incluye una unidad de llamada de llamada del sistema que incluye el procesamiento de búsqueda para buscar un nombre de tarea arbitrario de la cola en un programa, el sistema operativo para un microordenador incrustado que funciona en tiempo real, donde la cola Donde el primer dispositivo de almacenamiento de condiciones de recuperación almacena una primera condición de recuperación para recuperar una parte o la totalidad del nombre de tarea de destino de recuperación y designa el nombre de tarea de destino de recuperación como un primer nombre de tarea de destino de recuperación, Detectar la unidad de llamada de llamada del sistema correspondiente al primer nombre de tarea de destino de búsqueda en el programa, Un primer medio de detección de unidad de llamada de sistema para detectar un primer nombre de tarea detectado de dicha primera unidad de llamada de llamada de sistema detectada y emitir una unidad de llamada de llamada de sistema detectada; 1 medio de detección de nombre de tarea de destino, y primer medio de cambio de programa para cambiar el programa escribiendo el primer nombre de tarea detectado en la cola.
2. Aparato de procesamiento de información según la reivindicación 1, que comprende además un segundo dispositivo de almacenamiento de condición de búsqueda para almacenar la segunda condición de búsqueda de la cola y designa el nombre de tarea de destino de búsqueda como un segundo nombre de tarea de destino de búsqueda, donde el compilador comprende además: Las unidades de llamada de llamada de sistema primera y segunda corresponden a los nombres de tarea de objetivo de búsqueda primero y segundo de las unidades de llamada de llamada de sistema primera y segunda que emiten unidades de llamada de llamada de sistema de detección primera y segunda Una primera unidad de detección de nombre de tarea de detección para detectar el primer y segundo nombres de tarea de destino de búsqueda de la primera y segunda unidades de llamada de llamada de sistema de detección y emitir primero y segundo nombres de tarea detectados, respectivamente; 2 medios de detección de nombre de tarea objetivo y medios de cambio de programa primero y segundo para cambiar los programas, respectivamente, escribiendo el primer y segundo nombres de tareas detectados en la cola Sistema operativo según la reivindicación 1, en el que a.
3. El método de acuerdo con la reivindicación 1, en el que dichas primera y segunda condiciones de recuperación incluyen una primera y una segunda recuperación para limitar dicho rango de recuperación a un rango de un primer y un segundo número de áreas de almacenamiento predeterminadas respectivamente a partir de la cabeza de dicha cola. 3. El sistema operativo de acuerdo con la reivindicación 1, en el que el rango es un límite superior del rango.
4. El sistema operativo de acuerdo con la reivindicación 3, en el que dichas primera y segunda condiciones de recuperación se recuperan de dicho primer y segundo límites superiores de alcance de recuperación en dicha dirección de partida.
Dibujo :
Application number :1996-320798
Inventors :日本電気アイシーマイコンシステム株式会社
Original Assignee :藤川由和、山田義信