WO2018210063A1 - 一种终端系统启动方法及终端 - Google Patents

一种终端系统启动方法及终端 Download PDF

Info

Publication number
WO2018210063A1
WO2018210063A1 PCT/CN2018/080730 CN2018080730W WO2018210063A1 WO 2018210063 A1 WO2018210063 A1 WO 2018210063A1 CN 2018080730 W CN2018080730 W CN 2018080730W WO 2018210063 A1 WO2018210063 A1 WO 2018210063A1
Authority
WO
WIPO (PCT)
Prior art keywords
network module
terminal
program
network
driver
Prior art date
Application number
PCT/CN2018/080730
Other languages
English (en)
French (fr)
Inventor
张中信
于振东
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2018210063A1 publication Critical patent/WO2018210063A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44578Preparing or optimising for loading

Definitions

  • the present application relates to the field of electronic technologies, and in particular, to a terminal system startup method and terminal.
  • Android (Android) system is a Linux-based open source operating system, which is widely used in mobile devices, smart home appliances and other terminals. In the current fierce competition of Android consumer products, how to improve product solutions to enhance user experience is one of the key factors to improve product competitiveness.
  • the terminal will start the operating system according to the standard startup process.
  • various drivers are usually loaded at the beginning of the startup, for example, the network card driver and the sound card driver are loaded during the kernel startup phase of the operating system.
  • the network card in addition to the driver required to be driven by the network card driver.
  • the terminal when the terminal requests the network service, such as requesting an Ethernet service or a Wireless Fidelity (WiFi) service, the terminal needs to enable the network card by executing a network card enabling program, so that the terminal can The response to the network service request can be achieved by connecting the network to the enabled network card.
  • the network service such as requesting an Ethernet service or a Wireless Fidelity (WiFi) service
  • the terminal is enabled for the network card later, and the terminal needs to be connected after the network card is enabled, so that the terminal needs to wait for the terminal having the booting network requirement.
  • the present application provides a terminal system startup method and a terminal, which are used to improve the efficiency of a terminal connecting to a network when the system is started.
  • the first aspect provides a terminal system startup method, which can be applied to a terminal installed with an operating system.
  • the terminal runs a network module driver for driving the network module of the terminal.
  • the program after running the network module driver, and in the process of running the first program in the terminal, the terminal will run the network module enable program synchronously, and the first program is the network module in the system startup process of the terminal
  • the network module can be enabled in advance by running the network module enable program synchronously when the first program is run, and the terminal can be driven and enabled.
  • the network module makes a network connection.
  • the terminal when the terminal's own operating system is started, the terminal runs the network module driver to drive the network module of the terminal, and after running the network module driver, runs the network module synchronously in the process of running the first program in the terminal.
  • the program is enabled, because the first program is an arbitrary program that is executed after the network module driver in the startup sequence and before the network module enable program, and therefore runs in parallel during the execution of any one of the first programs.
  • the network module enables the program to enable the network module in advance, so that when the terminal requests the network service, the time for enabling the network module can be saved, so that the terminal can directly pass the enabled network module when the network connection is needed. Connect to the network to improve the efficiency of connecting to the network.
  • the terminal after running the network module driver, runs the network module enable program, and queries the status record information of the stored network module, the status record.
  • the information is used to record the state of the network module before the terminal is last closed, and when the terminal confirms that the state of the network module recorded by the state record information is the on state, the synchronous operation of the network module is enabled during the process of running the first program. program.
  • the terminal can determine the state of the network module before the recent shutdown of the terminal by querying the status record information, and based on this, control the network module to enable the state of the network module during the system startup process. Consistent with the state before the shutdown to meet the user's networking needs, thereby improving the user experience.
  • the terminal obtains an IP address by the driven and enabled network module, and connects according to the IP address The internet.
  • the terminal when the network service request is made, the terminal can obtain the IP address directly through the driven and enabled network module, and then implement the network connection according to the obtained IP address, which helps improve the efficiency of the terminal connecting to the network.
  • the second aspect provides a terminal system startup method, which can be applied to a terminal installed with an operating system.
  • the terminal runs a network module driver for driving the network module of the terminal.
  • a program and the terminal records the status of the stored network module by querying the status of the stored network module, wherein the status record information is used to record the status of the network module before the terminal is last turned off, and if the terminal determines that the status of the network module recorded by the status record information is the on state
  • the terminal After running the network module driver, the terminal synchronously runs a network module enabling program for enabling the network module in the process of running the first program in the terminal, and the first program is executed during the system startup process of the terminal.
  • any program that is located after the network module driver and before the network module enable program is executed. Therefore, when the status of the recorded network module is determined to be on by querying the record status information, the network module is synchronously executed when the first program is run. Enable the program and enable the network module in advance. The terminal will be enabled by being driven and the network module connect to the network.
  • the terminal when the terminal's own operating system is started, the terminal can determine the status of the network module before the terminal is last closed by querying the status record information, and can be in the process of running the first program in the terminal. Simultaneously running the network module enable program, since the first program is an arbitrary program that is executed after the network module driver in the startup sequence and before the network module enable program is executed, therefore, by running any one of the first programs
  • the network module can be enabled in advance, so that the terminal that needs to be networked can quickly access the network after being turned on, so that users with network requirements can use the network in time, and the efficiency of connecting the network is high.
  • the state of the network module after booting is the same as the recorded state, which is in line with the user's usage habits and helps to improve the user experience.
  • the terminal after the terminal queries the status record information of the stored network module, if the status of the recorded network module is determined to be off, the terminal is running the network.
  • the program after the network module driver is executed in the execution order of the system startup process of the terminal, and the program after the running network module driver does not include the network module enable program for enabling the network module, thereby Complete the startup of the operating system.
  • the terminal determines that the status of the network module before the recent shutdown of the terminal is off by querying the status record information, indicating that the user may not have network connection requirements.
  • the network module does not need to be run during the startup process of the operating system. Enable the program to avoid wasting resources during the boot process.
  • the open state is a state in which the network module is in a connected network
  • the closed state is a state in which the network module is in an unconnected network
  • the status of the network module recorded by the status record information can indicate whether the network module is in the state of connecting to the network before the last time the network is closed. Therefore, according to the state of the network module, it can be known whether the network connection is performed before the terminal is closed. Easy to understand the networking needs of users.
  • the terminal receives the The input command for instructing the terminal to make a network connection, the terminal enables the network module according to the running network module enable program to connect to the network through the driven and enabled network module.
  • the control terminal can be enabled to run the network module enable program through a corresponding input instruction, such as manual mode, to enable the network module to be enabled, so that the terminal passes the network module.
  • a corresponding input instruction such as manual mode
  • the terminal connects to the network through the driven and enabled network module after the network module enable program is run synchronously.
  • the terminal can connect the network through the network module after the network module is enabled in the startup process of the operating system, which helps to improve the efficiency of the terminal connecting to the network.
  • the terminal passes the driven and enabled network module Obtain an IP address and connect to the network based on the IP address.
  • the terminal can obtain the corresponding IP address through the network module, implement network connection, and improve the accuracy of the network connection.
  • a terminal in a third aspect, includes a memory, a processor, and a network module, and the module included in the terminal is configured to execute the terminal system startup method in the first aspect.
  • a fourth aspect provides a terminal, where the terminal includes a memory, a processor, and a network module, and the module included in the terminal is configured to execute the terminal system startup method in the second aspect.
  • a computer storage medium stores computer program instructions that, when executed on a computer, cause the computer to perform the terminal system startup method of the first aspect and the second aspect.
  • a computer program product comprising instructions that, when executed on a computer, cause the computer to perform the terminal system activation method of the first aspect and the second aspect.
  • FIG. 1 is a structural block diagram of a terminal of the present application.
  • FIG. 3 is a schematic diagram of a system standard startup process in the prior art
  • FIG. 4 is a flowchart of a method for starting a terminal system according to the present application.
  • 5A-5B are schematic diagrams of calling a first program and a network enabling program in the present application.
  • FIG. 6 is a schematic diagram 1 of a network connection through a network module in the present application.
  • FIG. 7 is a second schematic diagram of network connection through a network module in the present application.
  • the terminal can be a device with an operating system installed, such as a device with an Android system installed.
  • the terminal can communicate with the core network via a Radio Access Network (RAN) to exchange voice and data with the RAN.
  • the terminal may include a user equipment (User Equipment, UE), a wireless terminal, a mobile terminal, a Subscriber Unit, a Subscriber Station, a mobile station, a mobile station, a remote station (Remote). Station), Access Point (AP), Remote Terminal, Access Terminal, User Terminal, User Agent, User Device, etc. .
  • a mobile phone or "cellular” phone
  • a computer with a mobile terminal
  • a portable, pocket, handheld, computer built-in or in-vehicle mobile device smart wearable device, and the like.
  • PCS Personal Communication Service
  • SIP Session Initiation Protocol
  • WLL Wireless Local Loop
  • PDA Personal Digital Assistant
  • Smart Watches smart helmets, smart glasses, smart bracelets, and other equipment.
  • a network module which may be a module set in the terminal for making a network connection, such as a network card.
  • the present application provides a block diagram of a terminal 100 , which may include a memory 120 and a network module 170 .
  • the terminal 100 may also include other modules.
  • the input unit 130 the display unit 140 , the processor 190 , the radio frequency unit 110 , the power source 193 , and the external interface 197 .
  • FIG. 1 is only an example of the terminal 100 and does not constitute a limitation of the terminal 100.
  • the terminal 100 may include more or less components than the illustrated ones, or combine some components or different components. .
  • the input unit 130 can be configured to receive input digital or character information, and generate key signal input related to user settings and function control of the terminal 100.
  • the input unit 130 can include a touch screen as well as other input components.
  • the touch screen can provide an input interface and an output interface between the terminal 100 and the user.
  • touch screens can be implemented in various types such as resistive, capacitive, infrared, and surface acoustic waves.
  • Other input devices may include, but are not limited to, one or more of a physical keyboard, function keys (eg, volume control buttons, switch buttons, etc.), trackballs, mice, joysticks, and the like.
  • the display unit 140 can be used to display information input by the user or information provided to the user and various menus of the terminal 100.
  • the touch screen may cover the display panel, and when the touch screen detects a touch operation on or near it, the touch screen is transmitted to the processor 190 to determine the type of the touch event, and then the processor 190 provides corresponding on the display panel according to the type of the touch event.
  • Visual output In this embodiment, the touch screen and the display unit can be integrated into one component to implement the input, output, and display functions of the terminal 100.
  • the present application represents a touch screen and a function set of the display unit in a touch screen; in some embodiments, The touch screen and display unit can also be used as two separate components.
  • the memory 120 can be used to store instructions and data, the memory 120 can mainly include a storage instruction area and a storage data area, and the storage data area can store an association relationship between a boot operation and a program for system startup; the storage instruction area can store an operating system, at least one Instructions required for the function, etc.
  • the memory 120 may include at least one type of storage medium, and may include, for example, a flash memory, a hard disk, a multimedia card, a card type memory, a random access memory (RAM), a static random access memory (SRAM), Programmable Read Only Memory (PROM), Read Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Magnetic Memory, Disk , CDs, etc.
  • a flash memory a hard disk
  • multimedia card a card type memory
  • RAM random access memory
  • SRAM static random access memory
  • PROM Programmable Read Only Memory
  • ROM Read Only Memory
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • the processor 190 is a control center of the terminal 100, and connects various parts of the entire mobile phone using various interfaces and lines, and executes various kinds of the terminal 100 by operating or executing an instruction stored in the memory 120 and calling data stored in the memory 120. Function and process data to monitor the phone as a whole.
  • the processor 190 may include one or more processing units; preferably, the processor 190 may integrate an application processor and a modem processor, where the application processor mainly processes an operating system, a user interface, an application, and the like.
  • the modem processor primarily handles wireless communications. It will be appreciated that the above described modem processor may also not need to be integrated into the processor 190.
  • processor 190, memory 120 can be implemented on a single chip, and in some embodiments, they can also be implemented separately on separate chips.
  • the memory 120 may store data such as related programs for system startup and status information of the network module 170, and the processor 190 can read data from the memory 120 to start the operating system of the terminal 100.
  • the radio frequency unit 110 can be used for transmitting and receiving information or receiving and transmitting signals during the call. Specifically, after receiving the downlink information of the base station, the processing is performed by the processor 190. In addition, the designed uplink data is sent to the base station.
  • RF circuits include, but are not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a Low Noise Amplifier (LNA), a duplexer, and the like.
  • the radio unit 110 can also communicate with network devices and other devices through wireless communication.
  • Wireless communication can use any communication standard or protocol, including but not limited to Global System of Mobile communication (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (Code Division Multiple) Access, CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), e-mail, Short Messaging Service (SMS), and the like.
  • GSM Global System of Mobile communication
  • GPRS General Packet Radio Service
  • CDMA Code Division Multiple Access
  • WCDMA Wideband Code Division Multiple Access
  • LTE Long Term Evolution
  • SMS Short Messaging Service
  • FIG. 1 shows the radio frequency unit 110, it can be understood that it does not belong to the essential configuration of the terminal 100, and may be omitted as needed within the scope of not changing the essence of the present application.
  • the terminal 100 can make a network connection through the network module 170, thereby helping the user using the terminal 100 to send and receive emails, browse web pages, access streaming media, and the like.
  • Terminal 100 may also include a power source 193 (eg, a battery) for receiving external power or for powering various components within terminal 100.
  • a power source 193 eg, a battery
  • the power supply 193 can be logically coupled to the processor 190 through a power management system to manage functions such as charging, discharging, and power management through the power management system.
  • the terminal 100 further includes an external interface 197.
  • the external interface may be a standard Micro USB interface.
  • the multi-pin connector may be used to connect the terminal 100 to communicate with other devices, or may be used to connect the charger to charge the terminal 100.
  • the terminal 100 may further include a camera, a flash, a sensor, an audio circuit, a microphone, and the like, and details are not described herein.
  • the operating system installed in the terminal 100 is an Android system as an example.
  • FIG. 2 it is a system architecture diagram of the Android system.
  • the Android system is usually divided into four layers, from the upper layer to the lower layer are the application layer, the application framework layer, the system runtime layer and the Linux kernel layer.
  • the application layer includes multiple applications (APPs), such as client programs, browser programs, and contact management programs. All applications can be written in the JAVA language. Each application consists of one or more activities. The activity is similar to the process on the operating system and can be switched between multiple states. Applications developed based on the Android framework can run on any platform with an Android system without compiling.
  • APPs applications
  • All applications can be written in the JAVA language.
  • Each application consists of one or more activities. The activity is similar to the process on the operating system and can be switched between multiple states.
  • Applications developed based on the Android framework can run on any platform with an Android system without compiling.
  • the application framework layer is structured to manage applications by categorizing applications, usually including activity management, resource management, view management, and notification management.
  • the system runtime layer contains the library and the Android runtime library.
  • the library can be a C/C++ library and a browser library (WebKit), etc.
  • WebKit browser library
  • different applications can call corresponding function functions in the library, and provide services for developers through the application framework layer.
  • the Android runtime library contains most of the functionality of the JAVA programming language core library, and provides the function functions that the application needs to call when it runs.
  • the Linux kernel layer including power management, display drivers, and camera drivers, provides core system services such as security services, network services, memory management services, inspection management services, and driver models for the Android kernel.
  • the Android kernel can rely on the Linux 2.6 kernel implementation, essentially a Java virtual machine running inside the Linux kernel.
  • the existing Android system standard startup process After the Linux kernel is started, the initialization process (Init) is first loaded to enter the Android kernel, and then the Android system related services and applications are started.
  • the existing Android system standard startup process usually includes the following process:
  • Procedure 1 Turn on the power and start the system.
  • the terminal 100 When the user presses the power button of the terminal 100, the terminal 100 first executes a basic input output system (BIOS) program. After the execution of the BIOS program is completed, the operating system of the terminal 100 is started to implement the terminal 100 booting.
  • the booting of the terminal 100 may refer to the entire process from the power of the terminal 100 being turned on until the display screen of the terminal 100 displays the user login screen.
  • the “system” mentioned in the present application refers to the operating system of the terminal 100.
  • the memory of the terminal 100 is divided into a large-capacity memory (usually a hard disk) and a main memory (ie, a memory), and an operating system (ie, an Android system) is installed on the large-capacity memory.
  • the memory can be divided into two parts: a read-only memory (ROM) portion and a random access memory (RAM) portion.
  • the ROM part stores a boot program and a BIOS program, and the BIOS program includes information about the CPU, device boot sequence information, hard disk information, memory information, clock information, and Plug-and-Play (PnP) characteristics. Wait.
  • the terminal 100 After executing the BIOS program, the terminal 100 will read the master boot record (MBR) of the hard disk, and the MBR is also referred to as a master boot sector.
  • the sector includes two parts: the first part is a boot area for storing the main The partition of the bootloader; the second part is the partition used to store the partition table, which is used to record the partition information of the sector, such as the number of partitions and the size of each partition.
  • the terminal 100 finds the MBR of the hard disk specified by the BIOS, the content stored in the MBR is copied into the physical memory, and the content copied to the physical memory is the Boot Loader.
  • the bootloader has two execution phases, the first phase: detecting the RAM outside the operating system, and loading the program useful for the second phase; the second phase: setting the network parameters and mapping the memory space.
  • the Central Processing Unit (CPU) in the terminal 100 can be directed to transfer the Android system from the mass storage to the RAM portion of the memory. That is to say, when the execution boot program is in the second phase, the terminal 100 will execute a branch instruction through the CPU, and by executing the branch instruction, the Android system originally stored in the mass storage memory will be dumped to the memory. At this point, the Android system begins to take over and control the activity of the terminal 100 and is ready to call the Android kernel.
  • the CPU Central Processing Unit
  • the Android kernel is similar to the way the Linux kernel is booted. Multiple processes need to be executed during the Android kernel boot process. Start the Android kernel, mainly used to complete the settings cache, load drivers and other operations. Generally speaking, in the Android kernel startup phase, the terminal 100 can load a variety of drivers, such as a graphics card driver, a sound card driver, and a network card driver.
  • drivers such as a graphics card driver, a sound card driver, and a network card driver.
  • the Android kernel After the Android kernel completes the system setup, it will create the first system kernel thread through the kernel thread function kenrel_thread(), which will execute the init() function in the Android kernel to guide the next phase of the startup task. That is to say, after the Android kernel is started, the first program to run is the Init process.
  • the main function of the Init process is to mount directories such as /sys, /dev or /proc, and so on.
  • the Zygote process is a virtual machine process. While the operating system is running, when receiving a request to create a virtual machine, the Zygote process will incubate the Dalvik VM instance, which initializes the virtual machine to start virtual machine sharing code and reduce memory usage.
  • Procedure 6 Initialize the Server Manager and start the System Service.
  • the service manager is a tool for managing system services.
  • the system will start the system service.
  • the system service is mainly used to start some Android system management services of the Java layer, including the hardware service and the system framework core platform service, and register these Android system management services.
  • Inter-Process Communication (IPC) service objects The startup code of these IPC service objects is located in the run function of SystemServer.java.
  • the system service After the system service is started, the system service will send a system ready broadcast message indicating that the system has been started, and the system can perform corresponding system services, such as management services or network services.
  • the system will enable the network card when the terminal 100 requests the network service.
  • the network card driver is relatively advanced, and it is usually implemented by loading the network card driver during the kernel startup phase. After the NIC is driven, the NIC is mapped to a device node of the system, and the device node cannot make a network connection. In order to enable the network card to have a network connection function, it is necessary to further enable the network card.
  • the current network card enablement is usually performed when the terminal 100 requests the network service, and the network card needs to be used for a certain period of time. Then, when the terminal 100 requests the network service, the time required to wait is longer, and the terminal 100 is connected to the network. Less efficient.
  • the terminal 100 in the process of starting the own operating system, the terminal 100 is enabled to run the network module synchronously during the execution of any one of the first programs installed in the terminal 100 after the execution of the network module driver is completed.
  • a program, and the execution order of the first program is located after the network module driver, and the execution sequence is any program before the network module enable program, and therefore, the terminal 100 can execute the first program and the network module in parallel during the startup of the operating system.
  • the program can shorten the length of time required by the terminal 100 during the startup process of the operating system, and since the network module enable program is run synchronously when the first program is run, the network module can be enabled in advance to facilitate startup at the terminal 100. After the network connection is quickly performed, the efficiency of the terminal 100 connecting to the network can be improved.
  • the present application provides a terminal system startup method, which can be performed by the terminal 100 in FIG.
  • the process of this method is described as follows:
  • S41 The terminal 100 receives an instruction for starting its own operating system, and starts its own operating system.
  • the terminal 100 runs the first program, and runs the network module enable program to enable the network module 170 during the running of the first program.
  • the first program is any program whose execution order is after the network module driver and the execution order is before the network module enable program.
  • the terminal 100 connects to the network through the driven and enabled network module 170.
  • the terminal 100 when the user presses the power button of the terminal 100, the terminal 100 generates a corresponding power-on command, and the terminal 100 can start its own operating system according to the power-on command.
  • the terminal 100 can run the corresponding program in the execution order indicated by the standard startup flow as previously described.
  • the operation mentioned in the present application may refer to a process of acquiring a corresponding program by calling or the like to implement the execution of the program.
  • the terminal 100 can invoke the corresponding program by the processor 190 to start the operating system of the terminal 100.
  • the processor 190 calls the network module driver to drive the network module 170 during system startup.
  • the first program is an arbitrary program that is executed after the network module driver in the system startup process of the terminal 100 and before the execution order is located before the network module enable program.
  • the first program may be any one of the applications running in the system startup process in the terminal 100, for example, the first program may be a system program, or the first program may be an application program.
  • the network module driver is used to drive the network module 170 of the terminal 100
  • the network module enabling program is used to enable the network module 170, and the terminal 100 can connect to the network through the network module 170 that is driven and enabled.
  • the network module 170 can be, but is not limited to, a network card.
  • the network module enabler can be used to enable the network module 170, and the enabled network module 170 can perform network connections. For example, if the network module 170 of the terminal 100 is a network card, in the system startup process, after the terminal 100 invokes the network card driver to drive the network card, the network card is mapped to a device node in the down state of the system. Unable to make a network connection. Then, after the network card is enabled, the device node is set to the up state from the down state. Therefore, when the terminal 100 requests the network service, the network connection can be performed through the network card in the up state.
  • programs that are executed sequentially in the order of execution during system startup usually have a certain dependency relationship.
  • the processor 190 will call the related program started by the system.
  • the kernel thread function kenrel_thread() in the kernel startup phase is first used to create the corresponding system kernel thread. guide.
  • the program related to the network service in the terminal 100 is called in advance, that is, the program related to the network service is called in parallel.
  • the first program and the network module enable program in the terminal 100 may be invoked in parallel to enable the network module 170 in advance, thereby requesting the network at the terminal 100.
  • the network connection can be performed through the enabled network module 170, without the need to enable the network module 170 during the network service process, saving the enabling time, and improving the efficiency of the network connection of the terminal 100.
  • the terminal 100 after loading the network module driver in the kernel startup phase, the terminal 100 can be used as the first program in any subsequent startup phase of the system until the startup system service phase, for example, the first program can be a kernel startup.
  • the program of the stage, or the first program may also be a program that starts the virtual machine stage, and the like.
  • the terminal 100 can synchronously run the network module enabling program that is executed when the terminal 100 requests the network service, so as to implement the enabling of the network module 170 in advance.
  • the synchronization of the first program and the network module enable program may also occur during the kernel boot phase.
  • the network module 170 is a network card
  • the network module driver is a network card driver.
  • the first program may be a program that the processor 190 executes after the network card driver in the system startup process, for example, the first program is Kernel.
  • the processor 190 also runs the network card enable program in parallel to enable the network card of the terminal 100.
  • the system startup process is as shown in FIG. 5A, so that the Kernel process can be implemented. Parallel operation with the NIC enabler to improve the efficiency of the terminal connection network.
  • the parallel execution of the first program and the network module enabler may occur during other startup phases after the kernel is booted.
  • the network module 170 is a network card
  • the network module driver is a network card driver
  • the network module enabling program is a network card enabling program.
  • the terminal 100 enables the network module 170 by using the network module enabling program that is called simultaneously with the first program, because the first program is located after the network module driver in the execution order, and the execution order is located in the network.
  • the module enables any program before the program, so the timing of calling the network module enable program to enable the network module 170 is more flexible.
  • the terminal 100 can obtain an IP address through the driven and enabled network module 170 for network connection.
  • FIG. 6 a schematic diagram of a network connection implemented by the network module 170 during system startup is provided for the present application.
  • the first program is an example in which the execution sequence is in the kernel startup phase, and the step marked with a solid line is the main solution of the present application, and the step marked by a broken line is an alternative, wherein the processor 190 and the memory 120 are included.
  • network module 170 can be the component from FIG.
  • the processor 190 reads related programs for starting the system, and the programs may be stored in the memory 120 of the terminal 100, and the processor 190 may sequentially call the relevant in accordance with the execution order in the system startup process. program.
  • the network module 170 will be driven, and the curved arrows in the figure indicate the execution of the corresponding program, such as the curved arrow labeled "Drive Network Module 170” can be understood as being in the network.
  • the process by which the module driver acts on the network module 170 that is, the process of driving the network module 170.
  • the curved arrows labeled "System Continues to Start” can be understood as the processor 190 continuing to call other programs in the order of execution in system startup.
  • terminal 100 may also store state record information that records the state of network module 170 prior to the last shutdown of terminal 100.
  • the status record information may record the status of the network card before the last shutdown of the terminal 100.
  • the status of the network card may be an up state or a down state, and the state record information may be storage.
  • the state of the terminal 100 after being turned on again can refer to the state recorded by the stored state record information.
  • the status of the recorded network module 170 can indicate whether the terminal 100 has a networking requirement. For example, if the status of the recorded network module 170 is the on state, that is, the network module is in the state of connecting to the network, it indicates that the terminal 100 has a networking requirement during use by the user. In this case, the network module 170 needs to be enabled, so that the terminal 100 The network is connected through the driven and enabled network module 170. On the other hand, if the status of the recorded network module 170 is off, that is, the network module 170 is in a state of not being connected to the network, it indicates that the terminal 100 may not have a networking requirement during use. In this case, the terminal 100 does not need to enable the network module 170. .
  • the terminal 100 can query the stored status record information before calling the network module enablement program in the terminal 100. For example, as shown in FIG. 6, the terminal 100 can query the status record information in the memory 120 through the processor 190. Then, the processor 190 can determine whether the terminal 100 has a networking requirement after the power is turned on according to the state of the recorded network module 170, thereby determining whether the network module enabling program is also called during the process of calling the first program.
  • the terminal 100 After the terminal 100 queries the status record information, if the status of the network module 170 recorded by the status record information is the on state, that is, the query result shown in FIG. 6, the terminal 100 is required to enable the network module 170, then the terminal 100 is After the network module driver is executed, the network module enable program can be run synchronously when the first program is run.
  • the Kernel process Kernel is used as an example in FIG. 6 to enable the network module 170 to be enabled in advance during the system startup process, which saves the time for the network module 170 to be enabled when the terminal 100 requests the network service.
  • the network module 170 can record and store its current state after being enabled, for example, in the memory 120, FIG. 6
  • the middle is indicated by a dotted line.
  • the terminal 100 does not need to invoke the network module enablement procedure during the execution of the first program. That is to say, after the network module driver is run, the terminal 100 can run the program after the network module driver in the execution sequence in the system startup process of the terminal 100, and the program after the running network module driver is not included.
  • the network module enables the program to complete the startup of the operating system. That is to say, since the terminal 100 has no networking requirements, in this application, the network module enabling program does not need to be run during the subsequent system startup process, and the enabling operation of the network module 170 is saved.
  • the user can control the terminal 100 to enable the network module 170 to perform a network connection by inputting a corresponding instruction manually or by other means.
  • the terminal 100 After the system is started, if the terminal 100 receives an instruction for instructing the terminal 100 to perform a network connection input, the terminal 100 will run a network module enable program according to the input instruction to perform the network module 170. The connection is enabled so that the terminal 100 can make a network connection through the driven and enabled network module 170.
  • the control network module 170 is enabled to make the state of the network module 170 consistent with the state before the shutdown to meet the networking requirements of the user, thereby improving the user experience.
  • the terminal 100 can detect the current state of the network module 170 to determine whether the network module enablement procedure has been successfully executed, that is, whether the network module 170 is successfully enabled.
  • the terminal 100 After the terminal 100 detects the current state of the network module 170, if it is determined that the current state of the network module 170 is the on state, as shown in FIG. 6, if the terminal 100 needs to be connected at this time, the terminal 100 can be driven and enabled.
  • the network module 170 obtains an Internet Protocol (IP) address and connects to the network according to the obtained IP address.
  • IP Internet Protocol
  • the terminal 100 can enable the Dynamic Host Configuration Protocol (DHCP) and the Point-to-Point Protocol over Ethernet protocol. , PPPOE) and other methods to obtain an IP address, which can be connected to the network through the obtained IP address.
  • DHCP Dynamic Host Configuration Protocol
  • PPPOE Point-to-Point Protocol over Ethernet protocol
  • the terminal 100 can also access the Internet through a proxy server in the browser.
  • the present application does not specifically limit the type of network to be connected, as long as the network connection of the terminal 100 can be implemented.
  • the terminal 100 needs to connect to an access point (AP) before accessing the IP address, and then perform network connection through the AP.
  • AP access point
  • the connection process is the same as the existing one, and will not be described here.
  • the terminal 100 After detecting the current state of the network module 170, the terminal 100 determines that the current state of the network module 170 is the closed state, and the terminal 100 will query the state of the network module 170 in which the stored state record information is recorded. For example, as shown in FIG. 7, if the processor 190 determines that the state of the network block recorded by the state record information stored in the memory 120 is the on state, it indicates that the network module enablement procedure may not be successfully called in S12, then the terminal 100 The network module enable program can be invoked again to enable the network module 170. In this way, it helps to avoid the situation that the system cannot respond to the network service request of the terminal 100 because the network module 170 is not successfully enabled, so that the terminal 100 that needs the network connection can normally perform the network connection after the power is turned on.
  • the network module enable program does not need to be invoked when continuing execution in the execution sequence in the standard startup process.
  • the enabling operation of the network module 170 is saved. For the same reason, if the subsequent users have the network connection requirements, the foregoing manual implementation is implemented, and details are not described herein again.
  • the network module can be ensured before the terminal 100 requests the network service.
  • the current state of the network module 170 is the same as that of the network module 170 before the last shutdown of the terminal 100, and the network state after the terminal 100 is powered on is automatically adjusted to be consistent with the network state at the time of the last shutdown to improve the user experience.
  • the computer program product includes one or more computer instructions.
  • the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
  • the computer instructions can be stored in a computer readable storage medium or transferred from one computer readable storage medium to another readable storage medium, for example, the computer instructions can be passed from a website site, computer, server or data center Wired (eg, coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (eg, infrared, wireless, microwave, etc.) to another website site, computer, server, or data center.
  • the computer readable storage medium can be any available media that can be accessed by a computer or a data storage device such as a server, data center, or the like that includes one or more available media.
  • the usable medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a DVD), or a semiconductor medium (eg, a solid state disk (SSD)) or the like.
  • a magnetic medium eg, a floppy disk, a hard disk, a magnetic tape
  • an optical medium eg, a DVD
  • a semiconductor medium eg, a solid state disk (SSD)

