Multi-Tasks Operating System
操作系统的英文缩写是

操作系统的英文缩写是The Abbreviation of Operating System in EnglishAn operating system (OS) is a crucial component of any computer system. It acts as an interface between the hardware and software, managing various functions and resources. The abbreviation for operating system in English is simply "OS." In this article, we will explore the significance and various aspects of an operating system.IntroductionThe operating system serves as the backbone of a computer system, coordinating and managing various hardware and software resources. It bridges the gap between users and computer hardware, enabling them to interact and perform tasks effectively. The term "OS" is commonly used and understood globally as the abbreviation for operating system.Functions of an Operating SystemAn operating system performs several fundamental functions:1. Process Management: The OS manages the execution of various processes, allocating resources and ensuring efficient multitasking.2. Memory Management: It controls and allocates memory to different programs and processes, allowing them to run concurrently without conflicts.3. File System Management: The OS organizes and maintains file systems, enabling users to store, retrieve, and manage their data efficiently.4. Device Management: It manages and controls all input and output devices connected to the computer, facilitating communication between hardware and software components.Types of Operating SystemsThere are different types of operating systems, each designed for specific purposes:1. Single-User, Single-Tasking: These OSs are simple and support only one user at a time, allowing them to perform a single task. They are commonly found in early personal computers.2. Single-User, Multitasking: These OSs allow a single user to perform multiple tasks simultaneously. Modern desktop and laptop operating systems like Windows, macOS, and Linux fall into this category.3. Multi-User: These OSs support multiple users concurrently, providing each user with their own virtual environment. Enterprise-level operating systems like UNIX are examples of multi-user systems.4. Real-Time: Real-time operating systems are designed for time-sensitive applications, ensuring precise timing and quick response to external stimuli. They are used in industries such as aviation, healthcare, and finance.Evolution of Operating SystemsOperating systems have evolved significantly over time, reflecting advancements in technology and user requirements. Here are some key milestones in the evolution of operating systems:1. Batch Processing Systems: Early computers used batch processing systems, where users queued their jobs, and the system executed them one after another without direct user interaction.2. Time-Sharing Systems: With the advent of mainframes, time-sharing operating systems were developed, allowing multiple users to interact with the system simultaneously.3. Graphical User Interfaces (GUI): The introduction of GUIs revolutionized the user experience, enabling users to interact with computers through visual elements like icons and windows. Operating systems such as Windows and macOS are prime examples of GUI-based systems.4. Networked Operating Systems: The rise of networking led to the development of networked operating systems, allowing computers to communicate and share resources over local or wide-area networks.ConclusionOperating systems play a vital role in the functioning of computer systems, and their abbreviation in English, "OS," is universally recognized. From managing processes and memory to handling file systems and devices, the OS ensures efficient operation and user-friendly interaction. As technology continues to advance, operating systems will continue to evolve, further enhancing the capabilities and performance of computer systems.。
计算机专业英语_考试题目

