Microsoft PowerPoint - o3.pptx

Size: px
Start display at page:

Download "Microsoft PowerPoint - o3.pptx"

Transcription

1 3 장. 프로세스

2 프로세스관리 3장 프로세스 (Process) 4장 쓰레드 (Thread) 5장 프로세스동기화 (Synchronization) 6장 CPU 스케쥴링 2

3 목표 프로세스개념 프로세스는실행중인프로그램으로모든계산의기반이됨 프로세스의여러특성 스케쥴링, 생성및종료등 프로세스간통신 공유메모리 (shared memory), 메시지전달 (message passing) 클라이언트-서버시스템에서의통신 3

4 3.1 프로세스개념 CPU activity를부르는명칭 Batch 시스템 작업 (Job) Time-shared 시스템 User program, Task, Process Job, Task, Process 용어는거의같은의미로사용됨 프로세스 - 실행상태에있는능동적개체, 연관된자원사용 프로그램코드보다더많은부분을포함 메모리 : code + data + stack + heap CPU : program counter(pc) + registers 프로세스관리용자료구조 : 프로세스제어블록 (PCB) 프로그램 디스크에파일로저장된수동적개체 프로그램파일 = 코드 (text section) + 초기화데이터 + 헤더정보등 4

5 프로세스와프로그램 program in disk header code 초기화 data executable file - a.out - prog.exe process in CPU PC regs process in memory stack : 임시데이터저장 - 함수매개변수 - return 주소 - 지역변수 heap : 실행시간동안에동적할당되는메모리 data section : 전역변수 초기화전역변수 (data) 비초기화전역변수 (bss) text section 프로그램코드 5

6 프로세스와프로그램 여러개의프로세스가같은프로그램사용가능 text section 은같음 같은메모리공유, 개별적인실행시퀀스 data/stack/heap section 은다름 프로세스마다개별적인메모리할당 CPU process1 PC regs process2 PC regs memory code data stack data stack shared by two processes process1 process2 6

7 프로세스상태 프로세스상태 프로세스의현재활동을나타내며, 실행하는동안상태변화가발생함 프로세스상태의종류 생성 (new) 프로세스가생성중임 실행 (running) 명령어가실행되고있음 대기 (waiting) 어떤사건 ( 입출력완료, 신호수신등 ) 발생을기다림 준비 (ready) 프로세스가실행할준비가됨 CPU의할당을기다림 종료 (terminated) 프로세스의실행이종료됨 종료후처리를기다림 프로세스상태이름과종류는운영체제마다차이가있다. 7

8 프로세스상태도 preemption (timeout) time interval message event occurs request grant (blocked) resource request 한 CPU 에서는어떤순간에한프로세스만실행될수있다. 많은수의프로세스가 ready 또는 waiting 상태일수가있다. 프로세스가다른프로세스에의해서종료되면 프로세스는 ready 또는 waiting 상태에서 terminated 상태로이동될수있다. 8

9 프로세스제어블록 (PCB) 프로세스제어블록 (Process Control Block) 프로세스에대한정보를포함하는 OS 커널의자료구조 태스크제어블록 (task control block) 이라고도함 프로세스 context 프로그램의실행상태정보 실행시간동안변경가능 CPU context, Memory context 등 CPU context PC registers Memory context 9

10 PCB 정보 PCB 정보 Process state Program Counter(PC) CPU registers Memory-management 정보 (7 장 ) CPU scheduling 정보 (6 장 ) I/O status 정보 the list of allocated I/O devices the list of I/O requests the list of open files Accounting information process number(id), account number CPU time, time limit,... CPU context 10

11 ( 예 ) 리눅스에서의 Process 표현 struct task_struct... 모든 active process 는 task_struct 자료의 doubly link list 로관리됨 11

12 프로세스간에 CPU switch scheduler CPU contexts task switching scheduler task switching 12

13 3.2 프로세스스케쥴링 스케쥴링의필요성 multiprogramming CPU 이용률극대화 time sharing 사용자와의상호작용 빈번한 CPU 스위칭 프로세스스케쥴링 Queue Job queue: 모든프로세스들의집합 Ready queue: ready 상태의프로세스들의집합 ( 메모리에위치 ) Device queues: 특정 I/O 장치사용을대기하는프로세스들의집합 일반적으로 linked list로저장 프로세스들은실행동안여러 queue들사이에서이동함 프로세스가종료되면 queue에서제거되며할당된자원과 PCB도반납 (deallocate) 함 13

14 Ready Queue 와여러 I/O Device Queues ready queue device queues 14

15 프로세스스케쥴링에대한 Queueing initial dispatch terminate child termination create a new process 15

16 프로세스의 Queue 들간의이동 queue migration Waiting Queue 16

17 스케줄러 스케줄러 queue 간에이동할프로세스를선택하는역할을담당 장기 (Long-term) 스케줄러 (job scheduler) disk pool에서 ready queue로이동시킬프로세스를선택 batch systems에서사용 단기 (Short-term) 스케줄러 (CPU scheduler) 스케줄러 다음에실행시킬프로세스를선택하여 CPU를할당함 중기 (Medium-term) 스케줄러 time-sharing system에서추가된중간레벨의스케줄링 메모리에서 disk로이동시킬프로세스를선택 (swapping이라고함 ) 17

18 3 가지스케줄러 disk medium-term scheduler (swapping) disk pool job scheduler memory CPU scheduler CPU invoked infrequently (sec, min) may be slow invoked frequently (ms) must be fast 18

19 Long-Term 스케줄러 I/O bound process 와 CPU bound process I/O-bound process 계산보다는 I/O 수행에더많은시간을소비함 많은수의짧은 CPU bursts( 연속적으로 CPU 를사용하는시간 ) CPU-bound process 계산에더많은시간을소비함 적은수의매우긴 CPU bursts. 장기스케줄러의역할 multiprogramming 의정도 (degree) 를제어함 I/O bound process와 CPU bound process들의적절한조합을선택하는것이중요함 시분할 ( 대화형 ) 시스템에서는장기스케줄러가없거나최소화 물리적제한 ( 예 : 터미널수 ) 이나인간의스스로조절하는능력으로대치됨 19

20 Medium-Term 스케줄러 medium-term 스케줄러의중요아이디어 CPU 에대한경쟁 (contention) 을줄임 multiprogramming 정도감소 새로적재될프로세스를위한메모리공간확보 20

21 Context Switch 프로세스의 CPU Context PC, CPU registers, memory management 정보등 Process switching 전에 PCB 등의장소에저장해야함 Context switch (= Process switching) CPU 가다른프로세스로전환될때에운영체제는 old process 의현재 CPU 상태 (context) 를저장하고 new process 의저장된상태 (context) 를 CPU 에적재한다. 프로세스전환과정 현재 process 의 PCB 에있는 state 를 running 에서다른상태로갱신하고 PCB 를 ready queue 에서갱신상태에적절한 queue 로이동함 새로선택된 process 의 PCB 에있는 state 를 running 으로갱신 현재 process 의 CPU context 를자신의 PCB 에저장 새 process 의 PCB 에서 CPU context 를 CPU 로복원함 21

