Unix???????? PowerPoint PPT Presentation

presentation player overlay
1 / 25
About This Presentation
Transcript and Presenter's Notes

Title: Unix????????


1
Unix????????
???
2
Unix??
  • 1965??ARPA????MIT???????????????????????????,???
    ???????????????????????MULTICS (MULTiplexed
    Information and Computing Service )
  • MULTICS?????
  • ?????????????????????????
  • ???????????????????????????????????

3
Unix??
  • MULTICS????????????,??????????????,1969?4????????,
    ????????????,MIT????,MULTICS????,???????(????????
    ????????)??MULTICS?????????????????(???????2000?10
    ?30?1708)
  • MULTICS????????????????????,???????????UNIX???????
    ???

4
Unix??
  • ?????????Unix???
  • 1969?,?????MULTICS?????,Ken Thompson?Dennis M.
    Ritchie ???????DEC PDP-7?,???????MULTICS?????????
    ???
  • ????????PDP-7?????,?????????????????????,?????????
    ????shell ?????
  • 1970?,??????,????????MULTICS??????UNIX
  • 1973?,UNIX?C??????,??,UNIX???
  • 1977?,Unix????????????PDP-7??

5
Unix??
  • UNIX???????????Unix?????????????????????????????.
  • ??UNIX???????
  • ??,??UNIX??C????,????????,UNIX???????????????PC???
    ???????????????
  • ??,?????????,???????????
  • ??,????????,??????????????????????????

6
Unix???
  • 1983????
  • 1999?????????

Ken Thompson Dennis
Ritchie
7
Unix???
8
????
9
?????????
10
??
./copy pan.c haiwei.c vi copy.c
(Shell)
fork()
exec(vi)
????????????,???????,?????????????????????????
11
??
./copy pan.c haiwei.c vi copy.c
(Shell)
fork()
exec(vi)
???????????????,???????,???????????????,??????
12
??
./copy pan.c haiwei.c vi copy.c
(Shell)
fork()
exec(vi)
????????????????,namei(/usr/bin/vi)?????????
13
??
./copy pan.c haiwei.c vi copy.c
(Shell)
fork()
exec(vi)
??????????????
14
??
(Shell???)
???
???
??
copy.c
???
???
??
vi
15
??
(Shell???)
???
???
??
???
???
??
copy.c
vi????
16
??
vi-1????
U?-1
??
????
???I
???I
??I
? ? ?
???
???I
??I

???
??
???
???I
??I

???
??
vi-1

vi
???
???
??
U?
vi????
17
??
./copy pan.c haiwei.c vi copy.c
(Shell)
fork()
exec(vi)
18
??
./copy pan.c haiwei.c vi copy.c
?????
namei(copy.c)
pan.c

copy.c
???????
?
?
open()
19
??
./copy pan.c haiwei.c vi copy.c
?????
namei(copy.c)
pan.c

copy.c
???????
?
?
open()
20
??
./copy pan.c haiwei.c vi copy.c
?????
???
???? ????
pan.c


pan.c
Wei.c
Copy.c
hai.c
Pan.c

copy.c
?
?
vi
pan.c
copy.c
namei()
vi-1
pan.c
vi-2
21
??
./copy pan.c haiwei.c vi copy.c
  • include ltfcntl.hgt
  • char buffer 1024
  • int main(int argc, char argv)
  • int fdold, fdnew, count
  • fdoldopen(argv1, O_RDONLY)
  • fdnewcreat(argv2, 0666)
  • while((count read(fdold, buffer,
    sizeof(buffer)))gt0)
  • write(fdnew, buffer, count)

22
??
gcc o copy copy.c ./copy pan.c haiwei.c
  • include ltfcntl.hgt
  • char buffer 1024
  • int main(int argc, char argv)
  • int fdold, fdnew, count
  • fdoldopen(argv1, O_RDONLY)
  • fdnewcreat(argv2, 0666)
  • while((count read(fdold, buffer,
    sizeof(buffer)))gt0)
  • write(fdnew, buffer, count)

23
??
24
(No Transcript)
25
? ?
Write a Comment
User Comments (0)
About PowerShow.com