----------------------------精品word 文档 值得下载 值得拥有---------------------------------------------- 一、词汇(一)Translate the following words or expressions into Chinese.1.Central Processing Unit 中央处理单元2.relational database 关系数据库 3.software crisis 软件危机 4.feasibility analysis 可行性分析5.electronic commerce 电子商务6.reference element 参考元素9.object-oriented language 面向对象的语言13.assembly language 汇编语言14.standardize 使标准化17.embedded system 嵌入式系统----------------------------精品word 文档 值得下载 值得拥有----------------------------------------------20.gray scale 灰度 (二) Fill in the blanks with the corresponding English abbreviations. (根据汉语写出相应的英语缩写。
)1.随机存储器 RAM2.广域网 WAN3.超文本标记语言 HTML4.文件传输协议 FTP5.液晶显示器 LCD6.结构化查询语言SQL7.磁盘操作系统 DOS8.电子公告板系统 BBS(三) Translate the following English abbreviations into Chinese. (根据英语缩写写出相应的中文意思。
)1.USB 通用串行总线 3.AI 人工智能4.HDD 硬盘驱动器5.DNS 域名服务器6.IE 网页浏览器8.PPP 点对点通信协议 9.SMTP 简单邮件传输协议10.WWW 万维网二、 匹配1、portability J A 、半兼容的2、ROM D B 、客户服务器模式3、carrier signal G C 、数据库管理信息系统4、protocol F D 、只读存储器5、CSS H E 、综合业务数字网6、proxy server N F 、协议7、computer aided design S G 、载波信号8、semi-compatible A H 、层次式样表9、SCSI O I、性能影响10、URL(uniform resource locator) M J、可移植性11、performance hit I K、超文本传输协议12、CP/M R L、局域网13、ISP T M、统一资源定位器14、CLI(Command Language Interpreter)Q N、代理服务器15、hypertext document P O、小型计算机系统接口16、LAN L P、超文本文档17、database management system C Q、命令语言解释程序18、HTTP K R、微机控制程序19、ISDN E S、计算机辅助设计20、client server B T、网络服务提供者三、英文解释(此题仅供参考)In this section, there are 15 sentences which are the English words explanation. You are required to read it carefully, then choose the proper word corresponding with the explanation。
operatingsystem简介