22 Context Switch Overhead Context-switch time 은 overhead 임 switching 동안시스템은유용한작업을하지않음 운영체제가더복잡할수록 context switching 동안더많은작업이필요 ( 예 ) memory management 사용은추가적인 context data를사용하고이에대한코드가추가적으로필요함 Context-switch time은하드웨어지원에크게영향받음 Sun UltraSPARC 는여러개의레지스터집합을제공 context switch 동안현재레지스터집합에대한포인터만변경 많은 processor 들이모든레지스터를적재 (load) 하고저장 (store) 하는 special instruction 을제공 Process Switching 은간접적인 overhead 도가짐 캐쉬무효화 (cache invalidation) 등. 22

23 모바일시스템에서의 Multitasking 초기의 ios는사용자 application의 multitasking을제공하지않음 ios 4부터제한된형태의 multitasking 지원 단일 foreground 프로세스 화면사용 다수의 background 프로세스 메모리에있지만, 화면에보이지않음 단일작업을수행하는제한된길이의작업 ( 예 : 다운로드 ) 사건공지 (notification) ( 예 : 메일메시지수신 ) 실행시간이긴작업 ( 예 : 오디오재생 ) Android 는 background 응용에제한이없음 application 은 background 에서 service 를사용해야함 service : background 프로세스대신에수행하는분리된응용컴포넌트 service 는사용자인터페이스를갖고있지않고, 적은메모리를사용하여모바일환경에서의 multitasking 에효율적임 23

24 3.3 프로세스연산 프로세스생성 (creation) 프로세스는 create-process 시스템호출을사용하여 new 프로세스를생성 부모프로세스 자식프로세스 생성된프로세스들의계속적인프로세스생성의결과로프로세스트리 (process tree) 를형성함 ( 다음쪽참조 ) 프로세스들은프로세스식별자 (process identifier, pid) 로구분 부모프로세스와자식프로세스간의여러가지자원공유방법 자식프로세스가 OS에서자원을직접얻음 부모와자식프로세스간에자원을공유하지않음 자식프로세스가부모프로세스자원의부분집합을사용 자식프로세스는부모프로세스의모든자원또는일부자원공유 부모프로세스는자식프로세스들에게자신의자원을분할제공 24

25 전형적 Linux 시스템의프로세스트리 init pid = 1 login pid = 8415 kthreadd pid = 2 sshd pid = 3028 bash pid = 8416 khelper pid = 6 pdflush pid = 200 sshd pid = 3610 ps pid = 9298 emacs pid = 9204 tcsch pid =

26 프로세스생성 실행 (Execution) 부모와자식이병행 (concurrent) 수행, 또는 부모가모든또는일부자식이끝나기를기다림 (wait) 주소공간 (Address space) 자식은부모의복사본 (duplicate), 또는 자식은새로적재되는프로그램을가짐 Examples UNIX: fork 와 exec system call 사용 fork() : new process 생성. 부모프로세스의주소공간의복제본으로구성됨 exec() : 프로세스메모리공간을새프로그램으로대치하여새로운프로그램을실행 Win32 API: CreateProcess() : 프로그램을적재하여자식프로세스를생성하여실행. 인수가복잡함 (10개이상) 26

27 UNIX 에서의프로세스생성 (pid > 0) parent (pid = 0) 인수형태에따라서여러종류의 exec 계열함수가제공됨 27

28 프로세스를생성하는 C 프로그램 (UNIX) #include <stdio.h> int main(void) { int pid; pid = fork(); /* fork another process */ if (pid < 0) { fprintf(stderr, "Fork failed"); exit(-1); } else if (pid == 0) { /* child process */ execlp("/bin/ls", "ls", NULL); /* execute a new program */ } else { /* parent process */ wait(null); /* wait for the child to complete */ printf("child complete"); exit(0); } } 28

29 UNIX 에서의 fork/exec/wait 동작 parent pid = fork() (pid: child pid) duplicate child pid = fork() (pid: 0) load & execute (replace) wait() exec() exit() 29

30 Windows 에서의프로세스생성 30

31 프로세스종료 ( 정상적 ) 프로세스의정상종료 프로세스가마지막문장의실행이끝나면 exit() 시스템호출을하여운영체제에게자신을삭제를요청함 자식프로세스는부모에게상태값 ( 대개정수 ) 을반환할수있다. 부모는 wait() 시스템호출을하여이값을기다림 운영체제는프로세스가사용한자원을반납 (deallocate) 함 좀비 (Zombie) 프로세스 종료되었지만부모가 wait() 를아직호출하지않아서남아있는프로세스 (terminated/zombie 상태 ). 짧은시간동안이상태에머무름 31

32 프로세스의종료 ( 비정상적 ) 프로세스의비정상종료 다음경우에부모가 abort() 시스템호출을하여자식을종료할수있음 child 가자신에게할당된자원을초과하여사용할때 child 에게할당된태스크 ( 작업 ) 가더이상필요없을때 부모가종료하는데, 운영체제가자식이계속하여실행하는것을허용하지않을때 연쇄적종료 (cascading termination) 부모프로세스종료후에자식의계속적인실행을허용하는경우 모든프로세스는종료후처리를위하여부모프로세스가있어야함 자식프로세스는고아 (orphan) 프로세스가되며, init 프로세스를자식프로세스의새로운부모프로세스로지정함 32

33 3.4 프로세스간통신 (Interprocess Comminication) 병행 (concurrent) 프로세스의종류 독립 (Independent) 프로세스 : 다른프로세스의실행에영향을주거나받지않음 협력 (Cooperating) 프로세스 : 다른프로세스의실행에영향을주거나받음 프로세스협력을허용하는이유 정보공유 ( 예 ) 공유파일 계산가속화 (Computation Speedup) 작업을서브작업으로나누어, 병렬실행 모듈성 (Modularity) 기능모듈화 편의성 (Convenience) 개별사용자가한번에여러작업을수행함 ( 예 ) 편집, 프린트, 컴파일을함께수행 ( 병렬 ) 33

34 ( 예 ) 다중프로세스구조 Chrome Browser 단일프로세스방식의웹브라우저 한웹사이트 (JS, html5 포함 ) 가문제가있으면전체브라우저에영향 Chrome Browser 의다중프로세스구조 3 프로세스사용 브라우저 (browser) 렌더러 (renderer) - 웹사이트마다별도의렌더러실행 플러그인 (plug-in) 특징과장점 renderers는 sandbox에서실행되며, 멀티코어에서병렬렌더링지원 웹사이트가다른웹사이트와고립되어동작 문제발생시다른웹사이트의렌더러에영향을주지않음 sandbox : 디스크와네트워크 I/O 접근이제한됨 보안취약점 (exploits) 의영향최소화 34

35 프로세스간통신 (IPC) 모델 Message Passing Shared Memory - 적은양의데이터전달에유용 - 충돌 (conflict) 이없음 - 구현이용이 - 코어수가증가할때더나은성능 - 최대속도 - 편의성 : 공유메모리영역지정할때에만시스템호출. 보통메모리처럼접근 - 코어수증가시캐시일관성문제로성능저하 많은운영체제가두 IPC 모델을모두구현함 35

36 공유메모리시스템 Shared Memory Systems 공유영역에있는버퍼사용 시스템호출을사용하여공유메모리영역지정 UNIX: shmget(), shmat() 뒤에서설명 공유메모리가지정되면보통의메모리와같이접근됨 생산자 - 소비자문제 (Producer-Consumer) 협력프로세서들의간단하고전형적인예 producer 프로세스는정보를생산하고, consumer 프로세스는정보를소비함 생산자-소비자문제의공유메모리구현방법 두유형의버퍼 무한 (unbounded) 버퍼 : 버퍼크기의제한이없음 유한 (bounded) 버퍼 : 고정된버퍼크기 버퍼가 full 이면 producer 는기다려야함 producer process write read buffer shared memory consumer process 36

37 Producer-Consumer 프로그램 공유메모리 shared buffer producer consumer 37

38 메시지전달시스템 메시지전달 (Message passing) 같은주소공간을공유하지않고, 통신을하고동작을동기화하는기능을제공함 ( 네트워크로연결된분산환경에특히유용 ) 메시지전달 IPC 함수이용 메시지전달 IPC 함수 최소두가지 send(message) receive(message) 메시지크기와 IPC 구현 구현 프로그래밍 fixed size: 간단함더복잡함 variable size: 더복잡함더간단함 한번에전송 / 수신할수있는메시지길이는제한됨. 길이가길면제한된길이로분할하여여러번전송하거나, 여러번수신하여합해야함 fixed size IPC : 프로그래머가이작업을수행 variable size IPC : IPC 함수에서이작업을수행 38

39 IPC 의통신연결 (Communication Link) communication link 통신프로세스 P와 Q가서로통신을하려면그들간에통신연결이설정되어야함 communication link의구현 물리적구현 : 공유메모리, 하드웨어버스, 네트워크 논리적구현 : 운영체제의관심사항 communication link 와 send/receive 의논리적구현방법 direct / indirect communication 명명 (naming) 방법 상대편을참조하는 ( 가리키는 ) 방법 synchronous / asynchronous communication send 와 receive 의동작동기화여부 자동 (automatic) / 명시적 (explicit) buffering 39

40 Naming - Direct Communication Direct Communication 서로의이름을명시 ( 대칭주소지정 ) send (P, message) process P 에게 message 전송 receive(q, message) process Q 로부터 message 수신 비대칭 (asymmetric) 주소지정 send(p, message) receive(id, message) 임의의 process 로부터 message 수신 id = sending process 의이름 communication link 의특성 링크가자동적으로설정 링크는두프로세스들사이에서만연관됨 두프로세스들사이에정확히 1 개의링크만존재 문제점 프로세스의이름을변경하면, 모든다른프로세스정의에대한검사가필요함 해결책 : 간접통신 Q Q id = Q P P 40

41 Naming - Indirect Communication Indirect communication mailbox ( 또는 port) 를경유하여 message 를송신하거나수신함 각메일박스는고유의 ID 를가짐 프로세스들은메일박스를공유할때에, 메일박스를통하여통신 메일박스를사용한 send/receive send(a, message): mailbox A 로 message 송신 receive(a, message): mailbox A 에서 message 수신 communication link 의특성 프로세스들이공유 (common) 메일박스를가질때에만통신링크가설정됨 링크는두개이상의프로세스와연관가능 두프로세스들간에다수의링크를공유가능 메일박스생성및소유 운영체제는메일박스생성 / 송수신 / 삭제기능 메일박스는생성한프로세스의소유임 운영체제도자체의메일박스소유가능 Q R Q mailbox A A B P P 41

42 동기화 (Synchronization) 동기식 (synchronous) 통신 Blocking 송수신 동작이상대편동작에영향을받음 Blocking send 송신프로세스는수신프로세스나메일박스가메시지를받을때까지 block 되어있음 Blocking receive 수신프로세스는수신메시지가있을때까지 block 되어있음 비동기식 (asynchronous) 통신 - Non-blocking 송수신 동작이상대편동작에영향을받지않음 Non-blocking send 송신프로세스는메시지를보내고바로 return. 작업을계속수행함 ( 수신여부와관계없이 ) Non-blocking receive 수신프로세스는유효한메시지를받거나널 (null) 을받고바로 return. 작업을계속수행함 동기식통신이프로그래머가사용하기가더쉽다. 42

43 버퍼링 (Buffering) 메시지큐 프로세스간에교환되는메시지는링크에연관된 message queue( 버퍼 ) 에저장되어전송됨 buffer queue 의구현방법 1. 유한용량 (Bounded capacity) 유한한길이의버퍼 ( 길이 n) queue가 full이면 sender는기다려야함 (blocking). 2. 무한용량 (Unbounded capacity) 무한한길이의버퍼 ( 이상적 ) Sender는결코기다리지않음 (nonblocking) 3. 무용량 (Zero capacity) 링크에버퍼가없음. Sender 는 receiver 가준비되어직접수신할때까지기다려야함. 랑데부 (rendezvous). 43

44 3.5 IPC 시스템사례 - UNIX 의공유메모리함수 Shared Memory IPC 공유메모리세그먼트생성, id 반환 segment id = shmget(ipc_private, size, S_IRUSR S_IWUSR); id 가지정하는공유메모리를프로세스에연결 (attach) shared_memory = (char *) shmat(id, NULL, 0); 공유메모리세그먼트에읽고, 쓰기 ( 배열 read/write 와동일 ) sprintf(shared_memory, "Writing to shared memory"); 공유메모리를프로세스에서제거 (detach) shmdt(shared_memory); POSIX shared memory IPC shm_open() : 공유메모리객체생성 ftrunccate() : 객체의크기설정 mmap() : 공유메모리객체를프로세스메모리공간맵핑 shm_unlink() : 공유메모리객체제거 44

45 Mach 의 message passing 메일박스기반메시지전송 메일박스를 port 라고부름 메시지전송시스템호출 msg_send() 메일박스 ) 전송 msg_receive() 메일박스수신 msg_rpc() remote procedure call port_allocate() 메일박스생성 45

46 Windows 의 IPC - Local Procedure Calls message passing port( 메일박스와같음 ) 를경유 Advanced Local Procedure Call(ALPC) 이용 - 작은메시지 : port 의메시지큐이용 - 대용량메시지 : 공유 section object 이용 - 매우큰메시지 : 서버가클라이언트주소공간직접접근 API 사용 46

47 3.6 클라이언트 - 서버시스템에서의통신 소켓 (Sockets) 원격프로시저호출 (Remote Procedure Calls) 파이프 (pipes) 47

48 Sockets A socket 응용프로그램간에통신이연결되는종단점 (endpoint) IP 주소와포트번호에의해서식별됨 IP 주소는시스템을가리킴, 포트번호는해당시스템의프로세스와연결됨 IP address port 48

49 Remote Procedure Calls Remote procedure call (RPC) 네트워크에연결되어있는시스템의프로세스들간에 procedure calls 을추상화한것으로 IPC 기반으로구현됨 Stubs 서버의프로시저에대한원격호출을대행해주는프로시저 (proxy) client process client stub client OS network server process (RPC) server stub server OS XDR (external data representation) The client-side stub 원격서버의포트를찾고, 매개변수를중립적표현방식으로정돈 (marshal) The server-side stub 메시지수신, 정돈된메시지해제, 서버에서요청한프로시저호출하여수행하여결과전송 49

50 Pipes 파이프 (pipe) 두개의프로세스가서로통신이가능하도록전달자역할수행 고려사항 통신방향 : 단방향 (unidirectional) 또는양방향 (bidirectional) 양방향통신의경우 : 반이중 (half-duplex) 또는전이중 (full-duplex) 통신하는두프로세스간에특별한관계 ( 예 : 부모 - 자식 ) 필요여부 네트워크통신가능여부 일반파이프 (ordinary pipe) 생성한프로세스만접근가능 부모프로세스가파이프를생성하고, 자식프로세스를생성하여파이프를사용하여자식프로세스와통신 지명파이프 (named pipe) 파이프특성을가지며, 보통의파일처럼존재 지명파이프를사용하는프로세스들은부모 - 자식관계가필요하지않음. 50

51 일반 Pipes (Windows 의 anonymous pipe) 생산자-소비자형태로두프로세스간의통신을허용 Producer는한쪽끝 (write-end) 으로쓰기를함 Consumer는다른쪽끝 (read-end) 에서읽기를함 일반 pipe는단방향통신만가능 통신하는두프로세스는부모-자식관계가필요함 부모가생성한 pipe가자식에게복제되어공유됨 fd[1] fd[0] close fd[1] close fd[0] X X write-end read-end fd[0] : read fd[1] : write UNIX : pipe() 시스템호출 Windows : CreatePipe() 51

52 지명 (Named) Pipes 일반 pipe보다강력한기능제공 지명 pipe는양방향통신가능 부모-자식관계가필요없음 여러프로세스들이지명 pipe를사용하여통신가능 UNIX에서는 FIFO 특수파일로나타남 half-duplex 양방향전송을함 동시에양방향으로전송하려면두개의 FIFO 파일이필요 mkfifo() 를사용하여 FIFO 파일생성 Windows는 full-duplex 양방향전송가능 CreateNamedPipe() 사용하여생성 52

6주차.key

6주차.key 6, Process concept A program in execution Program code PCB (process control block) Program counter, registers, etc. Stack Heap Data section => global variable Process in memory Process state New Running

More information

UniStore

UniStore Chapter 3. Process Concept Introduction to Operating Systems CSW3020 Prof. Young Pyo JUN CSW3020/Introduction to Operating Systems 1 What is a Process? 실행중인프로그램 프로그램은저장장치에, 프로세스는메인메모리에존재 시스템콜을통해자원을요구하는개체

More information

untitled

untitled Embedded System Lab. II Embedded System Lab. II 2 RTOS Hard Real-Time vs Soft Real-Time RTOS Real-Time, Real-Time RTOS General purpose system OS H/W RTOS H/W task Hard Real-Time Real-Time System, Hard

More information

4장

4장 제 2 부프로세스관리 (Process Management) 프로세스» 실행중인프로그램 (program in execution) CPU time, memory, files, I/O devices 등자원요구» 시스템의작업단위 (the unit of work)» 종류 1. 사용자프로세스 (user process) - user code 실행 2. 시스템프로세스 (system

More information

Chap06(Interprocess Communication).PDF

Chap06(Interprocess Communication).PDF Interprocess Communication 2002 2 Hyun-Ju Park Introduction (interprocess communication; IPC) IPC data transfer sharing data event notification resource sharing process control Interprocess Communication

More information

Microsoft PowerPoint - ch09_파이프 [호환 모드]

Microsoft PowerPoint - ch09_파이프 [호환 모드] 학습목표 파이프를이용한 IPC 기법을이해한다. 이름없는파이프를이용해통신프로그램을작성할수있다. 이름있는파이프를이용해통신프로그램을작성할수있다. 파이프 IT CookBook, 유닉스시스템프로그래밍 2/20 목차 파이프의개념 이름없는파이프만들기 복잡한파이프생성 양방향파이프활용 이름있는파이프만들기 파이프의개념 파이프 두프로세스간에통신할수있도록해주는특수파일 그냥파이프라고하면일반적으로이름없는파이프를의미

More information

2009년 상반기 사업계획

2009년 상반기 사업계획 파이프 IT CookBook, 유닉스시스템프로그래밍 학습목표 파이프를이용한 IPC 기법을이해한다. 이름없는파이프를이용해통신프로그램을작성할수있다. 이름있는파이프를이용해통신프로그램을작성할수있다. 2/20 목차 파이프의개념 이름없는파이프만들기 복잡한파이프생성 양방향파이프활용 이름있는파이프만들기 3/20 파이프의개념 파이프 두프로세스간에통신할수있도록해주는특수파일 그냥파이프라고하면일반적으로이름없는파이프를의미

More information

2009년 상반기 사업계획

2009년 상반기 사업계획 소켓프로그래밍활용 IT CookBook, 유닉스시스템프로그래밍 학습목표 소켓인터페이스를활용한다양한프로그램을작성할수있다. 2/23 목차 TCP 기반프로그래밍 반복서버 동시동작서버 동시동작서버-exec함수사용하기 동시동작서버-명령행인자로소켓기술자전달하기 UDP 프로그래밍 3/23 TCP 기반프로그래밍 반복서버 데몬프로세스가직접모든클라이언트의요청을차례로처리 동시동작서버

More information

Microsoft PowerPoint os4.ppt

Microsoft PowerPoint os4.ppt 제 2 부프로세스관리 (Process Management) 프로세스» 실행중인프로그램 (program in execution) CPU time, memory, files, I/O devices 등자원요구» 시스템의작업단위 (the unit of work)» 종류 1. 사용자프로세스 (user process) - user code 실행 2. 시스템프로세스 (system

More information

Microsoft PowerPoint - Lecture_Note_7.ppt [Compatibility Mode]

Microsoft PowerPoint - Lecture_Note_7.ppt [Compatibility Mode] Unix Process Department of Computer Engineering Kyung Hee University. Choong Seon Hong 1 유닉스기반다중서버구현방법 클라이언트들이동시에접속할수있는서버 서비스를동시에처리할수있는서버프로세스생성을통한멀티태스킹 (Multitasking) 서버의구현 select 함수에의한멀티플렉싱 (Multiplexing)

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

Microsoft PowerPoint - o8.pptx

Microsoft PowerPoint - o8.pptx 메모리보호 (Memory Protection) 메모리보호를위해 page table entry에 protection bit와 valid bit 추가 Protection bits read-write / read-only / executable-only 정의 page 단위의 memory protection 제공 Valid bit (or valid-invalid bit)

More information

Figure 5.01

Figure 5.01 Chapter 4: Threads Yoon-Joong Kim Hanbat National University, Computer Engineering Department Chapter 4: Multithreaded Programming Overview Multithreading Models Thread Libraries Threading Issues Operating

More information

Microsoft PowerPoint APUE(Intro).ppt

Microsoft PowerPoint APUE(Intro).ppt 컴퓨터특강 () [Ch. 1 & Ch. 2] 2006 년봄학기 문양세강원대학교컴퓨터과학과 APUE 강의목적 UNIX 시스템프로그래밍 file, process, signal, network programming UNIX 시스템의체계적이해 시스템프로그래밍능력향상 Page 2 1 APUE 강의동기 UNIX 는인기있는운영체제 서버시스템 ( 웹서버, 데이터베이스서버

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수

More information

10.

10. 10. 10.1 10.2 Library Routine: void perror (char* str) perror( ) str Error 0 10.3 10.3 int fd; /* */ fd = open (filename, ) /*, */ if (fd = = -1) { /* */ } fcnt1 (fd, ); /* */ read (fd, ); /* */ write

More information

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

Microsoft PowerPoint - 04-UDP Programming.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여

More information

11장 포인터

11장 포인터 Dynamic Memory and Linked List 1 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것 메모리의크기는프로그램이시작하기전에결정 int i, j; int buffer[80]; char name[] = data structure"; 처음에결정된크기보다더큰입력이들어온다면처리하지못함

More information

SRC PLUS 제어기 MANUAL

SRC PLUS 제어기 MANUAL ,,,, DE FIN E I N T R E A L L O C E N D SU B E N D S U B M O TIO

More information

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770> i ii iii iv v vi 1 2 3 4 가상대학 시스템의 국내외 현황 조사 가상대학 플랫폼 개발 이상적인 가상대학시스템의 미래상 제안 5 웹-기반 가상대학 시스템 전통적인 교수 방법 시간/공간 제약을 극복한 학습동기 부여 교수의 일방적인 내용전달 교수와 학생간의 상호작용 동료 학생들 간의 상호작용 가상대학 운영 공지사항,강의록 자료실, 메모 질의응답,

More information

제1장 Unix란 무엇인가?

제1장  Unix란 무엇인가? 1 12 장파이프 2 12.1 파이프 파이프원리 $ who sort 파이프 3 물을보내는수도파이프와비슷 한프로세스는쓰기용파일디스크립터를이용하여파이프에데이터를보내고 ( 쓰고 ) 다른프로세스는읽기용파일디스크립터를이용하여그파이프에서데이터를받는다 ( 읽는다 ). 한방향 (one way) 통신 파이프생성 파이프는두개의파일디스크립터를갖는다. 하나는쓰기용이고다른하나는읽기용이다.

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 인터넷프로토콜 5 장 데이터송수신 (3) 1 파일전송메시지구성예제 ( 고정크기메시지 ) 전송방식 : 고정크기 ( 바이너리전송 ) 필요한전송정보 파일이름 ( 최대 255 자 => 255byte 의메모리공간필요 ) 파일크기 (4byte 의경우최대 4GB 크기의파일처리가능 ) 파일내용 ( 가변길이, 0~4GB 크기 ) 메시지구성 FileName (255bytes)

More information

ABC 11장

ABC 11장 12 장고급응용 0 수행중인프로그램 프로세스 모든프로세스는유일한프로세스식별번호 (PID) 를가짐 유닉스에서는 ps 명령을사용하여프로세스목록을볼수있음 12-1 프로세스 $ ps -aux USER PID %CPU %MEM SZ RSS TT STAT START TIME COMMAND blufox 17725 34.0 1.6 146 105 i2 R 15:13 0:00

More information

Chapter #01 Subject

Chapter #01  Subject Device Driver March 24, 2004 Kim, ki-hyeon 목차 1. 인터럽트처리복습 1. 인터럽트복습 입력검출방법 인터럽트방식, 폴링 (polling) 방식 인터럽트서비스등록함수 ( 커널에등록 ) int request_irq(unsigned int irq, void(*handler)(int,void*,struct pt_regs*), unsigned

More information

The Self-Managing Database : Automatic Health Monitoring and Alerting

The Self-Managing Database : Automatic Health Monitoring and Alerting The Self-Managing Database : Automatic Health Monitoring and Alerting Agenda Oracle 10g Enterpirse Manager Oracle 10g 3 rd Party PL/SQL API Summary (Self-Managing Database) ? 6% 6% 12% 55% 6% Source: IOUG

More information

JVM 메모리구조

JVM 메모리구조 조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.

More information

OPCTalk for Hitachi Ethernet 1 2. Path. DCOMwindow NT/2000 network server. Winsock update win95. . . 3 Excel CSV. Update Background Thread Client Command Queue Size Client Dynamic Scan Block Block

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Network Programming Jo, Heeseung Network 실습 네트워크프로그래밍 멀리떨어져있는호스트들이서로데이터를주고받을수있도록프로그램을구현하는것 파일과는달리데이터를주고받을대상이멀리떨어져있기때문에소프트웨어차원에서호스트들간에연결을해주는장치가필요 이러한기능을해주는장치로소켓이라는인터페이스를많이사용 소켓프로그래밍이란용어와네트워크프로그래밍이랑용어가같은의미로사용

More information

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D> 리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1

More information

Microsoft PowerPoint - o4.pptx

Microsoft PowerPoint - o4.pptx 목표 쓰레드 (thread) 개념소개 Thread API Multithreaded 프로그래밍관련이슈 4 장. 쓰레드 2 4.1 개요 쓰레드 쓰레드 (Thread ) CPU 이용의기본실행단위 단일쓰레드 (Single threaded) Processes 전통적인프로세스 한개의실행단위로구성 다중쓰레드 (Multithreaded) Process 여러개의실행쓰레드를갖는프로세스

More information

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition

More information

SMB_ICMP_UDP(huichang).PDF

SMB_ICMP_UDP(huichang).PDF SMB(Server Message Block) UDP(User Datagram Protocol) ICMP(Internet Control Message Protocol) SMB (Server Message Block) SMB? : Microsoft IBM, Intel,. Unix NFS. SMB client/server. Client server request

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 UNIX 및실습 8 장. 프로세스와사용자 명령익히기 1 학습목표 유닉스에서프로세스가무엇인지그개념을이해한다. 프로세스와관련된유닉스명령의사용방법을익힌다. 포그라운드처리와백그라운드처리의차이를이해한다. 사용자정보를보는명령의사용방법을익힌다. 2 01. 프로세스의개념과종류 프로세스 (process) 현재시스템에서실행중인프로그램 프로세스는고유번호를가진다. Process

More information

좀비프로세스 2

좀비프로세스 2 Signal & Inter-Process Communication Department of Computer Engineering Kyung Hee University. Choong Seon Hong 1 좀비프로세스 2 좀비프로세스 (zombie process) 좀비프로세스란프로세스종료후메모리상에서사라지지않는프로세스 좀비프로세스의생성이유. 자식프로세스는부모프로세스에게실행결과에대한값을반환해야한다.

More information

PCServerMgmt7

PCServerMgmt7 Web Windows NT/2000 Server DP&NM Lab 1 Contents 2 Windows NT Service Provider Management Application Web UI 3 . PC,, Client/Server Network 4 (1),,, PC Mainframe PC Backbone Server TCP/IP DCS PLC Network

More information

제11장 프로세스와 쓰레드

제11장 프로세스와 쓰레드 제9장자바쓰레드 9.1 Thread 기초 (1/5) 프로그램 명령어들의연속 (a sequence of instruction) 프로세스 / Thread 실행중인프로그램 (program in execution) 프로세스생성과실행을위한함수들 자바 Thread 2 9.1 Thread 기초 (2/5) 프로세스단위작업의문제점 프로세스생성시오버헤드 컨텍스트스위치오버헤드

More information

1장. 유닉스 시스템 프로그래밍 개요

1장.  유닉스 시스템 프로그래밍 개요 Unix 프로그래밍및실습 7 장. 시그널 - 과제보충 응용과제 1 부모프로세스는반복해서메뉴를출력하고사용자로부터주문을받아자식프로세스에게주문내용을알린다. (SIGUSR1) ( 일단주문을받으면음식이완료되기전까지 SIGUSR1 을제외한다른시그널은모두무시 ) timer 자식프로세스는주문을받으면조리를시작한다. ( 일단조리를시작하면음식이완성되기전까지 SIGALARM 을제외한다른시그널은모두무시

More information

제9장 프로세스 제어

제9장 프로세스 제어 제 9 장프로세스제어 리눅스시스템프로그래밍 청주대학교전자공학과 한철수 제 9 장 목차 프로세스생성 프로그램실행 입출력재지정 프로세스그룹 시스템부팅 2 9.1 절 프로세스생성 fork() 시스템호출 새로운프로그램을실행하기위해서는먼저새로운프로세스를생성해야하는데, fork() 시스템호출이새로운프로세스를생성하는유일한방법임. 함수프로토타입 pid_t fork(void);

More information

Microsoft PowerPoint - Lecture_Note_5.ppt [Compatibility Mode]

Microsoft PowerPoint - Lecture_Note_5.ppt [Compatibility Mode] TCP Server/Client Department of Computer Engineering Kyung Hee University. Choong Seon Hong 1 TCP Server Program Procedure TCP Server socket() bind() 소켓생성 소켓번호와소켓주소의결합 listen() accept() read() 서비스처리, write()

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 KeyPad Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착 4x4 Keypad 2 KeyPad 를제어하기위하여 FPGA 내부에 KeyPad controller 가구현 KeyPad controller 16bit 로구성된

More information

Microsoft PowerPoint - RMI.ppt

Microsoft PowerPoint - RMI.ppt ( 분산통신실습 ) RMI RMI 익히기 1. 분산환경에서동작하는 message-passing을이용한 boundedbuffer 해법프로그램을실행해보세요. 소스코드 : ftp://211.119.245.153 -> os -> OSJavaSources -> ch15 -> rmi http://marvel el.incheon.ac.kr의 Information Unix

More information

1217 WebTrafMon II

1217 WebTrafMon II (1/28) (2/28) (10 Mbps ) Video, Audio. (3/28) 10 ~ 15 ( : telnet, ftp ),, (4/28) UDP/TCP (5/28) centralized environment packet header information analysis network traffic data, capture presentation network

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

10주차.key

10주차.key 10, Process synchronization (concurrently) ( ) => critical section ( ) / =>, A, B / Race condition int counter; Process A { counter++; } Process B { counter ;.. } counter++ register1 = counter register1

More information

Sena Technologies, Inc. HelloDevice Super 1.1.0

Sena Technologies, Inc. HelloDevice Super 1.1.0 HelloDevice Super 110 Copyright 1998-2005, All rights reserved HelloDevice 210 ()137-130 Tel: (02) 573-5422 Fax: (02) 573-7710 E-Mail: support@senacom Website: http://wwwsenacom Revision history Revision

More information

슬라이드 1

슬라이드 1 / 유닉스시스템개요 / 파일 / 프로세스 01 File Descriptor file file descriptor file type unix 에서의파일은단지바이트들의나열임 operating system 은파일에어떤포맷도부과하지않음 파일의내용은바이트단위로주소를줄수있음 file descriptor 는 0 이나양수임 file 은 open 이나 creat 로 file

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

슬라이드 1

슬라이드 1 CHAP 6: 큐 yicho@gachon.ac.kr 1 큐 (QUEUE) 큐 : 먼저들어온데이터가먼저나가는자료구조 선입선출 (FIFO: First-In First-Out) ( 예 ) 매표소의대기열 Ticket Box 전단 () 후단 () 2 큐 ADT 삽입과삭제는 FIFO 순서를따른다. 삽입은큐의후단에서, 삭제는전단에서이루어진다. 객체 : n 개의 element

More information

강의10

강의10 Computer Programming gdb and awk 12 th Lecture 김현철컴퓨터공학부서울대학교 순서 C Compiler and Linker 보충 Static vs Shared Libraries ( 계속 ) gdb awk Q&A Shared vs Static Libraries ( 계속 ) Advantage of Using Libraries Reduced

More information

vi 사용법

vi 사용법 네트워크프로그래밍 6 장과제샘플코드 - 1:1 채팅 (udp 버전 ) 과제 서버에서먼저 bind 하고그포트를다른사람에게알려줄것 클라이언트에서알려준포트로접속 서로간에키보드입력을받아상대방에게메시지전송 2 Makefile 1 SRC_DIR =../../common 2 COM_OBJS = $(SRC_DIR)/addressUtility.o $(SRC_DIR)/dieWithMessage.o

More information

PowerPoint Presentation

PowerPoint Presentation Korea Tech Conference 2005 년 5 월 14 일, 서울 2005 년 5 월 14 일 CE Linux Forum Korea Tech Conference 1 Parallel port 를이용한가전제품 제어 임효준 LG 전자 imhyo@lge.com 2005 년 5 월 14 일 CE Linux Forum Korea Tech Conference 2

More information

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx Basic Idea of External Sorting run 1 run 2 run 3 run 4 run 5 run 6 750 records 750 records 750 records 750 records 750 records 750 records run 1 run 2 run 3 1500 records 1500 records 1500 records run 1

More information

Chapter 4. LISTS

Chapter 4. LISTS C 언어에서리스트구현 리스트의생성 struct node { int data; struct node *link; ; struct node *ptr = NULL; ptr = (struct node *) malloc(sizeof(struct node)); Self-referential structure NULL: defined in stdio.h(k&r C) or

More information

Microsoft Word - FunctionCall

Microsoft Word - FunctionCall Function all Mechanism /* Simple Program */ #define get_int() IN KEYOARD #define put_int(val) LD A val \ OUT MONITOR int add_two(int a, int b) { int tmp; tmp = a+b; return tmp; } local auto variable stack

More information

리눅스 프로세스 관리

리눅스 프로세스 관리 프로세스 (Process) Process 프로그램이나명령어를실행하면메모리에적재되어실제로실행되고있는상태를의미 이러한프로세스들은프로세스가시작하면서할당받는프로세스식별번호인 PID(Process ID), 해당프로세스를실행한부모프로세스를나타내는 PPID(Parent Process ID), UID 와 GID 정보를통해해당프로세스가어느사용자에속해있는지, 프로세스가파일에대해갖는권한및프로세스가실행된터미널,

More information

이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2

이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2 제 17 장동적메모리와연결리스트 유준범 (JUNBEOM YOO) Ver. 2.0 jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Web server porting 2 Jo, Heeseung Web 을이용한 LED 제어 Web 을이용한 LED 제어프로그램 web 에서데이터를전송받아타겟보드의 LED 를조작하는프로그램을작성하기위해다음과같은소스파일을생성 2 Web 을이용한 LED 제어 LED 제어프로그램작성 8bitled.html 파일을작성 root@ubuntu:/working/web# vi

More information

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조 - Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]

More information

Chap 6: Graphs

Chap 6: Graphs 5. 작업네트워크 (Activity Networks) 작업 (Activity) 부분프로젝트 (divide and conquer) 각각의작업들이완료되어야전체프로젝트가성공적으로완료 두가지종류의네트워크 Activity on Vertex (AOV) Networks Activity on Edge (AOE) Networks 6 장. 그래프 (Page 1) 5.1 AOV

More information

KEY 디바이스 드라이버

KEY 디바이스 드라이버 KEY 디바이스드라이버 임베디드시스템소프트웨어 I (http://et.smu.ac.kr et.smu.ac.kr) 차례 GPIO 및 Control Registers KEY 하드웨어구성 KEY Driver 프로그램 key-driver.c 시험응용프로그램 key-app.c KEY 디바이스드라이버 11-2 GPIO(General-Purpose Purpose I/O)

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 - (Asynchronous Mode) - - - ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 - UART (Univ ers al As y nchronous Receiver / T rans mitter) 8250A 8250A { COM1(3F8H). - Line Control Register

More information

Chap04(Signals and Sessions).PDF

Chap04(Signals and Sessions).PDF Signals and Session Management 2002 2 Hyun-Ju Park (Signal)? Introduction (1) mechanism events : asynchronous events - interrupt signal from users : synchronous events - exceptions (accessing an illegal

More information

Chap7.PDF

Chap7.PDF Chapter 7 The SUN Intranet Data Warehouse: Architecture and Tools All rights reserved 1 Intranet Data Warehouse : Distributed Networking Computing Peer-to-peer Peer-to-peer:,. C/S Microsoft ActiveX DCOM(Distributed

More information

[Brochure] KOR_TunA

[Brochure] KOR_TunA LG CNS LG CNS APM (TunA) LG CNS APM (TunA) 어플리케이션의 성능 개선을 위한 직관적이고 심플한 APM 솔루션 APM 이란? Application Performance Management 란? 사용자 관점 그리고 비즈니스 관점에서 실제 서비스되고 있는 어플리케이션의 성능 관리 체계입니다. 이를 위해서는 신속한 장애 지점 파악 /

More information

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE ALTIBASE HDB 6.3.1.10.1 Patch Notes 목차 BUG-45710 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG-45730 ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG-45760 ROLLUP/CUBE 절을포함하는질의는 SUBQUERY REMOVAL 변환을수행하지않도록수정합니다....

More information

untitled

untitled Step Motor Device Driver Embedded System Lab. II Step Motor Step Motor Step Motor source Embedded System Lab. II 2 open loop, : : Pulse, 1 Pulse,, -, 1 +5%, step Step Motor (2),, Embedded System Lab. II

More information

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning C Programming Practice (II) Contents 배열 문자와문자열 구조체 포인터와메모리관리 구조체 2/17 배열 (Array) (1/2) 배열 동일한자료형을가지고있으며같은이름으로참조되는변수들의집합 배열의크기는반드시상수이어야한다. type var_name[size]; 예 ) int myarray[5] 배열의원소는원소의번호를 0 부터시작하는색인을사용

More information

제1장 Unix란 무엇인가?

제1장  Unix란 무엇인가? 1 소켓 2 1 소켓 클라이언트 - 서버모델 네트워크응용프로그램 클리이언트 - 서버모델을기반으로동작한다. 클라이언트 - 서버모델 하나의서버프로세스와여러개의클라이언트로구성된다. 서버는어떤자원을관리하고클라이언트를위해자원관련서비스를제공한다. 3 소켓의종류 소켓 네트워크에대한사용자수준의인터페이스를제공 소켓은양방향통신방법으로클라이언트 - 서버모델을기반으로프로세스사이의통신에매우적합하다.

More information

<4D F736F F F696E74202D FC7C1B7CEBCBCBDBA20BBFDBCBAB0FA20BDC7C7E0205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D FC7C1B7CEBCBCBDBA20BBFDBCBAB0FA20BDC7C7E0205BC8A3C8AF20B8F0B5E55D> 학습목표 프로세스를생성하는방법을이해한다. 프로세스를종료하는방법을이해한다. exec함수군으로새로운프로그램을실행하는방법을이해한다. 프로세스를동기화하는방법을이해한다. 프로세스생성과실행 IT CookBook, 유닉스시스템프로그래밍 2/24 목차 프로세스생성 프로세스종료함수 exec 함수군활용 exec 함수군과 fork 함수 프로세스동기화 프로세스생성 [1] 프로그램실행

More information

2009년 상반기 사업계획

2009년 상반기 사업계획 프로세스생성과실행 IT CookBook, 유닉스시스템프로그래밍 학습목표 프로세스를생성하는방법을이해한다. 프로세스를종료하는방법을이해한다. exec함수군으로새로운프로그램을실행하는방법을이해한다. 프로세스를동기화하는방법을이해한다. 2/24 목차 프로세스생성 프로세스종료함수 exec 함수군활용 exec 함수군과 fork 함수 프로세스동기화 3/24 프로세스생성 [1]

More information

untitled

untitled Memory leak Resource 力 金 3-tier 見 Out of Memory( 不 ) Memory leak( 漏 ) 狀 Application Server Crash 理 Server 狀 Crash 類 JVM 說 例 行說 說 Memory leak Resource Out of Memory Memory leak Out of Memory 不論 Java heap

More information

11장 포인터

11장 포인터 누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The Last(8 th ) Lecture 유명환 ( yoo@netplug.co.kr) INDEX 1 I 2 C 통신이야기 2 ATmega128 TWI(I 2 C) 구조분석 4 ATmega128 TWI(I 2 C) 실습 : AT24C16 1 I 2 C 통신이야기 I 2 C Inter IC Bus 어떤 IC들간에도공통적으로통할수있는 ex)

More information

슬라이드 1

슬라이드 1 프로세스 (Process) (1) Chapter #5 Process 정의 Process 구조 Process Context Process Scheduling 강의목차 Unix System Programming 2 Program( 프로그램 ) Process 정의 (1) 기계어명령어와데이터를모아놓은실행파일 C 언어등프로그램언어로작성된소스파일을컴파일링하여생성 COFF(Common

More information

본교재는수업용으로제작된게시물입니다. 영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase sta

본교재는수업용으로제작된게시물입니다. 영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase sta [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase startup-config Erasing the nvram filesystem will remove all configuration files Continue? [confirm] ( 엔터 ) [OK] Erase

More information

chap7.key

chap7.key 1 7 C 2 7.1 C (System Calls) Unix UNIX man Section 2 C. C (Library Functions) C 1975 Dennis Ritchie ANSI C Standard Library 3 (system call). 4 C?... 5 C (text file), C. (binary file). 6 C 1. : fopen( )

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 얇지만얇지않은 TCP/IP 소켓프로그래밍 C 2 판 4 장 UDP 소켓 제 4 장 UDP 소켓 4.1 UDP 클라이언트 4.2 UDP 서버 4.3 UDP 소켓을이용한데이터송싞및수싞 4.4 UDP 소켓의연결 UDP 소켓의특징 UDP 소켓의특성 싞뢰할수없는데이터젂송방식 목적지에정확하게젂송된다는보장이없음. 별도의처리필요 비연결지향적, 순서바뀌는것이가능 흐름제어 (flow

More information

<4D F736F F F696E74202D FB8DEB8F0B8AE20B8C5C7CE205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D FB8DEB8F0B8AE20B8C5C7CE205BC8A3C8AF20B8F0B5E55D> 학습목표 통신프로그램이무엇인지이해한다. 을이용한 IPC 기법을이해한다. 함수를사용해프로그램을작성할수있다. IT CookBook, 유닉스시스템프로그래밍 2/20 목차 의개념 함수 해제함수 의보호모드변경 파일의크기확장 매핑된메모리동기화 데이터교환하기 의개념 파일을프로세스의메모리에매핑 프로세스에전달할데이터를저장한파일을직접프로세스의가상주소공간으로매핑 read, write

More information

운영체제란? PC를구입하면 Windows XP, Windows 7, Linux, MS-DOS Mac OSX, ios 운영체제 : Operating System 운영체제가없는컴퓨터? 컴퓨터 : 프로세서와메모리 전원을켜면어떤일이? 휘발성메모리 - 야생마 프로그램을실행하려면

운영체제란? PC를구입하면 Windows XP, Windows 7, Linux, MS-DOS Mac OSX, ios 운영체제 : Operating System 운영체제가없는컴퓨터? 컴퓨터 : 프로세서와메모리 전원을켜면어떤일이? 휘발성메모리 - 야생마 프로그램을실행하려면 운영체제 Introduction 양희재교수 (hjyang@ks.ac.kr) / 경성대학교컴퓨터공학과 운영체제란? PC를구입하면 Windows XP, Windows 7, Linux, MS-DOS Mac OSX, ios 운영체제 : Operating System 운영체제가없는컴퓨터? 컴퓨터 : 프로세서와메모리 전원을켜면어떤일이? 휘발성메모리 - 야생마 프로그램을실행하려면?

More information

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - [2009] 02.pptx 원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include

More information

Microsoft PowerPoint - chap9 [호환 모드]

Microsoft PowerPoint - chap9 [호환 모드] 제 9 장프로세스관계 숙대창병모 1 Contents 1. Logins 2. Process Groups 3. Sessions 4. Controlling Terminal 5. Job Control 숙대창병모 2 로그인 숙대창병모 3 터미널로그인 /etc/ttys: 1 line per terminal device getty: opens terminal device

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 13. 포인터와배열! 함께이해하기 2013.10.02. 오병우 컴퓨터공학과 13-1 포인터와배열의관계 Programming in C, 정재은저, 사이텍미디어. 9 장참조 ( 교재의 13-1 은읽지말것 ) 배열이름의정체 배열이름은 Compile 시의 Symbol 로서첫번째요소의주소값을나타낸다. Symbol 로서컴파일시에만유효함 실행시에는메모리에잡히지않음

More information

2009년 상반기 사업계획

2009년 상반기 사업계획 메모리매핑 IT CookBook, 유닉스시스템프로그래밍 학습목표 통신프로그램이무엇인지이해한다. 메모리매핑을이용한 IPC 기법을이해한다. 메모리매핑함수를사용해프로그램을작성할수있다. 2/20 목차 메모리매핑의개념 메모리매핑함수 메모리매핑해제함수 메모리매핑의보호모드변경 파일의크기확장 매핑된메모리동기화 데이터교환하기 3/20 메모리매핑의개념 메모리매핑 파일을프로세스의메모리에매핑

More information

untitled

untitled (shared) (integrated) (stored) (operational) (data) : (DBMS) :, (database) :DBMS File & Database - : - : ( : ) - : - : - :, - DB - - -DBMScatalog meta-data -DBMS -DBMS - -DBMS concurrency control E-R,

More information

Oracle9i Real Application Clusters

Oracle9i Real Application Clusters Senior Sales Consultant Oracle Corporation Oracle9i Real Application Clusters Agenda? ? (interconnect) (clusterware) Oracle9i Real Application Clusters computing is a breakthrough technology. The ability

More information

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

Microsoft PowerPoint - StallingsOS6e-Chap03.ppt [호환 모드]

Microsoft PowerPoint - StallingsOS6e-Chap03.ppt [호환 모드] 3 장프로세스기술 (Description) 및제어 (Control) 3 장의강의목표 프로세스의개념을이해한다. 프로세스의상태에대해서이해한다. 프로세스를표현하는운영체제의자료구조를이해한다. 프로세스제어블록의필요성및용도를이해한다. 모드전환과문맥교환에대해서이해한다. 운영체제의실행방식에대해서이해한다. 운영체제보안이슈에대해서이해한다. UNIX SVR4 의프로세스관리기법을이해한다.

More information

Microsoft PowerPoint - 알고리즘_2주차_1차시.pptx

Microsoft PowerPoint - 알고리즘_2주차_1차시.pptx 1.4 Blocking Block의정의 디스크와메모리사이에데이터전송의단위 물리적레코드라고도함 Sector, Block, Cluster의비교 Sector: Data transfer 의최소단위 Block = n개의 sector로구성 디스크와메모리사이에데이터전송의단위 Cluster: m 개의 sector 로구성되며, FAT 구성단위 Cluster Block 영남대학교데이터베이스연구실

More information

임베디드시스템설계강의자료 6 system call 1/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

임베디드시스템설계강의자료 6 system call 1/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 6 system call 1/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 시스템호출개요 리눅스에서는사용자공간과커널공간을구분 사용자프로그램은사용자모드, 운영체제는커널모드에서수행 커널공간에대한접근은커널 ( 특권, priviledged) 모드에서가능 컴퓨팅자원 (CPU, memory, I/O 등 ) 을안전하게보호 커널수행을안전하게유지

More information

Analyst Briefing

Analyst Briefing . Improve your Outlook on Email and File Management iseminar.. 1544(or 6677)-3355 800x600. iseminar Chat... Improve your Outlook on Email and File Management :, 2003 1 29.. Collaboration Suite - Key Messages

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

Abstract View of System Components

Abstract View of System Components 운영체제실습 - Synchronization - Real-Time Computing and Communications Lab. Hanyang University jtlim@rtcc.hanyang.ac.kr dhchoi@rtcc.hanyang.ac.kr beespjh@gmail.com Introduction 조교소개 이름 : 임정택 Tel : 010-4780

More information

목 차

목      차 Oracle 9i Admim 1. Oracle RDBMS 1.1 (System Global Area:SGA) 1.1.1 (Shared Pool) 1.1.2 (Database Buffer Cache) 1.1.3 (Redo Log Buffer) 1.1.4 Java Pool Large Pool 1.2 Program Global Area (PGA) 1.3 Oracle

More information

Web Scraper in 30 Minutes 강철

Web Scraper in 30 Minutes 강철 Web Scraper in 30 Minutes 강철 발표자 소개 KAIST 전산학과 2015년부터 G사에서 일합니다. 에서 대한민국 정치의 모든 것을 개발하고 있습니다. 목표 웹 스크래퍼를 프레임웍 없이 처음부터 작성해 본다. 목표 웹 스크래퍼를 프레임웍 없이 처음부터 작성해 본다. 스크래퍼/크롤러의 작동 원리를 이해한다. 목표

More information

Abstract View of System Components

Abstract View of System Components Operating System 10 주차 - IPC(InterProcess Communication) - Real-Time Computing and Communications Lab. Hanyang University jtlim@rtcc.hanyang.ac.kr yschoi@rtcc.hanyang.ac.kr shpark@rtcc.hanyang.ac.kr Contents

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 7-Segment Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 6-Digit 7-Segment LED controller 16비트로구성된 2개의레지스터에의해제어 SEG_Sel_Reg(Segment

More information