Abstract

一种终端系统启动方法及终端,用于提高终端在系统启动时连接网络的效率。该方法包括:终端在自身的操作系统启动时,运行网络模块驱动程序;其中,所述网络模块驱动程序用于驱动所述终端的网络模块;所述终端在运行完成所述网络模块驱动程序之后,在运行所述终端中安装的第一程序的过程中,同步运行网络模块使能程序;其中,所述第一程序为在所述终端的系统启动过程中执行顺序位于所述网络模块驱动程序之后、且执行顺序位于所述网络模块使能程序之前的任意程序,所述网络模块使能程序用于使能所述网络模块;所述终端通过被驱动和使能的所述网络模块连接网络。

Description

一种终端系统启动方法及终端
本申请要求于2017年5月17日提交中国专利局、申请号为201710349052.3、申请名称为“一种终端系统启动方法及终端”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及电子技术领域,尤其涉及一种终端系统启动方法及终端。
背景技术
安卓(Android)系统是一种基于Linux的开源操作系统,目前广泛应用于移动设备、智能家电等终端。在当前Android消费产品竞争越来越激烈的情况下,如何改善产品方案以提升用户体验,是提高产品竞争力的关键要素之一。
目前,在Android系统的启动过程中,用户按下终端的电源,终端将按照标准启动流程启动操作系统。现有的标准启动流程中,通常在启动初期加载各种驱动程序,例如在操作系统的内核启动阶段加载网卡驱动程序和声卡驱动程序等,然而对于网卡来说,除了需要通过网卡驱动程序来驱动之外,还需要通过网卡使能程序进行使能后才能工作。因此在操作系统启动的后期,终端请求网络服务时,如请求以太网(Ethernet)服务或无线保真(Wireless Fidelity,WiFi)服务等,终端还需通过执行网卡使能程序来使能网卡,以便通过使能的网卡连接网络,才能实现对网络服务请求的响应。
可见,在操作系统的标准启动流程中,终端对于网卡的使能时间较晚,而终端又需要在网卡使能后才能进行网络连接,所以,对于具有开机联网需求的终端来说,其需要等待的时间较长,导致终端连接网络的效率较低。
发明内容
本申请提供一种终端系统启动方法及终端,用于提高终端在系统启动时连接网络的效率。
第一方面,提供一种终端系统启动方法,该方法可以应用在安装有操作系统的终端中,该方法中,终端在自身的操作系统启动时,运行用于驱动终端的网络模块的网络模块驱动程序,在运行完成网络模块驱动程序之后,且在运行终端中的第一程序的过程中,终端将同步运行网络模块使能程序,而第一程序为终端的系统启动过程中执行顺序位于网络模块驱动程序之后、且执行顺序位于网络模块使能程序之前的任意程序,故通过在运行第一程序时同步运行网络模块使能程序,可以提前使能网络模块,进而终端可以通过被驱动和使能的网络模块进行网络连接。
本申请中在终端自身的操作系统启动时,终端运行网络模块驱动程序来驱动终端的网络模块,并在运行网络模块驱动程序之后,在运行终端中的第一程序的过程中,同步运行网络模块使能程序,由于第一程序是启动过程中执行顺序位于网络模块驱动程序之后、且执行顺序位于网络模块使能程序之前的任意程序,因此,通过在运行任意一个第一程序的过程中并行运行网络模块使能程序,可以提前使能网络模块,从而在终端请求网络服务时,可节省对网络模块进行使能的时间,使得终端在需要进行网络连接时能够直接通过已使能 的网络模块快速连接网络,提高连接网络的效率。
结合第一方面,在第一方面的第一种可能的实现方式中,终端在运行完成网络模块驱动程序之后,运行网络模块使能程序之前,查询存储的网络模块的状态记录信息,该状态记录信息用于记录网络模块在终端最近一次关闭前的状态,且在终端确认状态记录信息所记录的网络模块的状态为开启状态时,则在运行第一程序的过程中,同步运行网络模块使能程序。
本申请中,终端通过对状态记录信息进行查询,可以确定网络模块在终端近期的关闭前的状态,并以此为依据,在系统启动过程中,控制网络模块的使能,使网络模块的状态与关闭前的状态一致,以符合用户的联网需求,从而提高用户体验。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,终端通过被驱动和使能的网络模块获取IP地址,并根据IP地址连接网络。
本申请中,终端在进行网络服务请求时,可通过被驱动和使能的网络模块直接获取IP地址,进而根据获取的IP地址实现网络连接,有助于提高终端连接网络的效率。
第二方面,提供一种终端系统启动方法,该方法可以应用在安装有操作系统的终端中,该方法中,终端在自身的操作系统启动时,运行用于驱动终端的网络模块的网络模块驱动程序,进而终端通过查询存储的网络模块的状态记录信息,该状态记录信息用于记录网络模块在终端最近一次关闭前的状态,若终端确定状态记录信息记录的网络模块的状态为开启状态,则终端在运行完成网络模块驱动程序之后,在运行终端中的第一程序的过程中,同步运行用于使能网络模块的网络模块使能程序,且第一程序为在终端的系统启动过程中执行顺序位于网络模块驱动程序之后、且执行顺序位于网络模块使能程序之前的任意程序,故通过查询记录状态信息确定记录的网络模块的状态为开启状态时,在运行第一程序时同步运行网络模块使能程序,提前使能网络模块,以便终端可以通过被驱动和使能的网络模块进行网络连接。
本申请中在终端自身的操作系统启动时,终端通过对状态记录信息的查询,在确定网络模块在终端最近一次关闭前的状态为开启状态,即可在运行终端中的第一程序的过程中,同步运行网络模块使能程序,由于第一程序是启动过程中执行顺序位于网络模块驱动程序之后、且执行顺序位于网络模块使能程序之前的任意程序,因此,通过在运行任意一个第一程序的过程中并行运行网络模块使能程序,可以提前使能网络模块,以使得需要联网的终端在开机后能够快速接入网络,便于有网络需求的用户及时使用网络,连接网络的效率较高。同时,开机后网络模块的状态与记录的状态相同,符合用户的使用习惯,有助于提高用户体验度。
结合第二方面,在第二方面的第一种可能的实现方式中,终端在查询存储的网络模块的状态记录信息之后,若确定记录的网络模块的状态为关闭状态,则终端在运行完成网络模块驱动程序之后,按照终端的系统启动过程中的执行顺序运行网络模块驱动程序之后的程序,且运行的网络模块驱动程序之后的程序不包括用于使能网络模块的网络模块使能程序,从而完成操作系统的启动。
本申请中,终端通过对状态记录信息的查询,确定网络模块在终端近期的关闭前的状态为关闭状态时,表明用户可能没有联网需求,此时,则在操作系统启动过程中无需运行网络模块使能程序,从而避免造成启动过程中的资源浪费。
结合第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,开 启状态为网络模块处于连接网络的状态,关闭状态为网络模块处于未连接网络的状态。
本申请中由于状态记录信息记录的网络模块的状态可以表征终端在最近一次关闭前网络模块是否处于连接网络的状态,故根据网络模块的状态即可得知终端在关闭前是否进行了网络连接,便于了解用户的联网需求。
结合第二方面的第一种可能的实施方式或第二方面的第二种可能的实施方式,在第二方面的第三种可能的实施方式中,终端在完成操作系统的启动之后,若接收了用于指示终端进行网络连接的输入指令,则终端根据将运行网络模块使能程序来使能网络模块,以通过被驱动和使能的网络模块连接网络。
本申请中,在操作系统启动后,若用户有联网需求,可以通过相应的输入指令,例如手动等方式,控制终端运行网络模块使能程序,实现对网络模块的使能,以便终端通过网络模块连接网络,实现方式较为便捷。
结合第二方面,在第二方面的第四种可能的实施方式中,在同步运行网络模块使能程序之后,终端通过被驱动和使能的网络模块连接网络。
本申请中终端在自身操作系统启动过程中,提前使能了网络模块后,即可通过网络模块连接网络,有助于提高终端连接网络的效率。
结合第二方面的第三种可能的实施方式或第二方面的第四种可能的实施方式中,在第二方面的第五种可能的实施方式中,终端通过被驱动和使能的网络模块获取IP地址,并根据IP地址连接网络。
本申请中,在网络模块被驱动和使能后,终端即可通过网络模块获取相应的IP地址,实现网络连接,提高网络连接的准确性。
第三方面,提供一种终端,该终端包括存储器、处理器和网络模块,终端所包括的模块用于执行第一方面中的终端系统启动方法。
第四方面,提供一种终端,该终端包括存储器、处理器和网络模块,终端所包括的模块用于执行第二方面中的终端系统启动方法。
第五方面,提供一种计算机存储介质,该计算机存储介质中存储有计算机程序指令,当指令在计算机上运行时,使得计算机执行第一方面及第二方面中的终端系统启动方法。
第六方面,提供一种计算机程序产品,该计算机程序产品包含指令,当指令在计算机上运行时,使得计算机执行第一方面及第二方面中的终端系统启动方法。
附图说明
图1为本申请的一种终端的结构框图;
图2为本申请的一种操作系统的架构图;
图3为现有技术中系统标准启动流程示意图;
图4为本申请的终端系统启动方法的一种流程图;
图5A-图5B为本申请中调用第一程序及网络使能程序的示意图;
图6为本申请中通过网络模块进行网络连接的示意图一;
图7为本申请中通过网络模块进行网络连接的示意图二。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步 地详细描述。
首先,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
1)终端,可以是安装了操作系统的设备,例如是安装有Android系统的设备。在实际应用中,该终端可以经无线接入网(Radio Access Network,RAN)与核心网进行通信,与RAN交换语音及数据。该终端可以包括用户设备(User Equipment,UE)、无线终端、移动终端、订户单元(Subscriber Unit)、订户站(Subscriber Station),移动站(Mobile Station)、移动台(Mobile)、远程站(Remote Station)、接入点(Access Point,AP)、远程终端(Remote Terminal)、接入终端(Access Terminal)、用户终端(User Terminal)、用户代理(User Agent)、或用户装备(User Device)等。例如,可以包括移动电话(或称为“蜂窝”电话),具有移动终端的计算机,便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,智能穿戴式设备等。例如,个人通信业务(Personal Communication Service,PCS)电话、无绳电话、会话发起协议(SIP)话机、无线本地环路(Wireless Local Loop,WLL)站、个人数字助理(Personal Digital Assistant,PDA)、智能手表、智能头盔、智能眼镜、智能手环、等设备。
2)网络模块,可以是终端中设置的用于进行网络连接的模块,例如网卡。
下面结合附图介绍本申请的终端结构。
如图1所示,本申请提供一种终端100的框图,该终端100可以包括存储器120和网络模块170。当然,除这些模块外,该终端100还可以包括其他的一些模块,请仍参考图1,例如还包括输入单元130、显示单元140、处理器190、射频单元110、电源193和外部接口197等模块。
本领域技术人员可以理解,图1仅仅是终端100的举例,并不构成对终端100的限定,终端100可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
其中,输入单元130可用于接收输入的数字或字符信息,以及产生与终端100的用户设置以及功能控制有关的键信号输入。实际应用中,输入单元130可包括触摸屏以及其他输入部件。其中,触摸屏可以提供终端100和用户之间的输入界面和输出界面。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触摸屏。其他输入设备可以包括但不限于物理键盘、功能键(例如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端100的各种菜单。进一步的,触摸屏可覆盖显示面板,当触摸屏检测到在其上或附近的触摸操作后,传送给处理器190以确定触摸事件的类型,随后处理器190根据触摸事件的类型在显示面板上提供相应的视觉输出。在本实施例中,触摸屏与显示单元可以集成为一个部件而实现终端100的输入、输出、显示功能;为便于描述,本申请以触摸屏代表触摸屏和显示单元的功能集合;在某些实施例中,触摸屏与显示单元也可以作为两个独立的部件。
存储器120可用于存储指令和数据,存储器120可主要包括存储指令区和存储数据区,存储数据区可存储开机操作与用于系统启动的程序的关联关系;存储指令区可存储操作系统、至少一个功能所需的指令等。
存储器120可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random Access Memory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory, PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。
处理器190是终端100的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的指令以及调用存储在存储器120内的数据,执行终端100的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器190可包括一个或多个处理单元;优选的,处理器190可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可无需集成到处理器190中。
在一些实施例中,处理器190、存储器120可以在单一芯片上实现,在一些实施例中,他们也可以在独立的芯片上分别实现。本申请中,存储器120可以存储用于系统启动的相关程序以及网络模块170的状态信息等数据,处理器190能够从存储器120中读取数据,启动终端100的操作系统。
射频单元110可用于收发信息或通话过程中信号的接收和发送,特别地,将基站的下行信息接收后,给处理器190处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,射频单元110还可以通过无线通信与网络设备和其他设备通信。无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。虽然图1示出了射频单元110,但是可以理解的是,其并不属于终端100的必须构成,完全可以根据需要在不改变本申请的本质的范围内而省略。
终端100通过网络模块170可以进行网络连接,从而帮助使用终端100的用户收发电子邮件、浏览网页和访问流式媒体等。
终端100还可以包括电源193(例如电池),其用于接收外部电力或为终端100内的各个部件供电。优选的,电源193可以通过电源管理系统与处理器190逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
终端100还包括外部接口197,外部接口可以是标准的Micro USB接口,也可以使多针连接器,可以用于连接终端100与其他装置进行通信,也可以用于连接充电器为终端100充电。
尽管未示出,终端100还可以包括摄像头、闪光灯、传感器、音频电路及麦克风等,在此不再赘述。
接下来,结合附图介绍本申请中终端100所安装的操作系统的架构。
本申请中,主要以终端100中安装的操作系统是Android系统为例进行说明,如图2所示,为Android系统的系统架构图。Android系统通常分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。
其中,应用程序层包括多个应用程序(APP),例如客户端程序、浏览器程序及联系人管理程序等。所有的应用程序都可以使用JAVA语言编写,每一个应用程序由一个或者多 个活动组成,活动类似于操作系统上的进程,可在多种状态之间进行切换。基于Android框架开发的应用程序无需编译就能运行于任何一台安装有android系统的平台中。
应用程序框架层是通过对应用程序的分类来对应用程序进行结构化管理的,通常包括活动管理、资源管理、视图管理和通知管理等。
系统运行库层包含程序库和Android运行时库。其中,程序库可以是C/C++库和浏览器库(WebKit)等,Android系统中不同的应用程序可以调用程序库中相应的功能函数,并通过应用程序框架层为开发者提供服务。Android运行时库包含JAVA编程语言核心库的大部分功能,可以提供应用程序运行时所需调用的功能函数。
Linux内核层,包括电源管理、显示驱动和摄像头驱动等,用于为Android内核提供核心系统服务,如安全性服务、网络服务、内存管理服务、检测管理服务和驱动模型等。Android内核可以依赖于Linux2.6内核实现,实质上是一个在Linux内核内运行的JAVA虚拟机。
在现有的标准启动流程中,在Linux内核启动之后会首先加载初始化进程(Init),以进入Android内核,进而启动Android系统相关的服务和应用。如图3所示,现有的Android系统标准启动流程通常包括以下过程:
过程1、打开电源,进行系统启动。
在用户按下终端100的开机键时,终端100先执行基本输入输出系统(Basic Input Output System,BIOS)程序,在BIOS程序执行完成后,将启动终端100的操作系统,实现终端100开机。终端100的开机可以是指从打开终端100的电源直到终端100的显示屏幕显示用户登录画面的全过程。另外,本申请中所提到的“系统”,均指终端100的操作系统。
在实际应用中,终端100的存储器分为大容量存储器(通常为硬盘)和主存储器(即内存),操作系统(即Android系统)安装在大容量存储器上。内存可以分为两部分:只读存储器(Read-Only Memory,ROM)部分和易失性存储器(Random Access Memory,RAM)部分。其中,ROM部分存储有引导程序和BIOS程序,BIOS程序包括CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、以及即插即用(Plug-and-Play,PnP)特性等等。
在执行BIOS程序后,终端100将读取硬盘的主引导记录(Master Boot Record,MBR),MBR也称为主引导扇区,该扇区包括两部分:第一部分为引导区,用于存放主引导程序的分区;第二部分为用于存储分区表的分区,该分区用于记录扇区的分区信息,如分区数量和每一分区的大小。
在终端100查找到BIOS所指定的硬盘的MBR后,就会将MBR存储的内容复制到物理内存中,该被复制到物理内存的内容就是引导程序(Boot Loader)。
过程2、执行引导程序(Boot Loader)。
在终端100开机时,在执行BIOS程序后,终端100将自动执行引导程序。引导程序具有两个执行阶段,第一阶段:检测操作系统外部的RAM,以及加载对第二阶段有用的程序;第二阶段:设置网络参数以及对内存空间进行映射等。
通过执行第二阶段,可以指引终端100中的中央处理器(Central Processing Unit,CPU)将Android系统从大容量存储器中传送到内存的RAM部分。也就是说,执行引导程序处于第二阶段时,终端100将通过CPU执行一条转移指令,通过执行该转移指令,将把原本存放在大容量存储器中的Android系统转存到内存。此时,Android系统开始接管并控制终 端100的活动,并为调用Android内核做好一切准备。
过程3、启动内核进程(如Kernel进程),加载系统内核(即Android内核)。
Android内核与Linux内核启动的方式相似,在Android内核启动过程中需要执行多个进程。启动Android内核,主要用于完成设置缓存、加载驱动程序等操作。通常来说,在Android内核启动阶段,终端100可以加载多种驱动程序,如显卡驱动程序、声卡驱动程序以及网卡驱动程序等。
过程4、启动Init进程。
在Android内核完成系统设置后,其将通过内核线程函数kenrel_thread()创建第一个系统内核线程,该系统内核线程将执行Android内核中的init()函数,以引导下一阶段的启动任务。也就是说,在Android内核启动后,运行的第一个程序便是Init进程。Init进程的主要功能是挂载目录,如/sys、/dev或/proc,等等。
过程5、启动Zygote进程。
Zygote进程是一个虚拟机进程。在操作系统运行期间,当接收到创建虚拟机的请求时,Zygote进程将孵化Dalvik VM实例,即初始化虚拟机,以启动虚拟机共享代码,降低内存使用。
过程6、初始化服务器管理器(Service Manager)及启动系统服务(System Service)。
其中,服务管理器是用于管理系统服务的工具。在初始化服务管理器的过程中,系统将会启动系统服务,系统服务主要用于启动一些Java层的Android系统管理服务,包括硬件服务和系统框架核心平台服务,并将这些Android系统管理服务注册成进程间通信(Inter-Process Communication,IPC)服务对象,这些IPC服务对象的启动代码位于SystemServer.java的run函数当中。
在完成系统服务的启动后,系统服务会发送系统准备完毕(System Ready)的广播消息,表明系统已启动完毕,系统可进行相应系统服务,例如管理服务或网络服务等。其中,在终端100请求网络服务时,系统将对网卡进行使能。
通过以上过程,终端100的操作系统启动完成。
由此可见,在现有的标准启动流程中,网卡的驱动较为靠前,其通常在内核启动阶段通过加载网卡驱动程序实现。在网卡驱动后,网卡会被映射成系统的一个设备节点,该设备节点无法进行网络连接。为了使网卡具有网络连接功能,需要进一步对网卡进行使能。但目前的网卡使能通常在终端100请求网络服务时才会进行,而网卡的使能需要一定时间,那么,在终端100请求网络服务时,需要等待的时间较长,导致终端100连接网络的效率较低。
鉴于此,本申请中,终端100在启动自身的操作系统的过程中,由于在网络模块驱动程序执行完成后,在运行终端100中安装的任意一个第一程序的过程中同步运行网络模块使能程序,且第一程序的执行顺序位于网络模块驱动程序之后、且执行顺序位于网络模块使能程序之前的任意程序,因此,在操作系统启动过程中终端100可以并行执行第一程序和网络模块使能程序,缩短了终端100在操作系统启动过程中所需的时长,并且,由于在运行第一程序时同步运行了网络模块使能程序,能提前使能网络模块,有助于在终端100启动后快速进行网络连接,可以提高终端100连接网络的效率。
下面结合附图介绍本申请提供的技术方案。
如图4所示,本申请提供一种终端系统启动方法,该方法可由图1中的终端100执行。 该方法的流程描述如下:
S41:终端100接收用于启动自身操作系统的指令,启动自身的操作系统。
S42:终端100在启动自身的操作系统时,运行网络模块驱动程序,驱动网络模块170。
S43:终端100运行第一程序,并在运行第一程序的过程中,运行网络模块使能程序,对网络模块170进行使能。其中,第一程序为执行顺序位于网络模块驱动程序之后、且执行顺序位于网络模块使能程序之前的任意程序。
S44:终端100通过被驱动和使能的网络模块170连接网络。
本申请中,在用户按下终端100的开机键时,终端100中生成相应的开机指令,终端100按照开机指令即可对自身的操作系统进行启动。
在S42中,终端100可以按照如前介绍的标准启动流程所指示的执行顺序运行相应的程序。本申请中所说的运行,可以是指通过调用等方式获取相应的程序,实现对程序进行执行的过程。例如,终端100可以通过处理器190对相应的程序进行调用,从而启动终端100的操作系统,例如处理器190在系统启动过程中调用网络模块驱动程序来驱动网络模块170。
S43中,第一程序为在终端100的系统启动过程中执行顺序位于网络模块驱动程序之后、且执行顺序位于网络模块使能程序之前的任意程序。第一程序可以是终端100中在系统启动过程中运行的任意一个应用程序,例如第一程序可以是系统程序,或者第一程序也可以是应用程序。网络模块驱动程序用于驱动终端100的网络模块170,网络模块使能程序用于使能网络模块170,终端100可通过被驱动和使能处理后的网络模块170连接网络。本申请中,网络模块170可以但不限于是网卡。
网络模块使能程序可以用于使能网络模块170,使能后的网络模块170就能进行网络连接。例如,若终端100的网络模块170为网卡,则在系统启动过程中,在终端100调用网卡驱动程序驱动网卡后,网卡会被映射成系统的一个处于down状态的设备节点,此时,设备节点无法进行网络连接。那么,在使能网卡后,相当于将设备节点由down状态置为up状态,从而,在终端100请求网络服务时,可以通过处于up状态的网卡进行网络连接。
根据现有的标准启动流程可知,在系统启动过程中按照执行顺序依次执行的程序之间通常具有一定的依赖关系。例如,在启动终端100时,处理器190将调用系统启动的相关程序,那么在处理器190调用Init进程时,需要先通过内核启动阶段中的内核线程函数kenrel_thread()创建相应的系统内核线程来引导。
本申请中,在现有的标准启动流程的基础上,为了在终端100请求网络服务前提前进行准备,通过提前调用终端100中与网络服务相关的程序,即对网络服务相关的程序进行并行调用,从而避免在系统启动过程中打断具有依赖关系的程序在被执行时的连续性。则在终端100的系统启动过程中,在网络模块驱动程序执行完毕后,可以并行调用终端100中的第一程序及网络模块使能程序,以提前使能网络模块170,从而在终端100请求网络服务时,通过已使能的网络模块170即可进行网络连接,而无需在网络服务过程中对网络模块170进行使能操作,节省使能时间,可以提高终端100进行网络连接的效率。
本申请中,在内核启动阶段加载网络模块驱动程序之后,终端100在系统的后续各启动阶段,直至启动系统服务阶段所运行的任意程序均可作为第一程序,例如第一程序可以是内核启动阶段的程序,或者第一程序还可以是启动虚拟机阶段的程序等等。终端100在运行第一程序的过程中,可同步运行原本在终端100请求网络服务时才执行的网络模块使 能程序,以实现提前对网络模块170的使能。
在一种实施方式中,网络模块驱动程序在内核启动阶段被运行完毕后,第一程序及网络模块使能程序的同步运行也可以发生在内核启动阶段。
例如,网络模块170为网卡,网络模块驱动程序为网卡驱动程序。如果处理器190在系统启动过程中的内核启动阶段执行了网卡驱动程序,那么,第一程序可以是处理器190在系统启动过程中执行顺序位于网卡驱动程序之后的程序,例如第一程序为Kernel进程,则处理器190在运行Kernel进程进行系统启动的过程中,也将并行运行网卡使能程序来使能终端100的网卡,此时,系统启动流程如图5A所示,如此可实现Kernel进程和网卡使能程序的并行运行,以提高终端连接网络的效率。
在另一种实施方式中,网络模块驱动程序在内核启动阶段被运行完毕后,第一程序及网络模块使能程序的并行运行可以发生在内核启动之后的其它启动阶段。
例如,网络模块170为网卡,网络模块驱动程序为网卡驱动程序,网络模块使能程序为网卡使能程序。如果终端100通过处理器190在系统启动过程中的内核启动阶段执行了网卡驱动程序,那么在内核启动阶段执行完毕网卡驱动程序后,在终端100运行Init进程、Zygote进程、初始化虚拟机(即孵化Dalvik VM实例)或系统服务这几个启动阶段中的任意一个阶段的任意一个程序时,均可并行运行网卡使能程序以对网卡进行使能,如图5B所示,为第一程序是Init进程时,并行运行第一程序及网卡使能程序的示意图。
因此,在系统启动过程中,终端100通过与第一程序同时调用的网络模块使能程序对网络模块170进行使能,由于第一程序为执行顺序位于网络模块驱动程序之后,且执行顺序位于网络模块使能程序之前的任意程序,故调用网络模块使能程序使能网络模块170的时机较为灵活。
在网络模块170被驱动及使能之后,终端100可以通过被驱动和使能的网络模块170获取IP地址,进行网络连接。如图6所示,为本申请提供的在系统启动过程中通过网络模块170实现网络连接的示意图。图6中,以第一程序是执行顺序处于内核启动阶段的程序为例,且采用实线标注的步骤为本申请的主要方案,虚线标注的步骤为可选方案,其中处理器190、存储器120及网络模块170可以是来自图1的部件。
图6中,在启动终端100,处理器190读取用于启动系统的相关程序,这些程序可以是存储在终端100的存储器120中,处理器190可以按照系统启动过程中的执行顺序依次调用相关程序。在终端100通过处理器190运行网络模块驱动程序之后,网络模块170将被驱动,图中弧形箭头表示相应程序的执行,如标注为“驱动网络模块170”的弧形箭头可以理解为在网络模块驱动程序作用于网络模块170的过程,即驱动网络模块170的过程。而标注为“系统继续启动”的弧形箭头可以理解为处理器190按照系统启动中的执行顺序继续调用其它程序。
考虑到用户使用终端100时,改变终端100的联网需求的频率较低,终端100在开机后的联网需求通常与近期被使用时的联网需求一致。因此,在一种实施方式中,终端100还可以存储状态记录信息,该状态记录信息记录了网络模块170在终端100最近一次关闭前的状态。例如,网络模块170为网卡,则状态记录信息可以记录终端100在最近一次关机前的网卡的状态,网卡的状态可以是开启(up)状态或关闭(down)状态,该状态记录信息可以是存储在终端100的存储器120中。从而终端100在再次开机之后的状态可参考存储的状态记录信息所记录的状态。
通常来说,记录的网络模块170的状态可以表明终端100是否有联网需求。例如,若记录的网络模块170的状态为开启状态,即网络模块处于连接网络的状态,则表明终端100在被用户使用过程中有联网需求,此时,需要使能网络模块170,以便终端100通过被驱动及使能后的网络模块170连接网络。反之,若记录的网络模块170的状态为关闭状态,即网络模块170处于未连接网络的状态,则表明终端100在被使用过程中可能没有联网需求,此时,终端100无需使能网络模块170。
因此,本申请中,在调用终端100中的网络模块使能程序之前,终端100可以查询存储的状态记录信息,例如图6所示,终端100可以通过处理器190查询存储器120中的状态记录信息,那么,处理器190根据记录的网络模块170的状态可以确定终端100在开机后是否有联网需求,从而确定是否在调用第一程序的过程中也要调用网络模块使能程序。
在终端100查询状态记录信息后,若状态记录信息所记录的网络模块170的状态为开启状态,即图6所示的查询结果,则此时需要终端100使能网络模块170,那么终端100在网络模块驱动程序执行完毕之后,运行第一程序时,即可同步运行网络模块使能程序。图6中以第一程序为内核进程Kernel为例,以在系统启动过程中对网络模块170进行提前使能,节省了在终端100请求网络服务时对网络模块170进行使能操作的时间。
在实际应用中,在调用网络模块使能程序后对网络模块170进行使能后,网络模块170在使能后其可将自身当前的状态进行记录及存储,如存储到存储器120中,图6中用虚线示意。
当然,若状态记录信息所记录的网络模块170的状态为关闭状态,则终端100在运行第一程序过程中,无需调用网络模块使能程序。也就是说,终端100在运行完毕网络模块驱动程序之后,按照终端100的系统启动过程中的执行顺序运行网络模块驱动程序之后的程序即可,且运行的网络模块驱动程序之后的程序不包括用于网络模块使能程序,进而完成操作系统的启动。也就是说,由于终端100无联网需求,因此,本申请中在后续系统启动过程中无需运行网络模块使能程序,节省对网络模块170的使能操作。
后期,若使用终端100的用户有联网需求,用户可通过手动或其它方式输入相应的指令来控制终端100使能网络模块170进行网络连接。例如,在一种实施方式中,在系统启动完毕后,若终端100接收用于指示终端100进行网络连接输入指令,那么,终端100将根据输入指令运行网络模块使能程序以对网络模块170进行使能,从而终端100通过被驱动和使能的网络模块170即可进行网络连接。
请继续参考图6,本申请中,在对网络模块170进行驱动后,在调用第一程序及网络模块使能程序之前,通过对状态记录信息进行查询,可以确定网络模块170在终端100近期在关闭前的状态,并以此为依据,在系统启动过程中,控制网络模块170的使能,使网络模块170的状态与关闭前的状态一致,以符合用户的联网需求,从而提高用户体验。
随着系统的继续启动,在终端100请求网络服务时,终端100可以检测网络模块170当前的状态,以确定网络模块使能程序是否已被成功执行,即网络模块170是否使能成功。
而,终端100在检测网络模块170当前的状态后,如果确定网络模块170当前的状态为开启状态,如图6所示,若终端100此时需要联网,则终端100可通过被驱动及使能的网络模块170获取互联网协议(Internet Protocol,IP)地址,并根据获取的IP地址连接网络。
例如,若终端100通过处理器190检测网络模块170当前处于开启状态,则终端100 可以开启动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)、以太网传输点对点协议(Point-to-Point Protocol over Ethernet,PPPOE)等方式获取IP地址,通过获取的IP地址可以连网。或者,终端100也可以通过浏览器里的代理服务器上网。本申请对于连接的网络类型不作具体限制,只要能够实现终端100的网络连接即可。
需要说明的是,若终端100需要连接的网络为WiFi网络,则终端100在获取IP地址之前需要先连接无线接入点(Accss Point,AP),进而通过AP进行网络连接。其连接程与现有方式一致,此处不再赘述。
终端100在检测网络模块170当前的状态后,如果确定网络模块170当前的状态为关闭状态,则终端100将查询存储的状态记录信息记录的网络模块170的状态。例如,如图7所示,若处理器190确定存储器120中存储的状态记录信息所记录的网络块的状态为开启状态,则表明网模块使能程序在S12中可能未调用成功,那么终端100可再次调用网络模块使能程序来使能网络模块170。通过这种方式,有助于避免出现因网络模块170未使能成功而导致系统无法响应终端100的网络服务请求的情况,以便需要网络连接的终端100在开机后能够正常进行网络连接。
当然,若状态记录信息记录的网络模块170的状态为关闭状态,表明终端100在开机后可能没有网络连接的需求,则在按照标准启动流程中的执行顺序继续执行时无需调用网络模块使能程序来使能网络模块170,节省网络模块170的使能操作。同理,若后续用户有网络连接的需求,则通过前述的手动等方式实现,此处不再赘述。
因此,本申请中,在终端100请求网络服务的阶段,通过对网络模块170当前的状态以及对记录的网络模块170的状态的查询及比对,可以在终端100请求网络服务之前,确保网络模块170当前的状态与终端100最近一次关闭前网络模块170的状态相同,实现将终端100开机后的网络状态自动调整为与上次关机时的网络状态一致,以提高用户体验。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘Solid State Disk(SSD))等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (16)

  1. 一种终端系统启动方法,其特征在于,包括:
    终端在自身的操作系统启动时,运行网络模块驱动程序;其中,所述网络模块驱动程序用于驱动所述终端的网络模块;
    所述终端在运行完成所述网络模块驱动程序之后,在运行所述终端中的第一程序的过程中,同步运行网络模块使能程序;其中,所述第一程序为在所述终端的系统启动过程中执行顺序位于所述网络模块驱动程序之后、且执行顺序位于所述网络模块使能程序之前的任意程序,所述网络模块使能程序用于使能所述网络模块;
    所述终端通过被驱动和使能的所述网络模块连接网络。
  2. 如权利要求1所述的方法,其特征在于,在所述终端运行完成所述网络模块驱动程序之后,运行网络模块使能程序之前,还包括:
    所述终端查询存储的所述网络模块的状态记录信息;其中,所述状态记录信息用于记录所述网络模块在所述终端最近一次关闭前的状态;
    所述终端确认所述状态记录信息所记录的所述网络模块的状态为开启状态。
  3. 如权利要求1或2所述的方法,其特征在于,所述终端通过被驱动和使能的所述网络模块连接网络,包括:
    所述终端通过被驱动和使能的所述网络模块获取互联网协议IP地址,并根据所述IP地址连接网络。
  4. 一种终端系统启动方法,其特征在于,包括:
    终端在自身的操作系统启动时,运行网络模块驱动程序;其中,所述网络模块驱动程序用于驱动所述终端的网络模块;
    所述终端查询存储的所述网络模块的状态记录信息,所述状态记录信息用于记录所述网络模块在所述终端最近一次关闭前的状态;
    若所述终端确定所述状态记录信息记录的所述网络模块的状态为开启状态,则所述终端在运行完成所述网络模块驱动程序之后,在运行所述终端中的第一程序的过程中,同步运行网络模块使能程序;其中,所述第一程序为在所述终端的系统启动过程中执行顺序位于所述网络模块驱动程序之后、且执行顺序位于所述网络模块使能程序之前的任意程序,所述网络模块使能程序用于使能所述网络模块。
  5. 如权利要求4所述的方法,其特征在于,在所述终端查询存储的所述网络模块的状态记录信息之后,所述方法还包括:
    若所述终端确定所述状态记录信息记录的所述网络模块的状态为关闭状态,则所述终端在运行完成所述网络模块驱动程序之后,按照所述终端的系统启动过程中的执行顺序运行所述网络模块驱动程序之后的程序,完成所述操作系统的启动;其中,运行的所述网络模块驱动程序之后的程序不包括用于使能所述网络模块的网络模块使能程序。
  6. 如权利要求5所述的方法,其特征在于,在完成所述操作系统的启动之后,所述方法还包括:
    所述终端接收输入指令,所述输入指令用于指示所述终端进行网络连接;
    所述终端根据所述输入指令运行所述网络模块使能程序,并通过被驱动和使能的所述网络模块连接网络。
  7. 如权利要求4所述的方法,其特征在于,在同步运行网络模块使能程序之后,所述方法还包括:
    所述终端通过被驱动和使能的所述网络模块连接网络。
  8. 如权利要求6或7所述的方法,其特征在于,所述终端通过被驱动和使能的所述网络模块连接网络,包括:
    所述终端通过被驱动和使能的所述网络模块获取互联网协议IP地址,并根据所述IP地址连接网络。
  9. 一种终端,其特征在于,包括处理器、存储器和网络模块,其中:
    存储器,存储有网络模块驱动程序和网络模块使能程序,所述网络模块驱动程序用于驱动所述终端的网络模块,所述网络模块使能程序用于使能所述网络模块;
    处理器,用于在终端的操作系统启动时,运行网络模块驱动程序,并在运行完成所述网络模块驱动程序之后,在运行所述终端中的第一程序的过程中,同步运行网络模块使能程序;其中,所述第一程序为在所述终端的系统启动过程中执行顺序位于所述网络模块驱动程序之后、且执行顺序位于所述网络模块使能程序之前的任意程序;
    所述网络模块,用于在被驱动和使能后进行网络连接。
  10. 如权利要求9所述的终端,其特征在于,所述存储器,还存储所述网络模块的状态记录信息;其中,所述状态记录信息用于记录所述网络模块在所述终端最近一次关闭前的状态;
    所述处理器还用于在运行完成所述网络模块驱动程序之后,运行网络模块使能程序之前,确认所述状态记录信息所记录的所述网络模块的状态为开启状态。
  11. 如权利要求9或10所述的终端,其特征在于,所述网络模块在被驱动和使能之后获取互联网协议IP地址,并根据所述IP地址连接网络。
  12. 一种终端,其特征在于,包括处理器、存储器和网络模块,其中:
    存储器,存储有网络模块驱动程序、网络模块使能程序和网络模块的状态记录信息;其中,所述网络模块驱动程序用于驱动所述终端的网络模块,所述网络模块使能程序用于使能所述网络模块,所述状态记录信息用于记录所述网络模块在所述终端最近一次关闭前的状态;
    处理器,用于在终端的操作系统启动时,运行网络模块驱动程序,并查询存储的所述网络模块的状态记录信息,若确定所述状态记录信息记录的所述网络模块的状态为开启状态,则在运行完成所述网络模块驱动程序之后,在运行所述终端中的第一程序的过程中,同步运行所述网络模块使能程序;其中,所述第一程序为在所述终端的系统启动过程中执行顺序位于所述网络模块驱动程序之后、且执行顺序位于所述网络模块使能程序之前的任意程序;
    所述网络模块,用于在被驱动和使能后进行网络连接。
  13. 如权利要求12所述的终端,其特征在于,所述处理器还用于:
    在查询存储的所述网络模块的状态记录信息之后,若确定所述状态记录信息记录的所述网络模块的状态为关闭状态,则所述处理器在运行完成所述网络模块驱动程序之后,按照所述终端的系统启动过程中的执行顺序运行所述网络模块驱动程序之后的程序,完成所述操作系统的启动;其中,运行的所述网络模块驱动程序之后的程序不包括用于使能所述网络模块的网络模块使能程序。
  14. 如权利要求13所述的终端,其特征在于,所述终端还包括:
    接收模块,用于接收输入指令,所述输入指令用于指示所述终端进行网络连接;
    所述处理器根据所述输入指令运行所述网络模块使能程序,并通过被驱动和使能之后的所述网络模块连接网络。
  15. 如权利要求12或14所述的终端,其特征在于,所述网络模块在被驱动和使能之后获取互联网协议IP地址,并根据所述IP地址连接网络。
  16. 一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机程序指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1-8任意一项所述的方法。
PCT/CN2018/080730 2017-05-17 2018-03-27 一种终端系统启动方法及终端 WO2018210063A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710349052.3 2017-05-17
CN201710349052.3A CN108958807B (zh) 2017-05-17 2017-05-17 一种终端系统启动方法及终端

Publications (1)

Publication Number Publication Date
WO2018210063A1 true WO2018210063A1 (zh) 2018-11-22

Family

ID=64273282

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/080730 WO2018210063A1 (zh) 2017-05-17 2018-03-27 一种终端系统启动方法及终端

Country Status (2)

Country Link
CN (1) CN108958807B (zh)
WO (1) WO2018210063A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110716762B (zh) * 2019-09-03 2023-05-26 晶晨半导体(深圳)有限公司 一种操作系统快速进入主页的方法
CN111132097B (zh) * 2019-12-31 2023-09-26 深圳移航通信技术有限公司 无线模块的驱动方法及装置、无线模块、终端及存储介质
CN112000375B (zh) * 2020-07-13 2023-12-26 深圳市智微智能软件开发有限公司 安卓系统的启动阶段判断方法、装置、设备及存储介质
CN114047961A (zh) * 2021-11-15 2022-02-15 合众新能源汽车有限公司 安卓系统开机优化方法、智能终端和计算机可读介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001026325A2 (en) * 1999-10-05 2001-04-12 Gateway, Inc. A system and method for initiating a network connection
CN102629210A (zh) * 2012-03-16 2012-08-08 苏州优康通信设备有限公司 一种提前加载实现网络的新方法
CN103761088A (zh) * 2014-01-13 2014-04-30 中南大学 一种适用于arm架构移动设备的多操作系统切换方法
CN106302250A (zh) * 2016-08-23 2017-01-04 乐视控股(北京)有限公司 移动终端的网络流量控制方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100346302C (zh) * 2005-02-01 2007-10-31 苏州超锐微电子有限公司 一种通过磁盘主引导记录实现网络功能的方法
JP5316432B2 (ja) * 2010-01-19 2013-10-16 富士通株式会社 ネットワークコントローラの制御方法、プログラム及び情報処理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001026325A2 (en) * 1999-10-05 2001-04-12 Gateway, Inc. A system and method for initiating a network connection
CN102629210A (zh) * 2012-03-16 2012-08-08 苏州优康通信设备有限公司 一种提前加载实现网络的新方法
CN103761088A (zh) * 2014-01-13 2014-04-30 中南大学 一种适用于arm架构移动设备的多操作系统切换方法
CN106302250A (zh) * 2016-08-23 2017-01-04 乐视控股(北京)有限公司 移动终端的网络流量控制方法及装置

Also Published As

Publication number Publication date
CN108958807B (zh) 2021-01-12
CN108958807A (zh) 2018-12-07

Similar Documents

Publication Publication Date Title
JP4738534B2 (ja) 複数のブート可能装置間のブートネゴシエーション
WO2018210063A1 (zh) 一种终端系统启动方法及终端
WO2018103484A1 (zh) 直播页面的数据处理方法、装置和系统
US8452952B2 (en) Methods and apparatus for building system images and split booting
EP3637251B1 (en) Method, device and terminal for executing hotpatch
CN111314799A (zh) 终端系统构架、通信系统及通信方法、存储介质
CN105335178B (zh) 一种启动控制方法,及装置
EP3667490A1 (en) Method and device for dynamically managing kernel node
US11671379B1 (en) System and method for subscription management using dynamically composed management entities
JP2021513707A (ja) ソフトウェアアップグレード管理方法、サーバ、端末、装置及び記憶媒体
US11588909B1 (en) System and method for subscription based solution data compatibility
US11789718B2 (en) System and method for subscription based solution modification implementation
US20230221784A1 (en) System and method for power state enforced subscription management
US20230222471A1 (en) System and method for subscription based solution implementation
US6961848B2 (en) System and method for supporting legacy operating system booting in a legacy-free system
KR101621637B1 (ko) 이동 단말기 리소스 처리 방법과 장치, 클라이언트측 컴퓨터, 서버, 이동 단말기, 프로그램 및 기록매체
CN111399874A (zh) 一种系统升级方法、装置、存储介质及智能穿戴设备
US10616944B2 (en) Computer system and method thereof for sharing of wireless connection information between UEFI firmware and OS
CN116257320B (zh) 一种基于dpu虚拟化配置管理方法、装置、设备及介质
WO2020134899A1 (zh) 一种搜网列表生成方法、搜网方法及相应装置
WO2023093633A1 (zh) 终端固件的启动方法、装置、电子设备及存储介质
WO2021097683A1 (zh) 安卓系统启动的方法、装置、设备及存储介质
WO2019100704A1 (zh) 用于多模IoT设备的启动方法、多模IoT设备及存储介质
WO2022053062A1 (zh) 一种IoT设备的管理方法及终端
JP2012150797A (ja) データカード、データカードがポートを報告するための方法、およびデータカードを起動するための方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18802003

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18802003

Country of ref document: EP

Kind code of ref document: A1