操作系统(英语:Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行操作系统是管理计算机硬件资源,控制其他程序运行并为用户提供交互操作界面的系统软件的集合。
操作系统是计算机系统的关键组成部分,负责管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本任务操作系统的种类相当多,各种设备安装的操作系统可从简单到复杂,可分为智能卡操作系统、实时操作系统、传感器节点操作系统、嵌入式操作系统、个人计算机操作系统、多处理器操作系统、网络操作系统和大型机操作系统。
[1]按应用领域划分主要有三种:桌面操作系统、服务器操作系统和嵌入式操作系统。
一、桌面操作系统桌面操作系统主要用于个人计算机上。
个人计算机市场从硬件架构上来说主要分为两大阵营,PC机与Mac机,从软件上可主要分为两大类,分别为类Unix操作系统和Windows操作系统:1.Unix和类Unix操作系统:Mac OS X,Linux发行版(如Debian,Ubuntu,Linux Mint,openSUSE,Fedora等);2.微软公司Windows操作系统[2]:Windows 98,Windows XP,Windows Vista,Windows 7,Windows 8,Windows 8.1等。
二、服务器操作系统服务器操作系统一般指的是安装在大型计算机上的操作系统,比如Web服务器、应用服务器和数据库服务器等。
服务器操作系统主要集中在三大类:1.Unix系列:SUNSolaris,IBM-AIX,HP-UX,FreeBSD,OS X Server[3]等;2.Linux系列:Red Hat Linux,CentOS,Debian,Ubuntu Server等;3.Windows系列:Windows NT Server,Windows Server 2003,Windows Server2008,Windows Server 2008 R2等。
多任务操作系统Nucleus简介

多任务操作系统Nucleus简介一、ATI公司简介■公司全称:Accelerated Technology Inc.■成立于1990年8月■总部在美国Alabama州的Mobile■在美国的加利佛尼亚,德克萨斯,马塞诸塞,佛罗里达以及田纳西等设有分支机构■在英国、法国和德国设有分支机构■在日本、韩国、澳大利亚、台湾、中国、意大利和俄罗斯等国设有代理商1990年推出Nucleus实时多任务操作系统■专注于RTOS的研发、销售和技术应用及技术支持■1993年成为MOTOROLA推荐的四大RTOS厂商之一■1994年推出全球唯一的MNT虚拟开发平台■1994年推出全球唯一的VNET网络化虚拟平台■1994年成功地推出Java和RTOS产品■1995年成为全球第一大源代码RTOS厂商■1996年选定旋极科技公司为其中国大陆及香港地区独家代理商■1997年公司员工数量为82人,成为美国大型的RTOS厂商■1998年NET4.2成功推出■1998年成功推出机顶盒方案和OSEK汽车电子方案■1999年推出WebBrowser浏览器■1999年ATI公司员工数量为150人,已成为美国成长速度最快的嵌入式操作系统公司■2000年NET4.4成功推出,完善了NUCLEUS的网络模块二、Nucleus PLUS的特点:Nucleus PLUS 是为实时嵌入式应用而设计的一个抢先式多任务操作系统内核,其95%的代码是用ANSIC写成的,因此非常便于移植并能够支持大多数类型的处理器。
从实现角度来看,Nucleus PLUS 是一组C函数库,应用程序代码与核心函数库连接在一起,生成一个目标代码,下载到目标板的RAM中或直接烧录到目标板的ROM中执行。
在典型的目标环境中,Nucleus PLUS 核心代码区一般不超过20K字节大小。
Nucl eus PLUS 采用了软件组件的方法。
每个组件具有单一而明确的目的,通常由几个C 及汇编语言模块构成,提供清晰的外部接口,对组件的引用就是通过这些接口完成的。
计算机专业英语教案第3章

第3章Software Knowledge3.1 Data Structures3.2 Operating System3.3 Programming Languages3.4 Software Engineering3.5 Software Testing and Maintenance3.2 Operating System•The purpose of an operating system is to provide an environment in which a user may execute programs.•Operating systems exist because they are a reasonable way to solve the problem of creating a usable computing system.•The primary goal of an operating system is convenience for the user.• A secondary goal is efficient operation of the computer system.Resource Management•The operating system provides the means for the proper use of these resources in the operation of the computer system.•We can view an operating system as a resource allocates.•The operating system sets up the order in which programs are processed, and defines the sequence in which particular jobs are executed•I/O Management•To facilitate execution of I/O operations, most operating systems have a standard set of control instructions to handle the processing of all input and output instructions.•These standard instructions, referred to as the input/output control system (IOCS), are an integral part of most operating systems. •The controlling software calls on the IOCS software to actually complete the I/O operation.Classification of Operating Systems• A single-user operating system expects to deal with one set of input devices—those that can be controlled by one user at a time.• A multi-user operating system is designed to deal with input, output, and processing requests from many users-all at the same time.• A network operating system provides communications and routing services that allow computers to share data, programs and peripheral devices.• A multitasking operating system provides process and memory management services that allow two or more programs to run simultaneously.•All modern operating systems are multitasking and can run several processes simultaneously.• A desktop operating system is one that is designed for a personal computer—either a desktop or notebook computer.•3.3 Programming Languages• A programming language or computer language is a standardized communication technique for expressing instructions to a computer.• A language enables a programmer to precisely specify what data a computer will act upon, how these data will be stored/transmitted, and what actions to take under various circumstances of cases. •Programming languages are important tools for helping software engineers write better programs faster.Procedural programming and Object-oriented programming •Procedural programming involves using your knowledge of a programming language to create computer memory locations that can hold values and writing a series of steps or operations that manipulate those values.• A single procedural program often contains hundreds of variable and thousands of procedure calls.•Object-oriented programming is an extension of procedural programming in which you take a slightly different approach to writing computer programs.•Writing object-oriented programs involves both creating objects and creating applications that use those objects.Machine Language•An executable program is a sequence of extremely simple instructions known as machine code.•Machine code instructions are binary—that is, sequences of bits (0s and 1s).•Because these numbers are not understood easily by humans, computer instructions usually are not written in machine code. Assembly Language•Assembly language uses commands that are easier for programmers to understand than are machine-language commands. •Each machine language instruction has an equivalent command in assembly language.•Assembly language is sometimes inserted into a high-level language program to carry out specific hardware tasks or to speed up a high-level program.High-Level Languages•If the computer could translate convenient symbols into basic operations, why couldn’t it also perform other clerical coding functions?• A high-level programming language is a means of writing down, informal terms, the steps that must be performed to process a given set of data in a uniquely defined way.•The high-level languages are often oriented toward a particular class of processing problems.Compiler and Interpreter• A complier is a program that translates source code into object code.•Every high-level programming language comes with a compiler. •Because compilers translate source code into object code, which is unique for each type of computer, many compilers are available for the same language.•An interpreter translates high-level instructions into an intermediate form, which it then executes.•The advantage of an interpreter, however, is that it does not need to go through the compilation stage during which machine instructions are generated.•3.4 Software Engineering•Software engineering is the application of tools, methods, and disciplines to produce and maintain an automated solution to a real-world problem.•Software engineering first emerged as a popular term in the title ofa 1968 NA TO conference held in Garmisch, Germany.• A large-scale software projects spans a considerable period of time.A number of distinct phases can be identified over this period oftime. Together, these make up what is known as the “software life cycle”.The software life cycle•Requirements definition: The requirements of the software are established and specified.•Design: A design is developed from an analysis of the requirements.•Implementation: The design is coded in a particular programming language on a particular machine.•Testing: The implemented system is tested to see that it meets the specified requirements.•Operation and maintenance: The system is installed and used.Errors found must be repaired.Requirements definition•The first phase, requirements definition, refers to the period during which the requirements of the system desired, that is, it’s functional characteristics and operational details, are specified.•The input to this phase is the stated (often rather loosely stated) needs for the software.•Typically, a “requirements document” is the output of thi s phase, a set of precisely stated properties or constraints that the final product must satisfy.•As with any of the phases, it is important that errors not be allowed to move into subsequent phases.Design•The second phase, design, is predominantly creative, while some would argue that creativity is inherent and cannot be trained or improved, it can certainly be enhanced by the use of good procedures and tools.•The input to this phase is a (debugged and validated) requirements document: the output is a design expressed in some appropriate form (for example, pseudo-code).•Each requirement in the requirements document must have a corresponding design fragment to meet it.Implementation•The third phase, implementation, is the actual coding of the design developed in the second phase.•The lure of this phase is strong, and many a foolhardy programmer has been drawn to it before adequately laying the groundwork in the first two phases.•As a result, requirements are incompletely understood and thedesign is flawed.•The implementation proceeds blindly, and many problems arise asa result.Testing•The fourth phase, testing, is concerned with demonstrating the correctness of the implemented program. Inevitably some testing is performed as part of the previous two phases as well.•Any experienced programmer mentally tests each line as it is produced and mentally simulates the execution of any module prior to any formal testing stage.• A “successful” test run means only that no errors were uncovered with the particular circumstances tested; it says nothing about other circumstances.•In theory, the only way that testing can show that a program is correct is if all possible cases are tried (known as an exhaustive test), a situation technically impossible for even the simplest programs.Program maintenance•The fifth phase is program maintenance phase. Student programmers, unfortunately, rarely become involved in this phase. •Its importance in the real world, however, cannot be overemphasized, since the cost of maintaining a widely usedprogram can match or exceed the cost of developing it.•Unlike hardware maintenance, software maintenance deals not with repair of deteriorated components, but with repair of design defects, which may include the provision of added functions to meet new needs.。
《计算机导论》(第2版)习题答案参考

《计算机导论》(第2版)习题答案参考计算机导论(第2版)习题答案参考Chapter 1: Introduction to Computers1. Define a computer and discuss its attributes.A computer is an electronic device capable of performing various operations and processes based on a set of instructions. Its attributes include the ability to input, process, store, and output information, as well as the capability to execute complex calculations and perform tasks.2. Differentiate between hardware and software.Hardware refers to the physical components of a computer system, including the central processing unit (CPU), memory, storage devices, input/output devices, and peripherals. Software, on the other hand, represents the non-tangible parts of a computer system, such as programs and data that can be stored and executed by the hardware.3. Explain the concept of data representation and discuss different numbering systems used in computer systems.Data representation refers to the way data is stored and processed by a computer. Different numbering systems include the binary system (base-2), decimal system (base-10), octal system (base-8), and hexadecimal system (base-16). Each system has its own set of symbols and rules for representing numbers and characters.Chapter 2: Computer Hardware1. Discuss the major components of a computer system.A computer system consists of several major components, including the central processing unit (CPU), memory, storage devices, input/output devices, and peripherals. The CPU is responsible for executing instructions and performing calculations, while memory stores data and instructions temporarily. Storage devices are used for long-term data storage, andinput/output devices allow users to interact with the computer system.2. Describe the functions and characteristics of the CPU.The CPU is the central processing unit of a computer system and is responsible for executing instructions and performing calculations. It consists of two main components: the control unit, which manages the execution of instructions, and the arithmetic logic unit (ALU), which performs calculations and logical operations. The CPU's performance is determined by factors such as clock speed, cache size, and number of cores.3. Explain the different types of memory in a computer system.A computer system typically has two main types of memory: primary memory (RAM) and secondary memory (storage devices). RAM, or random access memory, is used for temporary data storage and is volatile, meaning its contents are lost when the power is turned off. Secondary memory, such as hard disk drives and solid-state drives, provides long-term storage for data even when the power is off.Chapter 3: Operating Systems1. Define an operating system and discuss its functions.An operating system is a software that manages computer hardware and software resources. Its functions include providing a user interface, managing memory and storage, coordinating the execution of applications, handling input/output operations, and ensuring system security and stability.2. Explain the difference between a single-user and multi-user operating system.A single-user operating system is designed to be used by one user at a time. It provides a user interface and manages the resources on the computer for the sole user. A multi-user operating system, on the other hand, allows multiple users to access the system simultaneously, sharing resources and executing their own programs concurrently.3. Discuss the concept of virtualization and its advantages.Virtualization is the process of creating a virtual version of a computer system or resources. It allows multiple operating systems to run on a single physical machine, enabling better resource utilization, cost savings, and improved flexibility. Virtualization also provides isolation between different virtual machines, enhancing security and system stability.In conclusion, this article provides a brief overview of the topics covered in the second edition of "Introduction to Computers." It includes explanations and answers to selected exercises, helping readers understand the fundamental concepts of computer science and technology. By studying these topics, readers can gain a strong foundation in computer knowledge and skills.。
计算机专业英语复习资料

阅读理解一、Fill in the blanks with suitable words or expressions from the list given below, and change the form where necessary. (从下面方框中选择合适的词或表达,以其适当的形式填空。
)1.A programming language, designed to facilitate the communication between human and computers, is a _____ notation _____ for describing computation in readable form. There are 3 levels of programming languages, they are____ machine language__ , which can be run directly by computer; __assembly language___ and _high-level language___. There are different high-level programming languages. Fortunately, most of them have many kinds of construct in common and vary only in the way that these must be __written ___ . Therefore, first thing to be decided about a task is to choose which programming language is best suited for the job.2.The central processing unit (CPU) is the heart of the computer systems. It is the most complex computer system component, responsible for directing most of the computer system activities based on the instructions provided. The CPU comprisesthe control unit and the arithmetic / logic unit (ALU) . The control unit is responsible for directing and coordinating most of the computer systems activities. The ALU performs all the arithmetic and logical (comparison) functions — that is, it adds, subtracts, multiplies, divides, and does comparisons.3.Microsoft Word XP is the current Window version of Word, and documents created in Word XP can be easily _ incorporated into Excel, Power Point and Access files. In the interface of Word, the _ title bar __ displays the name of the current application and name of the current document; the __ menu bar lists the names of the menus available; the ___ toolbar gives the user quick access to frequently used editing functions; the __ ruler enables the user to change left and right margin. 4.Software Engineering, which means the application of engineering to software, is a method to develop, operate and __ maintain _ software. That is, the development of software is on a systematic, __ disciplined ____, quantitive basis. Before starting the development of software, you have to systematically approach the problem. You have to understand the __ requirements (what the software is supposed to do), carry out the design, do the __coding ___, carry out a rigorous testing and if the software is as per the requirements, release the software to the customer. Subsequently, if the customer wants二.根据上文的内容判断下列句子的正误(1).The central processing unit (CPU) is the heart of the computer systems. Among other things, its configuration determines whether a computer is fast or slow in relation to other computers. The CPU is the most complex computer system component, responsible for directing most of the computer system activities based on the instructions provided. As one computer generation has evolved to the next, the physical size of the CPU has often become smaller and smaller, while its speed and capacity have increased tremendously. Indeed, these changes have resulted in microcomputers that are small enough to fit on your desk or your lap.The CPU comprises the control unit and the arithmetic / logic unit (ALU).The control unit is responsible for directing and coordinating most of the computer systems activities. It determines the movement of electronic signals between main memory and the arithmetic/logic unit, as well as the control signals between the CPU and input/output devices.The ALU performs all the arithmetic and logical (comparison) functions — that is, it adds, subtracts, multiplies, divides, and does comparisons. These comparisons, which are basically ―less than‖, ―greater than‖, and ―equal to‖, can be combined into several common expressions, such as ―greater than or equal to‖. The objective of most instructions that use comparisons is to determine which instruction should be executed next.Tell whether the following statements are true(T) or false(F) according to the passage A.(根据上文的内容判断下列句子的正误)1.With the development of computer, the physical size of the CPU has often become bigger and bigger.( F)2.The movement of electronic signals between main memory and the ALU as well as the control signal between the CPU andinput /output devices are controlled by the control unit of the CPU.( T)3.The CPU comprises the control unit and memory. ( F )4.The control unit performs all the arithmetic and logical (comparison) functions。
操作系统名词解释

操作系统名词术语解释操作系统引论中的名词术语1.脱机输入输出(off—line input/output) 指在外围计算机的控制下,实现程序和数据的输入输出;或者说它们是脱离主机进行的,故称为脱机输入输出。
2.联机输入输出(on—line input/output) 指在主机直接控制下,进行输入输出操作的工作方式,称为联机输入输出。
3.批处理技术(batch processing technic) 指在管理程序的控制下,对一批作业自动进行处理而不需人工干预的一种技术。
该技术旨在提高系统的吞吐量和资源利用率。
4.多道程序设计(multiprograming) 指在内存中同时存放若干个作业,并使它们同时运行的一种程序设计技术。
在单处理机环境下,仅在宏观上这些作业在同时运行,而在微观上它们是在交替执行。
即每一时刻只有一个作业在执行,其余作业或处于阻塞状态,或处于就绪状态。
5.操作系统(operating system) 操作系统是控制和管理计算机硬件与软件资源,合理地组织计算机的工作流程,以及方便用户的程序的集合。
其主要功能是实现处理机管理、内存管理、IO设备管理、文件管理以及作业管理。
6.系统吞吐量(system throughput) 指系统在单位时间内所完成的作业数目。
7.作业周转时间从作业进入系统开始,到作业完成并退出系统所经历的时间。
8.分时操作系统(time- sharing operating system) 指允许若干个联机用户,通过各自的终端同时使用一台计算机的操作系统。
为实现人-机交互,系统把处理机时间分割成若干时间片后,轮流为每个终端分配一个时间片运行其作业。
即让每,个终端作业运行一个时间片后,便暂停其运行而把CPU再分配给下一个终端作业,也运行一个时间片。
这样,在不长的时间(2—3秒)内,将会使每个终端作业都能执行一次,从而使所有终端的用户请求,都能获得及时响应。
8.实时操作系统(real—time opearting system) 指系统对特定输入做出反应的速度,足以控制发出实时信号的对象的一种操作系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Paper Title:
Deible traffic controller for ATM connections in a Multi-Tasks Operating System
Abstract The emphasis in this paper is on the traffic control at an ATM end source. The purpose of locally controlling a source is the improvement of the TCP performances over ATM. We argue the need of a policing mechanism less stringent than the Generic Cell Rate Algorithm proposed by the ITU. A more flexible and liberal method which is suitable for providing performance guarantees in high speed networks is proposed in this paper. We present the results obtained by the implementation of this method in a multi-tasks environment. We show how we can obtain reasonable bandwidth utilization while remaining conform to the traffic contract limitations. Moreover, we present how this method achieves simplicity of implementation as well as flexibility in the allocation of bandwidth to different connections.
Design and Implementation of a flexible traffic controller for ATM connections in a Multi-Tasks Operating System
Abstract The emphasis in this paper is on the traffic control at an ATM end source. The purpose of locally controlling a source is the improvement of the TCP performances over ATM. We argue the need of a policing mechanism less stringent than the Generic Cell Rate Algorithm proposed by the ITU. A more flexible and liberal method which is suitable for providing performance guarantees in high speed networks is proposed in this paper. We present the results obtained by the implementation of this method in a multi-tasks environment. We show how we can obtain reasonable bandwidth utilization while remaining conform to the traffic contract limitations. Moreover, we present how this method achieves simplicity of implementation as well as flexibility in the allocation of bandwidth to different connections.
Corresponding Authors: Name : LAMTI Leila. E-mail : mti@enst-bretagne.fr. Name : AFIFI Hossam. E-mail : Hossam.Afifi@enst-bretagne.fr. Affiliation: Ecole Nationale Supérieure des Télécommunications - Département RSM. Address: 2, Rue de la châtaigneraie , BP 78, 35512 Cesson Sévigné, FRANCE . Phone Number: (+33) 99.12.70.46 New phone number after October 19: (+33) 2.99.12.70.46 Fax: (+33) 99.12.70.30 New fax number after October 19: (+33) 2.99.12.70.30
Submission to:
Workshop on Resource Allocation Problems in Multimedia Systems
Held in conjunction with the 17th IEEE Real-Time Systems Symposium December 3, 1996, Washington, DC
1 Introduction:
High speed ATM networks in both local and wide environments start supporting per-connection end-to-end performance guarantees expressed in terms of delay, throughput and loss rate bounds [13]. Delivering this QoS to users such as computer applications or video displays (through VOD) raises however number of problems that still have to be considered. These problems are scattered in different protocol layers ranging from the application level down to the hardware interface through the conventionnal stack of protocols. They are also caused in a different plane, by the operating system and the interaction of task scheduling with flow control. Problems found in the protocol stack have different nature. In the application layer we face ergonomic factors like the choice of the best bandwidth for a Web session. Resource sharing among users is also an important issue in the presence of a service guaranteed network. These problems are beyond the scope of this paper. Related work can be found in [5]. Interaction of the transport layer flow control and the ATM one is also an important subject. Several contributions have for example proved that TCP protocol flow control is incompatible with ATM rate based flow controls like CBR or VBR. Proposals for new transport protocols and adjustments to existing ones can be found in [4]. Although network layer does not affect directly traffic management through specific flow control algorithms, we find in some situations a contradiction between the need to offer a guaranteed QoS and the inherent role of multiplexing usually found in this layer. A typical example of such a case can be encountered in the IP over ATM solution where TCP and UDP traffic from different applications is multiplexed on virtual channels according to their destination. In such a solution, many problems of performance guarantees can be encountered. In fact, at the IP level, packets from different connections will interact with each other; without proper control, these interactions may adversely affect the QoS guarantees desired by each source. On the other hand, the congestion control mechanism implemented within ATM networks rely on admission control, resource reservation and scheduling schemes [11]. Resource reservation schemes manage the allocation of the resources at each of the nodes so that per-node QoS requirements can be met for each connection. With only these control mechanisms, QoS requirements can’t be satisfied. This is due to the fact that the users may attempt to exceed the QoS limits specified at the connection establishment within the traffic contract. In fact, it is to be noted that since users (e.g. workstations) have a physical access offering a bandwidth much larger than what they probably will “buy” in terms of traffic contract parameters, it is an important task to control at the user side that no violations are committed before data can be sent to the network. The need of traffic enforcement and shaping at the edges of the network become consequently important. We propose in this paper a solution to the implementation of traffic shaping at the user’s side in order to check that their flow’s characteristics remain conform to the declared values throughout the duration of the connection. The rest of this paper is organized as follows: