Using Program Analysis Infrastructure for Software Maintenance

Using Program Analysis Infrastructure for Software Maintenance
Using Program Analysis Infrastructure for Software Maintenance

Using Program Analysis Infrastructure for

Software Maintenance

Jens Krinke,Mirko Streckenbach,Maximilian St¨o rzer,Christian Hammer

Lehrstuhl Softwaresysteme

Universit¨a t Passau

Passau,Germany

March2003

Abstract

Enabling the reuse of available techniques and tools for software maintenance is a major topic.However,research focuses mostly on two topics:parsing and tool

interoperability.In the future,more sophisticated approaches to maintenance will

be needed and data?ow analysis has to be used.As building data?ow analyzers for

real languages is expensive,we must start to provide reusable data?ow analysis in-

frastructures for software maintenance.This paper?rst reports on our experience

in building program analysis based maintenance tools.From that perspective,we

formulate speci?c requirements for reusable program analysis infrastructures and

then take a look at some program analysis infrastructures from compiler optimiza-

tion research to evaluate if they are(re)usable for software maintenance tools.

1Introduction

Most software maintenance tasks of today are solvable economically by using text-

or syntax-based approaches.Even simple tools like grep,sed or small perl scripts can often be much more helpful than a full-blown parse tree transformation system.As present systems turn into legacy systems,renovators will have to analyze programming languages of today with their highly increased complexity.Also,the maintenance tasks themselves will have increased complexity.Many of those tasks already require com-plex data?ow analysis,examples are program slicing[Tip95b],class hierarchy restruc-turing[ST00],construction of the object and object relation diagram[TP02,MRR02], and all kinds of advanced refactorings.When only guaranteed semantic preserving transformations are applied,no expensive regression test are needed.

The rest of this section will focus on four problems of program analysis for software maintenance.The next section presents our experience while building some software maintenance tools.In section three,speci?c requirements on program analysis infras-tructure are presented and some available infrastructures are compared against them in section four.The last section presents drawn conclusions.

1

1.1Parsing

For compiler construction the problem of parsing seems solved since the time yacc and lex exist.For software maintenance,parsing is still a challenge.Some problems are:

?The programming languages of systems to be analyzed are dating from pre-lex/yacc times and are complicated to parse anyway,maybe because they are not LALR(1).

?Grammars may be commercial assets and may not be available.

?There are many variants of languages due to different standards or vendor exten-sions;vendor dialects are usually not well documented.

?Systems under maintenance are never clean,https://www.360docs.net/doc/fe12697628.html,e preprocessing or embedded languages like COBOL with SQL statements.

?Maintenance tasks sometimes require to analyze systems before preprocessing, making parsing further complicated.

?Systems use various languages and dialects together.

When we cannot parse languages how can we even build simple infrastructures like parse trees?Speci?c parsing techniques have been developed and parsing is still con-sidered a key issue in software maintenance.See[vdBSV98,vDKV99]for an overview on those aspects.

1.2Storing and Analyzing the Data

Traditional tools for compiler construction are mostly event driven and seldom contain support even for common data-structures like symbol tables.Besides that collected information cannot be held in core memory for large systems,the results of expen-sive analyses should be saved to reduce recomputation.Therefore most maintenance tools store the information in databases.Often the maintenance tasks are not ade-quate for standard databases and speci?c repositories have been developed,for example GUPRO/GREQL[Kam98],Jupiter[CC01]or GRAS[KSW95].

After the data has been collected,it must be prepared for further use.An often used approach is to just generate cross reference information.This can be presented directly to the engineer for better program understanding or can be used for other analyses like clustering[Lak97]or concept analysis[Sne00].

1.3Data?ow Analysis

There is already a long history of tools for software maintenance that uses data?ow analysis1.Normally,those tools are research prototypes just for a speci?c language.

1We use the term data?ow analysis instead of program analysis[NNH99]to make it clear that we don’t consider simple techniques.We also include constraint based analysis,abstract interpretation or type sys-tems.

2

They use hand-crafted data?ow analyses and are beyond application to real world pro-grams.For example,consider program slicing[Tip95b],which require control-and data?ow analysis.Until now,such tools are only available as research prototypes or for languages which only require simple data?ow analysis.We are only aware of one industrial-strength program slicer:CodeSurfer[AT01]for C which is stemming from the Wisconsin Program Slicing Tool[HRB90]and is a standalone tool.

The need of speci?c data?ow analysis support for software maintenance tools has already been recognized[vdBKV97].Especially generic support is needed,where the language is just the parameter that gets instantiated.Those approaches are still far from application to real world programs.

For languages that contain preprocessor directives like C,data?ow analysis is usu-ally done on the preprocessed source code.For maintenance this may not be ac-ceptable:e.g.refactoring can only be done on the original,non-preprocessed code. Data?ow analysis for non-preprocessed code is still an open question.

Another key problem in using data?ow analysis is Pointer Analysis:for languages like C,C++or Java an analysis must?rst decide which objects a pointer in the pro-gram may point to.There is a broad range on pointer analysis techniques for different languages and some issues are still to be solved.A generic pointer analysis is not yet in sight:pointer analysis for C is very different from pointer analysis for Java.A dis-cussion of pointer analysis is beyond the scope of this paper,a good overview can be found in[HP00,Hin01].

Until generic data?ow analysis systems for software maintenance have much im-proved,we have to pursue other approaches.One possibility is to use the expertise from compiler optimization,where sophisticated data?ow analysis infrastructures are already available.

2Experience Reports

Our group has build three maintenance prototypes that use program analysis.One is a program slicing infrastructure for C-programs,one is a tool to analyze the usage of class members in Java-programs and restructure the class hierarchy according to the ac-tual use of members,and the third does impact analysis for aspect oriented programs. For all three system,we will present some of the design decisions and architecture aspects which causes certain requirement on the used program analysis.In all three projects,we tried to?nd program analysis infrastructure complying to our require-ments.Based on our experience,we infer more general requirements and evaluate the infrastructures we found in sections three and four.

2.1V ALSOFT

The V ALSOFT Slicing System[KS98]is a set of tools which are used together to analyze C source code to help the engineer to understand and validate the code.The main application is the calculation and visualization of slices for ANSI-C.

Our frontend(scanner/parser etc.)reads all preprocessed sources,constructs an at-tributed abstract syntax tree and a symbol table,and“links”all corresponding symbols

3

of different sources together.The next step is a traversal of the AST which does a sim-ple,?ow insensitive data?ow analysis.It calculates the gmod and gref sets,the call graph,the points-to set and the frame of the PDGs,which consists of control?ow and control dependence edges.A?ner,?ow sensitive analysis follows,which traverses the frame and calculates the data dependencies.The resulting PDGs are linked together to the SDG[HRB90]at last.

The created SDG is persistently saved to disk and all other tools are working with the saved SDG.The system consists of:

?The analyzer,which generates the SDG for a set of C sources.

?The slicer,which can do backward and forward slices and chops.It is also used to compare different slicing techniques.

?The solver,which can calculate path conditions:precise conditions under which

a data?ow along SDG chops or paths can happen.

?A constant propagation and common subexpression elimination module,which tries to simplify the SDG(eliminating edges and nodes).

?A call graph simpli?er,which eliminates redundant call edges in presence of function pointers.

?A GUI,which visualizes the PDGs and the corresponding sources and controls the execution of the slicer and the solver.

?A clone detector[Kri01].

The requirements of the system have been the following from the beginning:

?The frontend must be?exible enough to support variants of ANSI-C.

?The frontend must not only build abstract syntax trees and symbol tables for single object?les but for complete programs.It therefore must also ful?ll the tasks of the linker to provide program-wide valid identi?ers.

?The internal program representation(the SDGs)should be kept very similar to the abstract syntax tree,because we wanted to provide a comprehensible graph-ical presentation of it.

?The expressions used in the program had to be fully recoverable to enable the generation of path conditions.

?The internal data?ow analysis infrastructure had to be?exible enough to enable

a wide range of different data?ow analyses in multiple stages.

At the time we started the project,almost no program analysis framework was available;the only available infrastructure was SUIF1which we considered to be a dead project at that time.We also decided not to use any transformation to a low level intermediate format due to the above requirements.The frontend has been build externally by the LINEAS company.The company evaluated different possibilities and ended up building a complete new frontend only using lex/yacc because of the following reasons:

4

?Our speci?c requirements of the frontend were not ful?lled by most of the avail-able infrastructure.

?Freely available infrastructures could not be used due to licensing restrictions (the company holds the commercial rights on parts of our system).

?The cost of adaption of available infrastructures was estimated to be higher than

a complete new implementation.

The result was a well supported frontend until the company left the project.However, we are still able to adapt and?x the frontend as we have the right to use and modify the sources together with their documentation.For example,we have successfully changed the frontend to support Cilk,a parallel variant of C.

To ful?ll the other requirements,we started to build data?ow analyses directly on top of the abstract syntax tree without transformation to a control?ow graph?rst. For?ow sensitive analyses this turned out to be impractical,as the cost to support unstructured constructs exploded(an experience that we share with others)and we use control?ow graph based analyses now.

Recently we started to integrate an analysis for Java.Our prototype implemen-tation is based on a frontend of the MIT,the FLEX compiler infrastructure[Ana99] which supports several intermediate representations.In our analysis we used one that is already in SSA form[CFR+91].

The main challenges in data?ow analysis for Java are the data dependences for objects which are represented as a tree[LH98]to make the subobjects visible,and the points-to analysis which is crucial for dynamic binding and resolution of aliasing situations.

At the beginning of the project no all-purpose points-to analysis for Java was avail-able,the one included in the FLEX library turned out to be too specialized for their pur-poses and too slow for whole-program analysis because it is?ow-sensitive.Recently the SOOT infrastructure(which will be presented later)introduced SPARK[LH03], an infrastructure which allows to compare several different approaches of points-to analysis.

2.2KABA

