AT&T


We offer a wide variety of products/services. Enjoy to know our catalog of products/services.


Come in today and ask our associates how you can get the iPhone 8 and Apple TV for free! The iPhone 8 introduces an all?new glass design. The world's most popular camera, now even better. The smartest, most powerful chip ever in a smartphone. Wireless charging that’s truly effortless. And augmented reality experiences never before possible. iPhone 8. A new generation of iPhone. The iPhone X is an iPhone that is entirely screen. One so immersive the device itself disappears into the experience. And so intelligent it can respond to a tap, your voice, and even a glance. Say hello to the future. Visit your local AT&T store to learn more today!


Music The usual way to get a large computer application developed involves a big team of people working in close coordination. Most of the time they take a long time, they cons So everybody in the computing business is constantly searc There aren't But there are some t A good programming environment helps a lot, and in the next few minutes we're going to show you some of the properties of the Unix operating system that make it a good programming environment for many purposes. In Bell Labs, as in many industries, almost everyone has some kind of involvement with software. Either they are actually producing software, and that is their job, or they are impacted by software, or they use software. In fact, at Bell Labs about 50% of the people are actually producing software, and everyone else has some kind of involvement with it. In fact, that's one of our worst problems today, because there is a crying need for useful software to do effective jobs. We just do not have enough people to write all of that software. Keeping large amounts of software working, and keeping it working in the face of change is a big job. It takes a lot of skilled people to do t Now, software is different from hardware. When you build hardware and send it out, you may have to fix it because it breaks, but you don't demand, for example, that your radio suddenly turn into a television. You don't demand that a piece of hardware suddenly do a completely different function, but people do that of software all of the time. There is a continual demand for changes, enhancements, new features that people find necessary once they get used to a system. In other words, we put the system out there, people get used to it, their jobs change, and they come back with more demands for different sorts of features in the system. The result is there is no way to get perfect requirements in the first place, and that means that we have to build the software to be very change tolerant, because we do not want to throw the software away the year after we wrote it. There are a couple ways to do that. One is to make the software fairly clear and easy to read and understand and change, and you do that with some of the current popular structured programming techniques. Another way is to write many, many small modules of code. That way, when you have a change, perhaps you only throw out a few small modules or make changes in a few modules rather than in thousands and thousands of lines of code. What we should be doing in the computing business is trying to raise the level at w That way, when changes need to be made, one just changes a few lines of code rather than thousands and thousands of them. In the Myt Clearly, nobody is going to do that sort of t Someone once said that software stands between the user and the mac There's certainly a grain of truth in the remark If you stop to look, many, many operating systems seem to spend a substantial fraction of their time and effort, not in helping you, but in impeding you, in making your job difficult, sort of providing obstacles to be overcome. When Ken Thompson and Dennis Ritc Thompson and Ritc The Unix system is made up sort of three layers, if you The central layer, the kernel, is the then wrapped around that, at least conceptually, is somet It sits there and waits for you to type commands at it and then it interprets them. And then around that, sort of yet another layer are useful programs, things like editors and compilers for programming languages and doc And what you can do is to t And the the system is very flexible in that respect. I t If the system is, you can take a bunch of programs, two or more programs, and stick them together end to end so that the data simply flows from the one on the left to the one on the right. And the system itself looks after all of the connections, all of the synchronization, making sure that the data goes from the one into the other. The programs themselves don't know anyt Now let me give you an example of how the system, as I mentioned, is used a lot for doc Programs for helping you type letters or produce technical papers or write books. In all of those t So let'see how we could use some of these building block notions in practice to help you develop a program for finding spelling mistakes. Suppose I take a sentence. T If you look at it carefully, you'll see that there are actually a couple of spelling mistakes in there. Now, suppose that we wanted to find the spelling mistakes using a mac How would we do that? Well, basically what we would do, the simplest t And every time we find a word w Now, how do we do that? What I want to show is that you can do that using just existing UNIX programs, just gluing them together to get the job done. Suppose that we say, first we'll take a program called Make Words, and we'll run that on the sentence. Now, what that does is to break the t Now, I'll take the output and I'll pipe it into another program, w The reason I want to convert it into lower cases is that my dictionary doesn't have any capitalizations, and so words Now, the next t And so it's a lot easier for me to compare the words of my doc So I'm going to just run them into sort. And finally, if you look at it carefully, it doesn't show up very easily here, but there are, in fact, there is a duplicate word there. Systems appears twice, and in a real doc So let's throw that through another program called UNIX. So what we've got so far is we've got the words of my doc So there's only one word, one instance of each different word. And then what I'm going to do is run it into one last program called Mismatch, which will simply print all of the words that came down this pipeline and print out the ones that were in the doc So what we have here is five separate programs cooperating to do t Now, if you look at the list that came out, you'll see that indeed we got laboratories and provide, w Of course, we got two other words as well, and time-sharing is not a spelling mistake, but it's a perfectly fine example of technical jargon, the sort of t It means not In other words, UNIX is a fine example of somet So what do we do? First, we take the misspelled words and we go back to the original doc Secondly, we take the words that, like time-sharing and UNIX, that are not spelling mistakes but which showed up here, and we put them back into our dictionary so that the next time somebody has a doc So we've not only done our own job, but we've improved the tool that we're using in the process. So you notice that I did that whole job without writing any programs at all. The whole t And I t During the last decade, we have discovered a n Many of these algorithms have been developed using insights obtained from theory, obtained by studying automata and language theory, as our knowledge of pattern-matc UNIX systems have many features w These include formatless files, the O. All of these the heart of the system is really the file system, the ability to store information for extended periods of time. And one of the reasons the system works as well as it does is that the file system is well designed, and in many systems you have to say an awful lot about a file before you can do anyt You have to say where it is and how big it is and what kind of information that's going to be in it. All kinds of t Here, you don't have to do any of that. A file is as big as it is, it doesn't matter where it is as long as And so you basically don't have to t When you want information in a file, you put it there, when you want it back, you get it out again, and you don't have to think about size or n For most purposes, it's utterly irrelevant. A file is simply a sequence of bytes. Its main attribute is its size. By contrast, in more conventional systems, a file has dozens or so attributes. To specify or create a file, it takes endless amounts of c If you want a Unix system file, you simply ask for a file and you can use it interchangeably wherever you want a file. The Unix system consists of and t When you log into a Unix system, you normally are sitting in a place that's called your home directory, your user's directory. And I can say pwd, w It says at the moment that I'm in user bwk. And that's where I start when I log in. Now, I can go up a level in that. I can change to parent level, and now if I print my working directory, I'm in slash user. And I can go up one more level to the root of the whole file system. Let me go back down to bwk, and I can list the files that I have in that directory. And I find there, among other t And I can list the files that are there, and I'll find, among other t Let me look at that, and sure enough, there it is. So as you can see, the file system The Unix system interface for most people is through a program called the shell, or the command interpreter. And basically, it'simply a program that watches what you type and treats it as request to run particular programs. Now, there's not The programs that you run are actually just the names of files in the file system. The shell searches in the file system in a particular way to find a file whose name is the name of the program that you t And in fact, it's not possible for you as a user just by executing a program to tell how that particular program has been implemented. For example, it might have been written in a language What Brian did earlier was he typed all the commands, the five program names, for Now, that's nice except that you may want to check doc So it's possible to put all of these commands in a file and tell the shell, when I type the name of that file, I want you to execute the commands that are inside that file. Let me show you an example of t We have a program called spline, which fits curves to a set of data points, and I've got a set of five data points that we're going to see what the curve looks I'm going to run spline through a program that turns t I only need to type plot and data because inside the file plot is the string of commands. And here is the result of plotting those five data points on the ability to put commands in files and only have to type the file name to get these commands executed makes the computing business a lot easier. Often you're doing t Another nice feature of the Unix programming environment is the concept of input-output redirection. Normally when you type a command, the output from it goes to your terminal, and the input comes from your keyboard. However, the shell can be told by a simple notation that when you run a program, you wish the output to be directed into a file or that the input be taken from a file. For example, to print the output of my spelling program on the line printer instead of putting it on my terminal, all I have to do is say myspell sentence greater than device line printer rather than myspell sentence, and the output goes into a file, what looks On many systems, redirection of input and output is literally impossible because the programs have wired into them the notion that they have to read or write the user's terminal, and there'simply no way to convince them otherwise. They have to do that. Here, that is not the case. Here, any program can have its input or output redirected because the input and output redirection is handled not by the individual program but by the shell, and so that way it applies to all programs without any exception at all. And in fact, t For example, the line printer and the tape drive and even the thing that dials telephone n The same program exactly. A good operating system is easiest for a programmer to use if the programming language fits with the style of the system. So along the way in the course of the unique system development, Dennis Ric C is a very nice The t But you're not forced to do that, and that's important because that means you can write operating systems in the unique system has been moved to many, many different kinds of computers. Again, that means that people can ignore the details of what a mac Now, so at that level, C is by far the favorite language. At the next level, the shell programming language is very popular. Back on some mac They are writing lots of procedures to help them manage their work. They don't even have to go to a language at the level of C. As it happens though, because the system is such a pleasant programming environment, programmers all over the world have imported or added their own languages. So for instance, you can find Fortran, Algal, Lisp, Basic. In fact, almost any language you can t What's important about the Unix system is not so much what Ric Rather than produce a large n T For example, as the scale of integration of silicon circuits gets ever larger, we find it necessary to have more and more sop Their existing design aids are advanced and effective, but advances in VLSI create a need for even better tools. Rather than produce those tools in the form of one h Then these individual packages can be combined using shell procedures to design a part of a circuit or a circuit, and the parts of a circuit can be combined to make a whole circuit. Steve Johnson is one of the people who has been involved in t He is currently working on a program called LGen w Because tool building is such a way of life on the Unix system, over the years we've developed tools that actually help us make other tools. These involve things These tools have been used in the development of LGen and many other applications. Here we see the Boolean equations for a simple header. Down here we have the equations for the carry out and the s In the middle we have some descriptions as to how we would You see we would The input equations first have to be processed so that they can be more easily represented in silicon. T Input language, the Boolean equations, are read and processed by a program called YACC, which was originally developed to help us build compilers, but has in fact been used in a large n YACC is based on theory of LALR1 parsing. It builds a small finite state mac After these equations have been processed, it's then necessary to worry about the geometric layout of the circuit. The first program worries about the ordering of these col It uses a technique called graph partitioning to attempt to iteratively come up with a good solution to what is in fact an extremely difficult problem in theory. After the col And finally, in some sense we now have the circuit designed, and it'simply a question of realizing it with the particular rules for our fabrication process. And that is done by a fourth program. Again, we have an example of taking a very complex problem, dividing it into pieces, representing each piece with a separate program, and then using the facilities of the Unix system to glue the pieces together into a coherent whole again. Computing is going to be more and more interwoven with people's lives as the years go by, so computer technology is going to have to evolve to be easier for people to use. The Unix system is not the end of the road in thank you. Thank you.

Business Details

show address

show phone

go to website

Map
Hours
Mon 10:00 AM - 08:00 PM
Tue 10:00 AM - 08:00 PM
Wed 10:00 AM - 08:00 PM
Thu 10:00 AM - 08:00 PM
Fri 10:00 AM - 08:00 PM
Sat 10:00 AM - 08:00 PM
Sun 11:00 AM - 06:00 PM