KABA is a tool for analyzing and reengineering class hierarchies.It performs a?ne-grained analysis of member accesses from objects and creates a new class hierarchy using concept analysis[ST00].In this hierarchy,all redundant accesses are removed and all objects only contain the minimum amount of members required.Leaving aside Java’s“runtime”features like re?ection,the transformation guarantees preservation of program semantics.

The new class hierarchy is valuable for reengineering,because it gives an impres-sion on how classes are used in the analyzed programs,no matter how they are declared. It can serve as a useful proposal how the original hierarchy can be restructured.

KABA currently consists of three tools:

?An analyzer for Java bytecode,including pointer analysis.

5

?The GUI,which creates the concept lattice,displays the new class hierarchy and allows interactive manipulation.

?A rewriter which creates bytecode for the transformed classes.It tries to preserve debug information so Java decompilers can be used to produce human-readable source code from its output.

The transformation done by KABA was originally designed for C++.For a proto-type implementation Java was chosen because the language is much simpler than C++. For a source to source transformation it seemed natural to build a Java source front-end to our analysis.However there was no infrastructure available to parse Java sources.So we decided to have a look at the bytecode.When the work on KABA started in1999, no toolkit which full?lled all our needs was available.So we wrote our own bytecode analyzer which was accomplished within a reasonable amount of time.

Nowadays KABA could propably easily reimplemented with most toolkits which have a suf?cient internal representation of bytecode.But up to now,SOOT is the only known toolkit to contain the necessary pointer analysis.

2.3Impact Analysis for Java and AspectJ

Our group is currently working on change impact analysis for Java and AspectJ[SK03]. This analysis is especially interesting in the?eld of aspect oriented programming (AOP)[KLM+97],as an Aspect should be applied to a given system without break-ing its functionality.AOP is used for software maintenance purposes recently[GM03, GO03].

The basic idea behind our work is to provide an analysis tool allowing program-mers to get an impression of how the Aspect might change system behavior before actually applying it.With this information,the programmer can decide better whether the Aspect will work as intended than from Aspect documentation alone.

Up to now,a parser and some simple analysis based on hierarchy information have been implemented.However,this project is far from maturity.For the planned func-tionality a set of standard data structures to represent programs like call graphs,control ?ow graphs,and program dependence graphs are needed—including points-to analysis for Java/AspectJ.

Obviously it will reduce the neccessary effort dramatically if an off-the-shelf in-frastructure to generate necessary data structures could be used.So we now basically face the same problem again as when we started with V ALSOFT or KABA.Possibly an analysis on byte code level can be applied,although aspects no longer exist there. If the mapping of aspect effects in the byte code back to the source code can be done, the infrastructure provided e.g.by SOOT will be an adequate means to implement the impact analysis.If this approach fails,no(source)infrastructure is available which meets our requirements.Building such infrastructure is on one hand conceptually not very challenging as all concepts are basically known,but on the other hand results in a huge amount of work.

6

3Infrastructure Requirements

Before we start to use data?ow analysis in software maintenance,we should know what speci?c requirements are stemming from such an application and what implications are caused.Without de?ning the requirements and doing a full evaluation?rst,the use of a speci?c program analysis infrastructure(PAI)can cause a grinding halt on research.For example,research on a program slicer[AG01a]had to replace the used infrastructure in the middle of the project from SUIF to SOOT.

In this section,we identify some general requirements.Most of the requirements are stemming from our own experience presented in the preceding section.

3.1Adequate Representation

The(abstract)representation of the program elements is a major factor in usability of program analysis infrastructure.Representations based on abstract syntax trees are well known for tool builders,but control?ow graph based representations are better suited for data?ow analyses.On the other hand,compiler-like representations like three-address code are sometimes problematic if they have to be use for maintenance tasks(see next requirement).The representation must be easily accessible(and manip-ulatable)via a well-designed API.Ideally,a PAI would support a multitude of repre-sentations.

Requirement1PAI should provide an adequate representation.

3.2Source Tracking

Many maintenance tasks are based on source code representation of the results.For example,program slices must be shown in source code or transformations can change the source code.Especially for transformation purposes the changes to the source code should be as small as possible—Generating complete new source code through pretty printing is not acceptable,because the source may look completely different afterward. Requirement2PAI should be able to map any element of the used representation back onto the source code.

3.3Full Language Support

Research on software maintenance tools that use program analysis is normally using real programs as tests.If a PAI only supports a subset of the language,a massage of the input programs are normally necessary—an unusable approach for large systems.

A tool builder(customer)will probably only use a subset of the features and may even want to restrict them according to coding guidelines.

Requirement3PAI must support all features of the supported programming languages.

7

3.4Multi-Language Support

Program analysis infrastructures that only support one single language may be valuable for software maintenance research,but will be of restricted use.Infrastructure is needed that support many languages(different languages and different variants):

Requirement4PAI should support more than one programming language.

This is a very general requirement and as better PAI will become available,it must be replaced by more speci?c requirement,like

Parameterization:The program analysis infrastructure is generated from a formal speci?cation of the input language.However,nowadays it is almost impossible to formally de?ne a current programming language.

Uni?ed Representation:The program analysis infrastructure is independent of its language frontends,because it uses one common intermediate representation on which the data?ow analysis is performed.Until now,all“one size?ts all”

approaches more or less failed.

Transferability:An implemented(or speci?ed)data?ow analysis for one of the in-put programming languages should also be applicable to other supported input languages of the PAI.

Linkability:The PAI support analysis of input programs that consists of modules in more than one(supported)language.This includes the analysis of meta-information describing the relationship between the different modules.

Uni?ed representation is different than transferability:A uni?ed representation can be achieved from building a superset of all language speci?c representations.A data?ow analysis for one input language may just support the speci?c subset and may not be transferable to a different input language.

Most of the more speci?c requirements are not yet achievable,until research in that areas went further.

3.5Scalability

Targeting real programming languages implies targeting real-world-sized programs. Infrastructures that only scales up to sizes of100LOC are as unusable as infrastructures that only support languages without function calls.

Requirement5PAI should scale.

This doesn’t imply that the data?ow analyses themselves should scale—many analy-ses are of non-polynomial complexity.The infrastructure itself should be able to handle large systems and can leave the problem of scalability of the analyses to be solved by the user.

8

3.6Library of Analyses

An infrastructure,that supports data?ow analyses but doesn’t provide even the simplest ones,is of reduced usability for software maintenance,as nobody wants to reinvent the wheel.The dream of a renovator would probably be a PAI that comes with a set of off-the-shelf pointer analyses which he is able to use without modi?cation.However, most of the provided analyses are as simple as intra-procedural defs-use chains. Requirement6PAI should provide a library of reusable analyses.

3.7Support

Program analysis infrastructures from research are mostly proof-of-concept only:after ?nishing the research project,the prototype is abandoned un?nished.This is acceptable for research projects in program analysis infrastructure,but ignores communities that could bene?t from it.The wheel has to be reinvented again and again. Requirement7A PAI should be supported.

It is clear that academia cannot support their prototypes longer than their research project.However,the need for infrastructures has already been acknowledged and some projects are targeted at reusable program analysis infrastructures.Some of those infrastructures are available and will be evaluated in the next section.

4Available Infrastructures

It is well known that using data?ow analysis is expensive.First,we have the computa-tional cost:for maintenance,we need very precise information,resulting in algorithms with a non polynomial complexity.Second,we have the infrastructure costs:Building data?ow analyzers is not trivial and needs a lot of man power.The infrastructure cost is the main reason for the nonexistence of data?ow aware infrastructures in software maintenance.For example,DMS,an industrial-strength transformation system(with-out data?ow analyses),needed over50person-years of engineering until now[BM01].

Without maintenance speci?c infrastructure,we have to reuse available infrastruc-tures from compiler optimization.As early as1973Killdall presented a theoretic framework[Kil73]for data?ow analyses.It is a lattice-theoretic model based approach and is used by most analysis frameworks.Other infrastructures are based on abstract interpretation[CC77].

In the following,we evaluate some available infrastructures from compiler opti-mization under the requirements of software maintenance.We are not claiming that the following list is complete or precise,as there are too many infrastructures out there.Worth a look are also OPTIMIX[A?m98],PAF[RLS+01],ICARIA/PONDER [AG01b]and BLOAT[Nys98].

We are not evaluating the scalability of the infrastructures,as this is beyond the scope of this paper.However,all presented infrastructures have shown the ability to work on programs larger than10kLOC.

9

4.1Vortex

V ortex is a typical language-independent optimizing compiler infrastructure for object-oriented languages.It does whole-program-analysis based on the V ortex RTL interme-diate language.Its primary purpose is research of aggressive optimization.It provides a reusable framework with generic support facilities[CDG96].We are not aware of any maintenance project that uses this infrastructure.

Representation,Source Tracking

The V ortex RTL intermediate language is the only representation without a mapping back to source code positions.

Multi-Language Support,Full-Language Support

V ortex has frontends for Cecil,Java,C++and Smalltalk,which transforms the input languages into V ortex RTL.The Java frontend only supports a subset of Java without ?threads and synchronization

?re?ection and dynamic class loading

??nalization.

Library of Analyses

V ortex comes with a set of intra-and inter-procedural analyses,for example:?several traditional optimizations(constant propagation and folding,common subex-pression elimination,dead assignment elimination)

?must-alias and side-effect analysis

?class hierarchy analysis

?wide range of inter-procedural class analysis algorithms

Support

The status of V ortex is unknown.

4.2SOOT

SOOT[PQVR+01]is an infrastructure to optimize Java bytecode.Other than usual in-frastructures,which are transforming the(high-level)input languages to(low-level)in-termediate representations,SOOT works bottom-up:From a low-level language(Java bytecode)it builds high-level intermediate representations.This may sound awkward for software maintenance,but SOOT has already been used e.g.for a program slicer [AG01a].

10

Representation

SOOT provides three abstraction levels:

BAF is similar to the bytecode,

JIMPLE is three-address code,

GRIMP is similar to Java.

Each representation can be transformed into the next higher level and compilation from GRIMP into BAF closes the circle.GRIMP is similar to an AST,but the main repre-sentation is JIMPLE.

Source Tracking

As SOOT is using bytecode as input language,it is bound to the restrictions of byte-code.Therefore it is not only loosing source code positions(in the newer versions the line number tables created by the compiler can be parsed),but also names of identi-?ers.As SOOT has no knowledge about the transformation/compilation of the source languages into bytecode and the applied optimizations,it may be impossible to recover even the smallest hints to origins.

Full Language Support

We are not aware of any restrictions on the bytecode.

Multi-Language Support

As the the bytecode may come from multiple source languages like Java,SML,Scheme or Eiffel,it may be considered as a multiple-language framework.However,as high-level representations are generated bottom up from bytecode,all programs will look like Java programs in GRIMP.

Library of Analyses

Besides the analyses that are need for transformations between the different represen-tations,SOOT contains some simple analyses like intra-procedural def-use chains.All analyses are based on the JIMPLE representation because the analyses are https://www.360docs.net/doc/fe12697628.html,tely a pointer analysis kit(SPARK)has been added,which supports scal-ing points-to analysis for Java[LH03].Its purpose is to integrate several well-known approaches to points-to analysis in one framework to make them comparable.Fur-thermore,SPARK provides multiple implementations of points-to sets which yield dif-ferent analysis times and two major propagation algorithms affecting the speed of the analysis as well.

Support

SOOT is stable and maintained(it is still a research project itself).Commercial support is not available.

11

4.3SUIF

The SUIF system is an infrastructure for research in compiler optimization techniques, based upon the Stanford University Intermediate Format(SUIF)[WFW+94].It started with a?rst version(SUIF1)which had C and Fortran as primary languages.It was the base for two“spin-offs”:OSUIF for object oriented languages(higher level)and MachSUIF for assembler like languages(lower level).As those and other extensions were complicated in SUIF1,a complete redesign and reimplementation was needed and resulted in SUIF2,which had extensibility and modularity as primary design goals. Representation

SUIF has multiple levels of abstraction:three different main-levels are based on the used SUIF version(core,OSUIF or MachSUIF).The program representation itself supports multiple levels of abstraction,where the highest level is similar to ASTs. SUIF has dismantlers that break down higher level constructs to lower levels. Source Tracking

The core SUIF has source code position annotations.However,the use of them is dependent on the used frontend.The C/C++frontend is based on the EDG frontend, which supports the annotations.The Java frontend is using Java bytecode without support for source code positions.

Full Language Support

SUIF comes with frontends for Fortran,C,C++and Java.The support of Fortran and C is basically complete.OSUIF,which includes the frontends for C++and Java,is less complete and doesn’t support exceptions or garbage collection for example.The Java (bytecode)frontend doesn’t support exceptions,threads,synchronization and dynamic loading[KH98],partly due to missing support in OSUIF.

Multi-Language Support

SUIF basically only has support for the four mentioned languages and new languages need their own frontends.We have no knowledge if the Java bytecode frontend also supports bytecode generated from other languages.SUIF is a uni?ed representation that supports analyses on different levels of abstraction.Through the use of dismantlers a pipe of multiple analyses is possible(going from high-level to low-level representa-tions).

Library of Analyses

SUIF already contains a set of intra-and inter-procedural data?ow analyses like copy propagation,call graph construction or(simple)pointer analysis.It also contains help-ful utilities ranging from presburger arithmetic or gaussian elimination to graph visu-alization.

12

Support

The base infrastructure is solid and in active use by different groups,but active de-velopment and maintenance seems to be stopped.OSUIF is less stable and less used. Commercial support is not available.

4.4BANE

BANE is a constraint-based toolkit for constructing data?ow and type inference sys-tems.Analyses are formulated as systems of constraints,which are generated from the program text.The desired information is computed by Constraint resolution(solv-ing the constraints)[AFFS98].This might sound inadequate for software maintenance purposes—however,BANE has been used for implementation of a system that?nds Y2K problems in C programs(implemented in only one month). Representation,Source Tracking

Due to its nature,BANE has no support to access an underlying infrastructure.How-ever,BANE has implicit support for source code positions(at least source code posi-tions can be reported).

Full Language Support,Multi-Language Support

There are two frontends available for BANE:SML and C.

Library of Analyses

BANE includes a?ow-insensitive pointer analysis for https://www.360docs.net/doc/fe12697628.html,pared to other systems, it is one of the most scalable pointer analyses:it was able to do an pointer analysis on a500kLOC C program.

Support

BANE is only available in an old version from1998.

4.5PAG

All the previous presented infrastructures were frameworks that help implementing data?ow analyses.PAG[Mar99]is a data?ow analysis generator.From a speci?ca-tion(in a high level functional language)a complete analysis in ANSI-C is generated. The bene?t are provably correct and terminating analyses.PAG is targeted at program analysis for optimizing compilers.

Representation,Source Tracking

Due to the nature of the generated analyses,there is no accessible representation.

13

Full Language Support,Multi-Language Support

Languages are supported through different frontends.The only available frontend for a real language is a C frontend,which,in principle,supports full C.

Library of Analyses

Various analyses have been speci?ed for PAG with the C frontend,e.g.constant prop-agation or shape analysis.

Support

PAG has changed into a commercial product which is supported.

4.6DMS Software Reengineering Toolkit

The DMS Software Reengineering Toolkit[BM01]is“a set of tools for automating customized source program analysis and modi?cation of large scale software systems, containing arbitrary mixtures of languages”.Unlike the other infrastructures which are built for compiler optimization purposes,it is dedicated to software maintenance. Despite that it does not contain support for data?ow analysis yet,it is included in this survey because such support will be in the next release.On the other hand it is a good example for an industrial-scale infrastructure.

Representation,Source Tracking

The main representation are abstract syntax trees which contain links back to the source code.The trees can be pretty-printed according to speci?ed layout rules or in a way that comments,spacing and lexical formatting information of unchanged code is preserved. Full Language Support,Multi-Language Support

Parsing is handled via GLR based parser generation;a long list of programming lan-guages are supported.Sources in different languages can be represented at the same time.

Library of Analyses

No data?ow analysis is included.

Support

The DMS Toolkit is fully supported.

14

4.7Other Approaches

There is also work(but no available infrastructure)on data?ow analysis infrastruc-ture not coming from compiler optimization but directly from software maintenance. There,the data?ow analysis together with the tool that needs the results of the analy-sis gets generated from a formal,algebraic speci?cation[Tip95a].A similar approach speci?cally targeted to reverse engineering is[Moo97]:the analyzed program is?rst transformed into a Dhal program.Dhal is a speci?cally for maintenance designed language,which enables an automatic transformation into a well-structured program without gotos etc.The data?ow analysis is also generated from a speci?cation,which is then performed on the transformed program.

The CodeSurfer slicing tool for C[AT01]has a strong underlying data?ow analysis infrastructure.It is planned to open the infrastructure via an API and to include support for C++and Java.

The Eclipse Platform,designed for building integrated development environments, contains a Java development tool(JDT)which provides an API to the Java element tree2.This element tree represents elements of a project(.java,.class and.jar?les)to-gether with abstract syntax trees for the?les.This platform is already used for various program analysis and software maintenance research projects,despite the lack of sup-port for data?ow analysis.However,work on support for data?ow analysis has started, e.g.SOOT will be integrated into the Eclipse Platform.

5Conclusions

As of today,there are no program analysis infrastructures available that are speci?-cally targeted at maintenance.Therefore,one has to reuse infrastructure from compiler optimization.However,the speci?c requirements of maintenance are not completely ful?lled by any of the available infrastructures.Some lessons we learned are:?Building infrastructure on top of Java bytecode instead of Java source code is often inadequate for maintenance.However,none of the available infrastructures supports Java source code.

?Building data?ow analysis based on abstract syntax trees(omitting other inter-mediate representations)may not be a good idea as it might not provide the right abstraction.

?Infrastructure is expensive—even learning to use it.Also,choosing the right infrastructure is hard:evaluation means learning to use it.

?Academic infrastructure is fragile.There is basically no support and as research funding terminates,the development of infrastructure normally stops in an un?n-ished state.Professional infrastructure is almost unavailable,despite that demand is rising.

2A similar development tool exists for C++.

15

?Frameworks like SUIF are better suited than generators like PAG:A framework for compiler optimizations is more?exible and can be reused for software main-tenance.Generators for compiler optimizations are more restricted and may not support basic requirements for software maintenance.This will change as soon as there are generators targeted at software maintenance.

The implications of multi language support are not fully understood yet.There are basically two approaches:one is to break down the input language to a simple low-level representation,which delegates the work into the language frontend.The other is to have a uni?ed high-level representation,which basically provides a superset of all supported languages.Both approaches have disadvantages:consider a pointer analysis for C++and Java,which differ signi?cant.With a low-level representation one looses the ability to use speci?c properties of the languages and with a high-level representation one has obey every detail of the(elaborate)representation.

Off-the-shelf program analysis infrastructure does not exist and available program analysis frameworks are clearly not in the state that they can be used for production quality maintenance tools,but they provide a good base for research in software main-tenance.

Acknowledgments.Michael Mehlich and Holger Cleve provided valuable comments on earlier versions of this paper.

References

[AFFS98] A.Aiken,M.Faehndrich,J.S.Foster,and Z.Su.A toolkit for construct-ing type-and constraint-based program analyses.In Proceedings of the

second International Workshop on Types in Compilation,number1473

in Lecture Notes in Computer Science,pages76–96,1998.

[AG01a]Gagan Agrawal and Liang Guo.Evaluating explicitly context-sensitive program slicing.In Workshop on Program Analysis for Software Tools

and Engineering,pages6–12,2001.

[AG01b]Darren C.Atkinson and William G.Griswold.Implementation tech-niques for ef?cient data-?ow analysis of large programs.In Proceedings

of the2001International Conference on Software Maintenance,2001. [Ana99] C.Scott Ananian.The static single information form.Master’s thesis, MIT Dept.of Electrical Engineering and Computer Science,September

1999.Technical Report MIT-LCS-TR-801.

[A?m98]Uwe A?mann.OPTIMIX,A Tool for Rewriting and Optimizing Pro-grams.Chapman-Hall,1998.

[AT01]P.Anderson and T.Teitelbaum.Software inspection using codesurfer.In Workshop on Inspection in Software Engineering(CAV2001),2001.

16

[BM01]Ira D.Baxter and Michael Mehlich.Preprocessor conditional removal by simple partial evaluation.In Proc.Eigth Working Conference on Reverse

Engineering,pages281–290,2001.

[CC77]P.Cousot and R.Cousot.Abstract interpretation:A uni?ed lattice model for static analysis of programs by construction of approximation of?xed

points.In Proceedings of the4th ACM Symposium on Principles of

Programming Languages,Los Angeles,pages238–252,New York,NY,

1977.ACM.

[CC01] A.Cox and C.Clarke.Representing and accessing extracted information.

In International Conference on Software Maintenance(ICSM),2001. [CDG96] C.Chambers,J.Dean,and D.Grove.Frameworks for intra-and inter-procedural data?ow analysis.Technical report,Department of Computer

Science and Engineering,University of Washington,1996.

[CFR+91]Ron Cytron,Jeanne Ferrante,Barry K.Rosen,Mark N.Wegman,and

F.Kenneth Zadeck.Ef?ciently computing static single assignment form

and the control dependence graph.ACM Transactions on Programming

Languages and Systems,13(4):451–490,October1991.

[GM03]Tanton Gibbs and Brian Malloy.Weaving aspects into C++applications for validation of temporal invariants.In European Conference on Soft-

ware Maintenance and Reengineering,2003.

[GO03]Thomas Gschwind and Johann Oberleitner.Improving dynamic data analysis with aspect-oriented programming.In European Conference on

Software Maintenance and Reengineering,2003.

[Hin01]Michael Hind.Pointer analysis:Haven’t we solved this problem yet?

In2001ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for

Software Tools and Engineering(PASTE’01),Snowbird,UT,June2001. [HP00]Michael Hind and Anthony Pioli.Which pointer analysis should i use?In ACM SIGSOFT International Symposium on Software Testing and Analy-

sis(ISSTA2000),2000.

[HRB90]Susan B.Horwitz,Thomas W.Reps,and David Binkley.Interprocedural slicing using dependence graphs.ACM Transactions on Programming

Languages and Systems,12(1),1990.

[Kam98]M.Kamp.a multi-?le,multi-language software repository for program comprehension tools:A generic approach.In Sixth International Work-

shop on Program Comprehension,pages64–71,1998.

[KH98]Holger Kienle and Urs H¨o lzle.j2s:A SUIF java compiler.Technical Report TRCS98-18,University of California,Santa https://www.360docs.net/doc/fe12697628.html,puter

Science.,August26,1998.

17

[Kil73]Gary A.Kildall.A uni?ed approach to global program optimization.In Conference Record of the ACM Symposium on Principles of Program-

ming Languages,pages194–206.ACM SIGACT and SIGPLAN,ACM

Press,1973.

[KLM+97]Gregor Kiczales,John Lamping,Anurag Menhdhekar,Chris Maeda, Cristina Lopes,Jean-Marc Loingtier,and John Irwin.Aspect-oriented

programming.In Mehmet Aks?it and Satoshi Matsuoka,editors,Pro-

ceedings European Conference on Object-Oriented Programming,vol-

ume1241,pages220–242.Springer-Verlag,Berlin,Heidelberg,and New

York,1997.

[Kri01]Jens Krinke.Identifying similar code with program dependence graphs.

In Proc.Eigth Working Conference on Reverse Engineering,pages301–

309,2001.

[KS98]Jens Krinke and Gregor Snelting.Validation of measurement software as an application of slicing and constraint https://www.360docs.net/doc/fe12697628.html,rmation and Soft-

ware Technology,40(11-12),1998.

[KSW95]N.Kiesel,A.Schuerr,and B.Westfechtel.GRAS,A graph-oriented (Software)engineering database https://www.360docs.net/doc/fe12697628.html,rmation Systems,20(1):21–

52,1995.

[Lak97] https://www.360docs.net/doc/fe12697628.html,khotia.A uni?ed framework for expressing software subsystem classication techniques.Journal of Systems and Software,36(3):211–

231,1997.

[LH98]Donglin Liang and Mary Jean Harrold.Slicing objects using system dependence graphs.In ICSM,pages358–367,1998.

[LH03]Ondˇr ej Lhot′a k and Laurie Hendren.Scaling java points-to analysis using spark.In12th International Conference on Compiler Construction,2003.

[Mar99]Florian Martin.Generating Program Analyzers.PhD thesis,Universit¨a t des Saarlandes,Germany,1999.

[Moo97]L.Moonen.A generic architecture for data?ow analysis to support reverse engineering.In A.Sellink,editor,Proc.2nd Int.Workshop on

the Theory and Practice of Algebraic Speci?cations,Amsterdam,1997.

Springer-Verlag.

[MRR02]Ana Milanova,Atanas Routev,and Barbara G.Ryder.Constructing pre-cise object relation diagrams.In International Conference and Software

Maintenance,pages586–595,2002.

[NNH99] F.Nielson,H.Nielson,and C.Hankin.Principles of program analysis.

Springer Verlag,1999.

18

[Nys98]N.Nystrom.Bytecode-level analysis and optimization of java class?les.

Master’s thesis,Purdue University,West Lafayette,IN,August1998. [PQVR+01]Patrice Pominville,Feng Qian,Raja Vallee-Rai,Laurie Hendren,and Clark Verbrugge.A framework for optimizing java using attributes.In

Proceedings of Compiler Construction,2001,pages334–554,2001. [RLS+01]Barbara G.Ryder,William https://www.360docs.net/doc/fe12697628.html,ndi,Philip A.Stocks,Sean Zhang,and Rita Altucher.A schema for interprocedural modi?cation side-effect

analysis with pointer aliasing.ACM Transactions on Programming Lan-

guages and Systems,23(1):105–186,2001.

[SK03]Maximilian St¨o rzer and Jens Krinke.Interference analysis for aspectj.In Foundations of Aspect-Oriented Languages(FOAL),Boston,2003. [Sne00]Gregor Snelting.Software reengineering based on concept lattices.In 4th European Conference on Software Maintenance and Reengineering,

pages3–10,2000.

[ST00]Gregor Snelting and Frank Tip.Understanding class hierarchies using concept analysis.ACM Transactions on Programming Languages and

Systems,22(3):540–582,2000.

[Tip95a]Frank Tip.Generation of Program Analysis Tools.PhD thesis,University of Amsterdam,1995.

[Tip95b]Frank Tip.A survey of program slicing techniques.Journal of Program-ming Languages,3(3):121–189,September1995.

[TP02]Paolo Tonella and Alessandra Potrich.Static and dynamic C++code analysis for the recovery of the object diagram.In International Confer-

ence and Software Maintenance,pages54–63,2002.

[vdBKV97]M.van den Brand,P.Klint,and C.Verhoef.Reengineering needs generic programming language technology.SIGPLAN Notices,32(2):54–61,

1997.

[vdBSV98]M.van den Brand,M.Sellink,and C.Verhoef.Current parsing tech-niques in software renovation considered harmful.In Proc.Sixth Inter-

national Workshop on Program Comprehension,pages108–117,1998. [vDKV99] A.van Deursen,P.Klint,and C.Verhoef.Research issues in the reno-vation of legacy systems.In Fundamental Approaches to Software Engi-

neering,volume1577of LNCS,1999.

[WFW+94]R.P.Wilson,R.S.French,C.S.Wilson,S.P.Amarasinghe,J.M.

Anderson,S.W.K.Tjiang,Shih-Wei Liao,Chau-Wen,Tseng,M.W.

Hall,https://www.360docs.net/doc/fe12697628.html,m,and J.L.Hennessy.SUIF:an infrastructure for re-

search on parallelizing and optimizing compilers.ACM SIGPLAN No-

tices,29(12):31–37,1994.

19

设置电脑开机启动项

如何设置电脑开机启动项(2009-10-19 19:40:50) 标签:电脑开机启动项无法进入系 统杀毒软件输入法显卡驱动it 开机速度有点慢,可能是随Windows启动项有点多的缘故,运行msconfig,就可以看到电脑启动时加载的程序。下面是一些常用的系统程序和应用程序。如果你的电脑中有一些来路不明的启动项,就得考虑是否中毒或者中了木马。 启动项中除了杀毒软件和输入法(cftmon不可关闭否则你就不会在任务栏看语言 栏了)外,其它的都可以关闭或者使用者可以根据自己的需要自由地选择取舍。其实关闭并不是删除,只是开机时不运行罢了。你若想运行可以从程序菜单中打开。 1.系统常见的启动项: ctfmon.exe------------是Microsoft Office产品套装的一部分。它可以选择用户文字输入程序和微软Office XP语言条。这不是纯粹的系统程序,但是如果终止它,可能会导致不可知的问题。输入法会出现在屏幕右下角,建议不删。 NvCpl -------------是显卡桌面管理调节程 序; nvcpl.dll------------是NVIDIA显示卡相关动态链接库文件。可以停用; nvmctray - nvmctray.dll ------- DLL文件信息是显示卡相关文 件。 internat.exe ------------输入法指示器程序 LoadPowerProfile--------- Win98/Me电源管理 PCHealth ------------ WinMe系统自愈功能 ScanRegistry -----------启动时检查并备份注册表 SchedulingAgent ---------系统计划任务程序 Synchronization Manager------ Win2000同步管理 SystemTray-----------系统托盘,管理内存驻留程序 Taskbar Display Controls -----屏幕-属性-设置-高级-在任务栏中显示图标

如果设置开机启动项

启动项哪些可以关闭 1、建议你下载金山清理专家,在他的启动项中有程序软件的图标,你可以很方便的将不需要开机启动的程序关闭(还可以随时打开),即方便又安全试试吧。 2、启动项过多也可造成开机慢,点击"开始"/运行/输入msconfig后回车/点击"启动"/只保留"ctfmon/杀毒软件/防火墙,"其它前面的勾都去掉./然后点击"应用"/按"确定"(如果查找到某一选项的名和路径单独关闭更好)。 3、重启电脑,启动到桌面时会出现一个对话框,在对话框中添加对勾,确定即可。 4、怎么去掉自启动项 开始/运行输入regedit回车打开注册表编辑器,依次展开 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]在右侧,看看有没有你要找的选项,和你要找选项的路径一致,如果有删除(备份,如果今后需要自启动再恢复备份),重启电脑即可。 进入系统慢(优化系统) 1、建议你下载Windows清理助手,查杀恶意软件和木马(下载网址:https://www.360docs.net/doc/fe12697628.html,)。 2、每次启动Windows XP,蓝色的滚动条都要走上好多次,其实这里我们也可以把它的滚动时间减少,以加快启动速度。打开注册表编辑器,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters,在右边找到EnablePrefetcher主键,把它的默认值3改为1,这样滚动条滚动的时间就会减少。 3、解决开关机慢和系统结束程序慢的问题。开始/运行输入regedit打开注册表编辑器找到[HKEY-CURRENT-USER\Control Panel\Desktop]键,将WaitToKillAppTimeout改为:1000,即关闭程序时仅等待1秒。另:程序出错和系统自动关闭停止响应的程序如何实现快速关闭。 1、将HungAppTimeout 值改为:200,表示程序出错时等待0.5秒。 2、将AutoEndTasks 值设为:1,让系统自动关闭停止响应的程序。建议你下载超级兔子,让她帮助你优化电脑的开关机速度,自己就不用进行上述设置了,超级兔子就帮助你做了。 4、右击“我的电脑”/属性/硬件/设备管理器/点击“IDE ATA/A TAPI”选项/双击“次要IDE通道”/高级设置/设备类型,将“自动检测”改为“无”,主要要IDE通道也做相同的设置。 5、启动项过多也可造成开机慢,点击"开始"--运行--输入msconfig后回车--点击"启动"--只保留"ctfmon\杀毒软件\防火墙,"其它前面的勾都去掉.--然后点击"应用"--点击"确定"。 6、用系统自带的系统还原,还原到你没有出现这次故障的时候修复(如果正常模式恢复失败,请开机按F8进入到安全模式中使用系统还原)。 按照下面的方法设置,可以对系统性能有明显的提升。

excel图表之配色之道

商业杂志图表的经典用色 1、《经济学人》常用的藏青色 经济学人上的图表,基本只用这一个颜色,或加上一些深浅明暗变化,再就是左上角的小红块,成为经济学人图表的招牌样式。罗兰贝格也非常爱用这个色,有时也配合橙色使用。各类提供专业服务的网站也多爱用此色。 更新20081031:前几天看到一个色卡图片,把这个颜色叫藏青色应该是错误,应该是深青色、水鸭色或者孔雀蓝之类的。本人对之前的以讹传讹表示抱歉,纯属色盲。风格就是这样,即使很单调,只要你坚持,也会成为自己的风格,别人也会认同。所谓以不变应万变,变得太多反而难以把握。 2、《商业周刊》常用的蓝红组合 早年的商业周刊上的图表,几乎都使用这个颜色组合,基本成为商业周刊图表的招牌标志了,应该是来源于其VI 系统。不过今年来好像很有些变化,更加轻快明亮。 3、《华尔街日报》常用的黑白灰

HSJ是一份报纸,所以图表多是黑白的,但就是这种黑白灰的组合,做出的图表仍然可以非常专业,配色也非常容易。 4、使用同一颜色的不同深浅 如果既想使用彩色,又不知道配色理论,可在一个图表内使用同一颜色的不同深浅/明暗。这种方法可以让我们使用丰富的颜色,配色难度也不高,是一种很保险的方法,不会出大问题。当然,最深/最亮的要用于最需要突出的序列。 5、《FOCUS》常用的一组色

这组颜色似乎是从组织的LOGO而来,比较亮丽明快,也不错。 6、设计师珍藏自用颜色:橙+灰 我发现,设计师们总喜好把这个颜色组合用于自己的宣传,似乎这样能体现设计师的专业性。如Inmagine、Nordrio 的LOGO就是这样。 7、暗红+灰组合 这种红+灰的组合给人很专业的印象,也经常出现在财经杂志上。 8、橙+绿组合

开机启动项设置

开始--运行--输入msconfig 回车打开的对话框里 “一般”选项里选择:有选择启动,去掉“处理SYSTEM文件”,去掉“处理WIN文件”。 “启动”选项里先选择全部禁用,然后留下CTFMON,如果装有杀毒软件则留下杀毒软件启动项,其他可全关。 然后重起或者注销,会有提示,把对话框打上钩---确定 其他就别乱动了 开机启动项

【启动项目就是开机的时候系统会在前台或者后台运行的程序】 当Windows(操作系统)完成登录过程,进程表中出现了很多的进程!Windows在启动的时候,自动加载了很多程序。 许多程序的自启动,给我们带来了很多方便,这是不争的事实,但不是每个自启动的程序对我们都有用;更甚者,也许有病毒或木马在自启动行列! 其实Windows2000/XP中的自启动文件,除了从以前系统中遗留下来的Autoexec.bat文件中加载外,按照两个文件夹和9个核心注册表子键来自动加载程序的。 【启动项分解】 1)“启动”文件夹──最常见的自启动程序文件夹。 它位于系统分区的“documents and Settings-->User-->〔开始〕菜单-->程序”目录下。这时的User指的是登录的用户名。 2)“All Users”中的自启动程序文件夹──另一个常见的自启动程序文件夹。

它位于系统分区的“documents and Settings-->All User-->〔开始〕菜单-->程序”目录下。前面提到的“启动”文件夹运行的是登录用户的自启动程序,而“All Users”中启动的程序是在所有用户下都有效(不论你用什么用户登录)。 3)“Load”键值── 一个埋藏得较深的注册表键值。 位于〔HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\loa d〕主键下。 4)“Userinit”键值──用户相关 它则位于〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogo n\Userinit〕主键下,也是用于系统启动时加载程序的。一般情况下,其默认值为“userinit.exe”,由于该子键的值中可使用逗号分隔开多个程序,因此,在键值的数值中可加入其它程序。 5)“Explorer\Run”键值──与“load”和“Userinit”两个键值不同的是,“Explorer\Run”同时位于〔HK EY_CURRENT_USER〕和〔HKEY_LOCAL_MACHINE〕两个根键中。

win7开机启动项设置-服务

下面我说的是WIN7的服务.... Adaptive Brightness 监视氛围光传感器,以检测氛围光的变化并调节显示器的亮度。如果此服务停止或被禁用,显示器亮度将不根据照明条件进行调节。该服务的默认运行方式是手动,如果你没有使用触摸屏一类的智能调节屏幕亮度的设备,该功能就可以放心禁用。 Application Experience 在应用程序启动时为应用程序处理应用程序兼容性缓存请求。该服务的默认运行方式是自动,建议手动。 Application Information 使用辅助管理权限便于交互式应用程序的运行。如果停止此服务,用户将无法使用辅助管理权限启动应用程序,而执行所需用户任务可能需要这些权限。该服务的默认运行方式是手动,不建议更改。 Application Layer Gateway Service 为Internet 连接共享提供第三方协议插件的支持

如果装有第三方防火墙且不需要用ICS方式共享上网,完全可以禁用掉。 Application Management 为通过组策略部署的软件处理安装、删除以及枚举请求。如果该服务被禁用,则用户将不能安装、删除或枚举通过组策略部署的软件。如果此服务被禁用,则直接依赖于它的所有服务都将无法启动。该服务默认的运行方式为手动,该功能主要适用于大型企业环境下的集中管理,因此家庭用户可以放心禁用该服务。 Ati External Event Utility 装了ATI显卡驱动的就会有这个进程,建议手动。 Background Intelligent Transfer Service 使用空闲网络带宽在后台传送文件。如果该服务被禁用,则依赖于 BITS 的任何应用程序(如 Windows Update 或 MSN Explorer)将无法自动下载程序和其他信息。这个服务的主要用途还是用于进行WindowsUpdate或者自动更新,如果是采用更新包来更新的话,完全可以禁用。 Base Filtering Engine

bios怎样设置硬盘启动

手把手教你设置BIOS开机启动项,从此装系统不求人 制作完U盘启动后,不会BIOS设置怎么办?现在我们就聊一聊BIOS开机启动项的设置一般的品牌机,例如联想电脑,无论台式机或笔记本,选择启动项的键都是F12,开机的时候按F12键会出现启动项选择界面,从中我们可以选择电脑从什么介质启动,一般可供选择的有光驱、硬盘、网络、可移动磁盘(U盘)。如果对英文不是很了解无法确定各个选项代表什么,可以通过一个单词来快速选择U盘启动,也就是在出现的启动项列表里找到一项带USB字样的就可以了。 注:根据自己的电脑类型,选择热键,直接启动U盘,(重要提醒:利用按键选择U盘启动前,请先插入U盘)如图1所示, 以上是以联想电脑为例,其余品牌机或者部分组装机也有按键选择启动项的功能,简单列举几种: 惠普笔记本:F9 ,戴尔:F12,有一部分组装机是F8,大体而言也就这么几种按键。有些电脑开机的时候在电脑屏幕下方会显示哪个键可以用来设置启动选项,有些电脑不显示,那就需要进BIOS将F12 的BOOT MENU 功能开启。还有一些电脑是没有热键选择启动项功能的,对于这种电脑只能通过下面的第二种方法来设置了。 一、电脑如何进入BIOS?在BIOS模式下USB的启动热键是什么? 用户可以根据不同的电脑型号,选择相应的热键,直接启动一键U盘装系统工具设置(重要提示:在选择启动热键前,需先插入U盘方可)

二、设置U盘启动,不同的BIOS设置U盘启动方法均不同,以下为常见的三种方法: 1、Phoenix – AwardBIOS(2010年之后的电脑): 2、旧的Award BIOS(2009年电脑主板): 3、2002年电脑主板的一款BIOS: 1、Phoenix – AwardBIOS(2010年之后的电脑设置方法):

史上最全的图表色彩运用原理

史上最全的图表色彩运用原理 1.1 RGB颜色模型 我们先从颜色模型开始讲解学术图表的色彩运用原理。在图像处理中,最常用的颜色空间是RGB模型,常用于颜色显示和图像处理。RGB 颜色模型使用了颜色成分红(Red)、绿(Green)和蓝(Blue)来定义所给颜色中红色、绿色和蓝色的光的量。在24位图像中,每一颜色成分都由0到255之间的数值表示。在位速率更高的图像中,如48位图像,值的范围更大。这些颜色成分的组合就定义了一种单一的颜色。RGB颜色模型采用三维坐标的模型形式,非常容易被理解,如图1-1(a)所示:原点到白色顶点的中轴线是灰度线,R、G、B三分量相等,强度可以由三分量的向量表示。我们可以用RGB来理解色彩、深浅、明暗变化:(1) 色彩变化:三个坐标轴RGB最大分量顶点与黄紫青YMC色顶点的连线;(2) 深浅变化:RGB顶点和CMY顶点到原点和白色顶点的中轴线的距离;(3) 明暗变化:中轴线的点的位置,到原点,就偏暗,到白色顶点就偏亮。RGB模型也称为加色法混色模型。它是以RGB三色光互相叠加来实现混色的方法,因而适合于显示器等发光体的显示。其混色规律是:以等量的红、绿、蓝基色光混合时。我们平时在绘图软件中调整颜色主要就是通过修改RGB颜色的三个数值,如图1-2(b)

Windows 系统自带的选色器的右下角所示。 图1-1 颜色模型对比 1.2 HSB颜色模型 大家平时在颜色选择中还会遇到一种颜色模型:HSB,在这里也给大家做简要的介绍。HSB 色彩模式是基于人眼的一 种颜色模式,是普及型设计软件中常见的色彩模式。,其中(1) 色相H ( Hue ):在0~360°的标准色环上,按照角度值标识。比如红是0°、橙色是30°等,如(2) 饱和度S ( saturation ):是指颜色的强度或纯度。饱和度表示色相中彩色成分所占的比例,用从0%(灰色)~100%(完全饱和)的百分比来度量。在色立面上饱和度是从左向右逐渐增加的,左边线为0%,右 边线为100%,如:。(3) 亮度B ( brightness ):是颜色的明暗程度,通常是从0(黑)~100%(白)的百分比来度量的,在色立面中从上至下逐渐递减,上边线为100%,下边线为0% ,如:。HSB有时也作HSV(色相(Hue)、饱和度(Saturation)、色调(Value ))、HSL(色相(Hue)、饱和度(Saturation)、L(lightness))。比起RGB 系统,HSB 使用了更贴近人类感官直觉的方式来描述色彩,可以指导设计者更好地搭配色彩,会在色彩搭配中经常用到,如图1-2 所示。(a)Microsoft Office默认的选色器(b) Windows 系统自带的选色器图1-2 HSB的应用场景 平时我们颜色参考的色轮(色相轮)就是来源于HSB、HSL

EXCEL图表颜色搭配技巧

设计师谈配色之基础篇 设计师谈配色 按颜色分类 火鸟网:https://www.360docs.net/doc/fe12697628.html, 一、橙色 使用了高亮度橙色的站点通常都会给人一种晴朗新鲜的感觉,而通过将黄色、黄绿色等类似颜色与成色搭配使用,通常都能得到非常好的效果。同时,中等色调的橙色类似于泥土的颜色,所以也经常用来创造自然的氛围。 橙色是可以通过变换色调营造出不同氛围的典型颜色,它既能表现出青春的活力也能够实现沉稳老练的效果,所以橙色在网页配色中的使用范围是非常广泛的。 Color Point: 橙色通常会给人一种朝气活泼的感觉,它通常可以是原本抑郁的心情豁然开朗。 在东方文化中,橙色象征着爱情和幸福。充满活力的橙色会给人健康的感觉,且有人说橙色可以提高厌食症患者的食欲。有些国家的僧侣主要穿着橙色的僧侣服,他们解释说橙色代表着谦逊。

二、黄绿色

黄绿色时而能够表现出自然的感觉,时而能够表现出未来虚幻的感觉。 原本这两种印象之间有很大的差异,但黄绿色就像穿越时间隧道那样能够自由自在地表现出这两种截然不同的感觉。 在网页中,黄绿色通常与蓝色搭配使用。总的来说,黄绿色主要用于表现温暖亲切的感觉或高科技神秘虚幻的感觉。 Color Point: 黄绿色和草绿色都会让人联想起大自然。黄绿色同时含有黄色和绿色两种颜色的共同特点,也就是说,黄绿色既能表现出黄色的温暖,也能表现出绿色的清新。在社会上,儿童和年轻人比较喜欢黄绿色。

三、绿色

绿色也是在网页中使用最为广泛的颜色之一。 因为它本身具有一定的与健康相关的感觉,所以也经常用于与健康相关的站点。绿色还经常用于一些公司的公关站点或教育站点。 ?当搭配使用绿色和白色时,可以得到自然的感觉。 ?当搭配使用绿色与红色时,可以得到鲜明且丰富的感觉。 ?同时,一些色彩专家和医疗专家们提出绿色可以适当缓解眼部疲劳。 Color Point: 人们看到绿色的时候,第一反应就会想到大自然。很多人都说绿色是大自然的颜色,绿色也代表着大自然中的每一个可贵的生命。大自然给了我们新鲜的氧气,而绿色也能使我们的心情变得格外明朗。当需要揭开心中的抑郁时,当需要找回安详与宁静的感觉时,回归大自然是最好的方法。

如何设置bios启动顺序

一进入BIOS设置程序通常有三种方法 1.开机启动时按热键(最通用也最常用) 在开机时按下特定的热键可以进入BIOS设置程序,不同类型的机器进入BIOS设置程序的按键不同, 有的在屏幕上给出提示,有的不给出提示,几种常见的BIOS设置程序的进入方式我简单列表如下: 笔记本方面,不同的笔记本进入BIOS方法不同,这就造成了许多人进BIOS的时候的烦恼:Thinkpad/IBM(冷开机按F1,部分新型号可以在重新启动时启动按F1) HP(启动和重新启动时按F2) SONY(启动和重新启动时按F2) Dell(启动和重新启动时按F2) Acer(启动和重新启动时按F2) Toshiba(冷开机时按ESC然后按F1) Compaq(开机到右上角出现闪动光标时按F10,或者开机时按F10) Fujitsu(启动和重新启动时按F2) 大多数国产和台湾品牌(启动和重新启动时按F2)台式机进入BIOS开机时候请多按del键, 就可以进入BIO 这些东西和主板厂商有关的,一般都是主板决定的。 二如何通过读取开机画面信息,从而更快更顺利的进入BIOS设置界面 下面用几个实例带图一同给大家解读一下,希望大家都能准确的快速的进入BIOS设置。 举例一 问:“台式电脑是810主板,C3时代的了,CPU是C 1.2G,开机显示IBM,还要等办天才能

跳过IBM那个画面???我看了好多网上的资料,好像IBM只有笔记本吧,我朋友的台式电脑开机画面怎么会出现IBM呢?而且我按Delete 键跟F1键都进不去BIOS,该怎么办” 解题: 可以按tab键查看,最下边会有进bios的方法。 press del to enter setup,找到类似的英文就是了,看del用什么代替了就行。 从上图可以看到,显示了提示信息“Press DEL to enter SETUP”, 即是表示“按下键盘上Delete键,即可进入BIOS设置界面。” 更详细、更全面的资料,有兴趣的朋友可以下载附件“进入BIOS大全.txt”深入了解。 举例二: 现在买电脑的,遇到问题的都不是自己组装机器,一般图方便图维护容易买品牌机、买笔记本的多, 但这样也造成了自己对爱机的了解程度不够,比如不少用户就不知道品牌机如何进入BIOS 设置,看下图

excel图表的经典配色

商业杂志图表的经典用色 商业图表中的颜色运用,其重要性不言而喻,我们非设计专业人士,对色彩往往不是很有把握,色彩方面的教材看起来也不得要领,做出的图表用色上常常花哨或者脏乱,难以达到专业的效果。 在《杂志级图表方法第一步:突破Excel的默认颜色》中已经提到,从商业杂志上的图表借鉴配色,则不失为一种非常保险和方便的办法。不少朋友向我索要颜色模板,但实际上我这些年并没有从事经营分析工作,手头并没有完善的模板。最近,我从上千个杂志图表案例中,整理了一些商业杂志常用的经典用色组合,以飨博友。(ExcelPro的图表博客:https://www.360docs.net/doc/fe12697628.html,) 1、《经济学人》常用的藏青色 经济学人上的图表,基本只用这一个颜色,或加上一些深浅明暗变化,再就是左上角的小红块,成为经济学人图表的招牌样式。罗兰贝格也非常爱用这个色,有时也配合橙色使用。各类提供专业服务的网站也多爱用此色。 更新20081031:前几天看到一个色卡图片,把这个颜色叫藏青色应该是错误,应该是深青色、水鸭色或者孔雀蓝之类的。本人对之前的以讹传讹表示抱歉,纯属色盲。 风格就是这样,即使很单调,只要你坚持,也会成为自己的风格,别人也会认同。所谓以不变应万变,变得太多反而难以把握。

2、《商业周刊》常用的蓝红组合 早年的商业周刊上的图表,几乎都使用这个颜色组合,基本成为商业周刊图表的招牌标志了,应该是来源于其VI系统。不过今年来好像很有些变化,更加轻快明亮。 3、《华尔街日报》常用的黑白灰 HSJ是一份报纸,所以图表多是黑白的,但就是这种黑白灰的组合,做出的图表仍然可以非常专业,配色也非常容易。

如何设置开机启动项

如何设置开机启动项 开机速度有点慢,可能是随Windows启动项有点多的缘故,运行msconfig,就可以看到电脑启动时加载的程序。下面是一些常用的系统程序和应用程序。如果你的电脑中有一些来路不明的启动项,就得考虑是否中毒或者中了木马。 启动项中除了杀毒软件和输入法(cftmon不可关闭否则你就不会在任务栏看语言栏了)外,其它的都可以关闭或者使用者可以根据自己的需要自由地选择取舍。其实关闭并不是删除,只是开机时不运行罢了。你若想运行可以从程序菜单中打开。 1.系统常见的启动项: ctfmon.exe------------是Microsoft Office产品套装的一部分。它可以选择用户文字输入程序和微软Office XP语言条。这不是纯粹的系统程序,但是如果终止它,可能会导致不可知的问题。输入法会出现在屏幕右下角,建议不删。 NvCpl -------------是显卡桌面管理调节程序; nvcpl.dll------------是NVIDIA显示卡相关动态链接库文件。可以停用; nvmctray - nvmctray.dll -------DLL文件信息是显示卡相关文件。 internat.exe ------------输入法指示器程序 LoadPowerProfile---------Win98/Me电源管理 PCHealth ------------WinMe系统自愈功能 ScanRegistry -----------启动时检查并备份注册表 SchedulingAgent ---------系统计划任务程序 Synchronization Manager------Win2000同步管理 SystemTray-----------系统托盘,管理内存驻留程序 Taskbar Display Controls -----屏幕-属性-设置-高级-在任务栏中显示图标 TaskMonitor -----------任务检测程序,记录使用软件情况 *StateMgr ----------WinMe系统还原 msmsgs Windows Messenger ---是微软公司推出的一个在线聊天和即时通讯客户端。 Rundll32 cmicnfg---------是32位的链接库,使电脑能运行..dll类型的文件,建议不要禁用;

作图基本配色方案及色标大全

作图基本配色方案及色标大全 基本配色——奔放 ----------------------------------------------------------------------------------- 藉由使用象朱红色这种一般最令人熟知的色彩,或是它众多的明色和暗色中的一个,都能在一般设计和平面设计上展现活力与热忱。中央为红橙色的色彩组合最能轻易创造出有活力、充满温暖的感觉。 这种色彩组合让人有青春、朝气、活泼、顽皮的感觉,常常出现在广告中,展示精力充沛的个性与生活方式。把红橙和它的补色——蓝绿色——搭配组合起来,就具有亲近、随和、活泼、主动的效果,每当应用在织品、广告和包装上,都是非常有效。 基本配色——传统 ----------------------------------------------------------------------------------- 传统的色彩组合常常是从那些具有历史意义的色彩那里仿来的。 蓝、暗红、褐和绿等保守的颜色加上了灰色或是加深了色彩,都可表达传统的主题。 例如,绿,不管是纯色或是加上灰色的暗色,都象征财富。 狩猎绿(hunter green)配上浓金或是暗红或是黑色表示稳定与富有。这种色彩常出现在银行和律师事务所的装潢上,因为它们代表恒久与价值。 基本配色——低沉 ----------------------------------------------------------------------------------- 不同于其它色彩展现柔和,低沉之美的灰紫色没有对比色。灰紫色调合了红紫色、灰色和白色,是个少见的彩色。 任何颜色加上少许的灰色或白色,能表达出的柔和之美,有许多种包括灰蓝色、灰绿色等。但若灰紫色本身被赋其它彩度或亮度,则可能掩盖了原颜色的原有意境。使用补色,或比原色更生动的颜色,可使这些展现柔和之美的颜色顿时生意昂然,但要保持自然的柔美,亮度的变化应尽少使用。 基本配色——动感

如何设置U盘启动 设置电脑开机从U盘启动方法

如何设置U盘启动设置电脑开机从U盘启动方法 在今天的上文中,我们为大家介绍了如何制作U盘启动盘,U盘启动盘制作好,并且将系统镜像文件放入到U盘之后,接下来就需要重启电脑,设置电脑开机启动项为从U盘启动了,之后就是最后的系统安装了。由于设置U盘启动,不同主板方法有所不同,因此本文才专文为大家介绍设置电脑开机从U盘启动方法,如果您也还不懂,那么赶紧往下阅读吧。 如果你感觉到设置BIOS比较麻烦困难,根据你的电脑类型,在将制作好的U盘系统插入电脑后,然后使用电脑开启启动项热键快捷键直接启动一键U盘装系统,由于不同品牌主板与品牌笔记本设置方法有所不一样,以下我们汇总了各品牌主板与笔记本热键进入开机启动项设置的方法,如下图: 除了以上快捷方法外,我们还可以通过我们最常见的设置BIOS方式,由于BIOS默认是从硬盘启动,因此我们首先需要设置开机启动项为从U盘启动,同样由于不同品牌主板BIOS内部界面设置有些不相同,以下电脑百事网编辑为大家整理了各品牌主板BIOS设置为U盘启动的方法,详情如下:

1、Phoenix – AwardBIOS主板(适合2010年之后的主流主板): 开机按Del键进入该BIOS设置界面,选择高级BIOS设置Advanced BIOS Features,如下图,之后进入如下图界面: 如上图,在高级BIOS设置(Advanced BIOS Features)界面里,首先点击(硬盘启动优先级)Hard Disk Boot Priority,之后即可进入BIOS开机启动项优先级选择,我们可以通

过键盘上的上下键选择USB-HDD(U盘即可,会自动识别我们插入电脑中的U盘),如下图: 如上图,选择USB设备为第一启动项后,按Entel键即可确认选择,之后我们再按F10键,然后会弹出是否保存,选择YES即可。 另外有的主板还会进入如下界面,我们主要将First Boot Device这只为U盘即可,如下图。

开机启动项怎么设置

开机启动项怎么设置 开机启动项设置教程如下: 方法一:最简单最原始的方法,使用开机启动命令 在开始--运行--输入:msconfig 命令,进入如下系统配置界面: 启动项中除了杀毒软件和输入法(cftmon不可关闭否则就不会在任务栏看语言栏了)外,其它的都可以关闭或者使用者可以根据自己的需要自由地选择取舍。其实关闭并不是删除,只是开机时不运行罢了。你若想运行可以从程序菜单中打开。 不同电脑可能安装的程序不一样,所以所看到的程序或许不一一样,以下总结了一些系统常见启动项。 ctfmon.exe----是Microsoft Office产品套装的一部分。它可以选择用户文字输入程序和微软Office XP语言条。这不是纯粹的系统程序,但是如果终止它,可能会导致不可知的问题。输入法会出现在屏幕右下角,建议不删。 Nv Cpl ------是显卡桌面管理调节程序;

nv cpl.dll---------- 是NVIDIA显示卡相关动态链接库文件。可以停用; nvmctray - nvmctray.dll ------- DLL文件信息是显示卡相关文件。 internat.exe ----------输入法指示器程序 LoadPowerProfile------- Win98/Me电源管理 PCHealth ----------- WinMe系统自愈功能 ScanRegistry ---------启动时检查并备份注册表 SchedulingAgent ------- 系统计划任务程序 Synchronization Manager---- Win2000同步管理 SystemTray----------系统托盘,管理内存驻留程序 Taskbar Display Controls ----屏幕-属性-设置-高级-在任务栏中显示图标 TaskMonitor ---------任务检测程序,记录使用软件情况 *StateMgr ---------- WinMe系统还原 msmsgs Windows Messenger -是微软公司推出的一个在线聊天和即时通讯客户端。 Rundll32 cmicnfg-------是32位的链接库,使电脑能运行..dll类型的文件,建议不要禁用; soundman.exe------是Realtek声卡相关程序。该进程在系统托盘驻留,用于进行快速访问和诊断。可关掉. igfxtray.exe ------- 是intel显卡配置和诊断程序,会在安装intel 810芯片组的集成显卡驱动时一起安装。关掉试试. hkcmd.exe-----此进程是主板上集成显卡的一个驱动控制台文件,常和igfxtray.exe 一起出现,如intel865G芯片集成的显卡。但该命令常会被黑客或木马利用,需要注意。可以禁用,不是病毒,但可能被病毒替代。 nwiz.exe--------是NVIDIA nView控制面板在NVIDA显卡驱动中被安装,用于调整和设定。可停用.;

EXCEL图表颜色搭配技巧

EXCEL图表配色技巧 一、橙色 使用了高亮度橙色的站点通常都会给人一种晴朗新鲜的感觉,而通过将黄色、黄绿色等类似颜色与成色搭配使用,通常都能得到非常好的效果。同时,中等色调的橙色类似于泥土的颜色,所以也经常用来创造自然的氛围。 橙色是可以通过变换色调营造出不同氛围的典型颜色,它既能表现出青春的活力也能够实现沉稳老练的效果,所以橙色在网页配色中的使用范围是非常广泛的。 Color Point: 橙色通常会给人一种朝气活泼的感觉,它通常可以是原本抑郁的心情豁然开朗。 在东方文化中,橙色象征着爱情和幸福。充满活力的橙色会给人健康的感觉,且有人说橙色可以提高厌食症患者的食欲。有些国家的僧侣主要穿着橙色的僧侣服,他们解释说橙色代表着谦逊。 二、黄绿色 黄绿色时而能够表现出自然的感觉,时而能够表现出未来虚幻的感觉。 原本这两种印象之间有很大的差异,但黄绿色就像穿越时间隧道那样能够自由自在地表现出这两种截然不同的感觉。 在网页中,黄绿色通常与蓝色搭配使用。总的来说,黄绿色主要用于表现温暖亲切的感觉或高科技神秘虚幻的感觉。 Color Point: 黄绿色和草绿色都会让人联想起大自然。黄绿色同时含有黄色和绿色两种颜色的共同特点,也就是说,黄绿色既能表现出黄色的温暖,也能表现出绿色的清新。在社会上,儿童和年轻人比较喜欢黄绿色。 三、绿色 绿色也是在网页中使用最为广泛的颜色之一。 因为它本身具有一定的与健康相关的感觉,所以也经常用于与健康相关的站点。绿色还经常用于一些公司的公关站点或教育站点。

?当搭配使用绿色和白色时,可以得到自然的感觉。 ?当搭配使用绿色与红色时,可以得到鲜明且丰富的感觉。 ?同时,一些色彩专家和医疗专家们提出绿色可以适当缓解眼部疲劳。 Color Point: 人们看到绿色的时候,第一反应就会想到大自然。很多人都说绿色是大自然的颜色,绿色也代表着大自然中的每一个可贵的生命。大自然给了我们新鲜的氧气,而绿色也能使我们的心情变得格外明朗。当需要揭开心中的抑郁时,当需要找回安详与宁静的感觉时,回归大自然是最好的方法。 四、黄色 黄色是在站点配色中使用最为广泛的颜色之一,因为黄色本身具有一种明朗愉快的效果,所以能够得到大部分人的认可。 黄色在从儿童站点直至门户型网站等几乎每一个角落中都找到了自己的发挥空间,通过结合紫色、蓝色等颜色可以得到温暖愉快的积极效果。 ?高彩度的黄色与黑色的结合可以得到清晰整洁的效果,这种配色实例在网页设计中经常可以见到。 ?采用同一色调的深褐色与黄色的搭配,可以表达一种成熟的城市时尚的感觉。 Color Point: 黄色是明亮的且可以给人甜蜜幸福感觉的颜色。 在很多艺术家的作品,黄色都用来表现喜庆的气氛和富饶的景色。同时黄色还可以起到强调突出的作用,这也是使用黄色作为路口指示灯的原因。黄色因为具有诸多以上的特点,所以在我们的日常生活中随处可见。 黄色是在站点配色中使用最为广泛的颜色之一,因为黄色本身具有一种明朗愉快的效果,所以能够得到大部分人的认可。 黄色在从儿童站点直至门户型网站等几乎每一个角落中都找到了自己的发挥空间,通过结合紫色、蓝色等颜色可以得到温暖愉快的积极效果。 ?高彩度的黄色与黑色的结合可以得到清晰整洁的效果,这种配色实例在网页设计中经常可以见到。 ?采用同一色调的深褐色与黄色的搭配,可以表达一种成熟的城市时尚的感觉。 Color Point: 黄色是明亮的且可以给人甜蜜幸福感觉的颜色。 在很多艺术家的作品,黄色都用来表现喜庆的气氛和富饶的景色。同时黄色还可以起到强调突出的作用,这也是使用黄色作为路口指示灯的原因。黄色因为具有诸多以上的特点,所以在我们的日常生活中随处可见。

台式机如何设置开机从光驱启动

如何设置开机从光驱启动 一:设置方法 当我们刚打开电脑的时候,一般首先出现的就是主板的logo,这时只要你稍微注意一下,就会发现类似下图所示的提示信息 大部分的主板都是按Del键进入bios设置面板(Pres DEL to enter setup),这也不是绝对的,有些品牌的主机有自己的设置,比如按F2或者F12。你需要注意一下提示信息。下图所示即为bios设置面板 可能你看到面板和上图不一样,那是因为你的主板使用的bios类型和我的不一样。上图显示的是最常见的award bios,如果你的不一样,也不用担心,继续往下看,方法都是类似的。你可以通过光标上下左右键来选择不同的菜单项,按Enter(回车)键进入子菜单,按Esc 键返回上级菜单。我们需要做的就是选中”Adranced BIOS Features”(高级bios功能设置),然后按回车键进入Adranced BIOS Features设置面板,如下图所示

这里我们需要理解的就是First Boot Device、Second Boot Device、Third Boot Device、Boot Other Device(第一、第二、第三以及其它启动设备)。我们的电脑就是按照这个顺序启动的,首先尝试从第一启动设备启动,如果不能从第一启动设备,就尝试从第二启动设备启动,如果再不成功就尝试从第三启动设备启动,最后才是从其它设备启动。如果都没有成功的话,那你的电脑就不能启动了。 理解了这一点,我们就可以做一个固定不变的设置。假如你的电脑有软驱的话,你可以把第一启动设备设置为软驱,把第二启动设备设置为光驱,把第三启动设备设置为硬盘,其它启动设置可以不设置也可以随便设置一个。这样一来,以后每你的电脑开机的时候,都会按照这个启动顺序启动,效果是:如果软驱和光驱内都没有启动盘的话,就会从硬盘启动(进入我们的操作系统)。而当我们想重新安装系统的时候,只需要把系统的安装光盘放入光驱,即可从这张光驱启动,进入安装光盘。 现在的电脑基本上都已经没有软驱了,这样的话就可以把第一启动设备设置为光驱,第二启动设备设置为硬盘。以设置第一启动设备为光驱为例,使用键盘上的上下键选择”First Boot Device”,然后按回车 在弹出来的框中选择“CDROM”,再按回车确认,即可把第一启动项设置为光驱。按照同样的方法可以设置其它几个启动项。 设置完毕后按F10,再选择yes保存。这样就设置完毕了。就算你不重装系统,也可以这样设置一下看看,一样可以正常进入你的系统。设置一次,“终身享用”。 如果你的bios界面和本文介绍的界面不一样,也没关系,你只要找到”Boot”这样的选项,基本上就能找到启动顺序了。以下是几个常见的英文单词对比: ?光驱:CDROM、CD-ROM ?硬盘:Hard Disk、Hard Drive、HDD 我再拿Phoenix BIOS的设置举个例子吧,下面是Phoenix BIOS的主界面

怎么设置开机启动项

怎么设置开机启动项?开机启动项设置教 程 身边不少朋友买了电脑都在比拼电脑开机速度,一般新电脑开机启动时间保持在30s左右就已经很不错了,不过不少朋友电脑开机时间需要1分多钟,那么如何优化提升电脑开机速度呢?不少朋友的答案的设置开机启动项目,尽量减少程序开机启动,不过多数朋友都不会设置,这里编辑教大家2招轻松设置开机启动项,提高电脑开机速度。 方法一:最简单最原始的方法,使用开机启动命令 在开始--运行--输入:msconfig 命令,进入如下系统配置界面:

系统配置界面 启动项中除了杀毒软件和输入法(cftmon不可关闭否则你就不会在任务栏看语言栏了)外,其它的都可以关闭或者使用者可以根据自己的需要自由地选择取舍。其实关闭并不是删除,只是开机时不运行罢了。你若想运行可以从程序菜单中打开。 不同电脑可能安装的程序不一样,所以所看到的程序或许不一一样,以下总结了一些系统常见启动项。 ctfmon.exe----是Microsoft Office产品套装的一部分。它可以选择用户文字输入程序和微软Office XP语言条。这不是纯粹的系统程序,但是如果终止它,可能会导致不可知的问题。输入法会出现在屏幕右下角,建议不删。 NvCpl ------是显卡桌面管理调节程序; nvcpl.dll----------是NVIDIA显示卡相关动态链接库文件。可以停用; nvmctray - nvmctray.dll ------- DLL文件信息是显示卡相关文件。 internat.exe ----------输入法指示器程序LoadPowerProfile------- Win98/Me电源管理 PCHealth ----------- WinMe系统自愈功能ScanRegistry ---------启动时检查并备份注册表SchedulingAgent -------系统计划任务程序Synchronization Manager---- Win2000同步管理

图表的基本配色方法

图表的基本配色方法 不论是商业图表还是专业图表,图表的配色都极其关键。图表配色主要有彩色和黑白两种配色方案。刘万祥老师曾提出:在我看来,普通图表与专业图表的差别,很大程度就体现在颜色运用上。对于商业图表,专业的图表制作人员可以根据色轮,实现单色、类似色、互补色等配色方案;而普通大众,则可以参考《华尔街日报》(The Wall Street Journal)、商业周刊(Business Week)以及《经济学人》(The Economist)等商业经典杂志的图表配色。 对于科学图表,大部分国内的期刊杂志要求黑白的论文图表;而国外大部分的期刊杂志允许彩色的图表。科学论文图表基本是按照《Author Guidelines》的要求来制作的,最大的区别在于色彩,优秀的图表配色能够给人一种赏心悦目的感觉,更能激起读者对文章内容的兴趣。1.3.1 Excel的默认配色Excel 2013以上版本引入了“颜色主题”的概念。通过“页面布局”→“主题”→“颜色”,可以看到很多种颜色主题,如图1-3-1(a)所示。我们可以通过改变“颜色主题”全 局改变Excel中字体、单元格、图表等对象的配色,该功能类似于某些软件中的换肤功能。如图1-3-1(b)所示,选择“自定义颜色”,弹出“新建颜色主题”的对话框,自定义颜色主题,需要时可通过颜色面板快速调用。图1-3-1 Excel 2016的

默认配色方案 Excel 2016绘图默认配色就是图1-3-1(a)中的“自定义1”颜色主题,如图1-3-1(c)中淡蓝色方框所示。其实,在图1-3-1(c)的颜色主题中,有许多衍生的颜色主题,包括彩色和单色两种类型供选择。利用图1-3-1(c)的颜色主题绘制的效果图,如图1-3-4所示。 1.3.2 Excel的颜色修改在Excel中选择颜色选项,我们可以看到Excel 的颜色模板及其修改入口,如图1-3-2(a)所示。颜色模板部分包括“主题颜色”、“标准颜色”和“最近使用颜色”,“主题颜色”就是通过颜色主题类型来控制和改变的。选择底部的“其他颜色”,可以跳出如图1-3-2(b)标准颜色选项卡和图 1-3-2(c)自定义颜色选项。在“标准”选项卡中,我们可以选择很多预设的颜色,但是我们一般很少使用。在“自定义”选项卡中,我们可以通过输入特定的RGB值来精确指定颜色,这里就是我们用来突破默认颜色的地方。(说明:计算机一般通过一组代表红、绿、蓝三原色比重的RGB 颜色代码来确定一个唯一的颜色,R,G,B的取值范围都是属于[0, 255])。任何颜色都可以通过R,G,B调配出来,所以我们只要得到一种颜色的R,G,B数值,就可以把这种颜色还原出来。1.3.3 Excel专业图表的配色突破我们觉得R语言中ggplot2绘图精美的一个重要原因就是它清新亮丽的灰色背景配上赏心

相关文档
最新文档