전체 글 97

컴퓨터 네트워크 - Transport Layer

Transport layer application layer 바로 밑에 있는 계층으로 transport layer 관점에서는 logical End-End transport 단위로 그중간에 있는 과정은 관심이 없다. app message를 Header과 Data로 이루어진 Segment에 저장된다. TCP과 UDP로 크게 2가지가 있다. network layer VS transport layer network layer: 메세지를 목적지까지 전달해주는 계층 transport layer: 들어온 메세지를 기기의 여러가지 프로세스 중에 하나로 전달해주는 계층 transport layer에서 일어나는 일련의 과정 ![KakaoTalk_20210331_113954326](C:\Users\js774\Document..

공부 학습 2021.04.06

컴퓨터 네트워크 - Application Layer

Application Layer 굳이 사용자가 Network 뒤에서 일어나는 일을 알 필요는 없다. Server Client Diagram Server: 항상 켜져 있음, 고정 IP Client: 일시적인 연결이 가능, 항상 켜져있지 않음, 유동 IP Process Communicating: 서로 다른 머신 사이에 서로 다른 프로세스간의 통신 Socket: application과 OS, network 사이의 interface Addressing Processes: 각 소켓은 고유의 IP와 Port Number를 가지고 있다. 네트워크의 종류와 판단 지표 Transport service requirement: data loss, thourput, time sensitive Internet Applicati..

공부 학습 2021.04.06

운영체제 4주차 - 2

Implicit Threading 과도한 쓰레드 생성을 막기 위해 사용자가 쓰레드를 생성하는것이 아닌 컴파일러나 run-time library가 직점 쓰레드를 요청하는것 개발자는 병령로 수행할수 있는 task를 식별하는데 집중하고, 쓰레드는 컴파일러나 런타임 라이브러리가 담당하는걸로.. thread pool 시스템에 필요한 쓰레드를 미리 생성해놓고 필요할때 할당함 -> 상대적으로 빠름 어차피 생성되어있는 thread에서 할당되는것이기 때문에 pool의 크기가 넘어갈 일은 없음 Task의 실행과 Task 생성을 분리하여 Task가 효율적으로 처리될수 있도록 함 Fork-Join Parallelism 어떤 Task를 실행할때 해당 Task를 실행하기 위해 2개의 Task로 Fork를 나누고 종료되었을때 다시..

공부 학습 2021.03.29

시스템프로그래밍 - 함수정리

Open 함수 int open (const char *pathname, int flag, [mode_t mode]); 파일을 열고 File descriptor를 반환한다. mode 속성은 새로운 파일을 열때에만 사용된다. FLAGS O_RDONLY, O_WRONLY, O_RDWR O_CREAT : 파일이 없을 경우 생성한다. O_EXCL: O_CREAT에 의해 파일이 생성될 때 파일이 존재할 경우 에러를 발생한다. O_TRUNC: 파일이 이미 정해진 경우 버퍼를 덮어 씌운다. O_APPEND: 처음 파일을 쓸때 파일 포인터를 마지막에 씌운다. modes O_CREAT 플래그가 있을 때만 사용되며 새로 만들어진 파일의 권한을 설정한다. 다른 경우엔 사용되지 않는다. 반환값 새로운 File discripto..

공부 학습 2021.03.24

운영체제 4주차 -1

Multithread 각종 독립적인 일을 동시에 수행하기 위해 Thread를 사용한다. Process Creation이 무거운 작업이라면 그에 비해 Thread Creation은 가벼운 축에 속한다. 현대의 Kernel들은 거의 MultiThread를 사용한다. thread마다 고유의 Register, Stack, PC를 가지고 있어서 다른 실행 경로를 가진다. 다만 코드와 파일 들은 공유하여 가볍게 실행될수 있다. 서버에서 Multithread를 사용할는 경우 Server에 request가 들어오면 그에 응하는 작업을 실행해야 하는데 이때 새로운 Thread를 생성하고 본인은 지속적으로 Request가 들어오는 지 확인한다. Thread의 장점 응답성이 좋다: 프로세스가 부분적으로 Blocking이 되..

공부 학습 2021.03.22

운영체제 3주차 - 2

Shared memory Interprocessor Communication process들이 통신하기 원하는 메모리를 공유하는 영역 이 통신은 OS가 아닌 user의 프로세스의 관할로 이루어진다. 이 메커니즘의 주된 문제점은 Shared memory에 접근할때, user의 프로세스가 동기화 될것인가가 문제이다. (이에 대한 문제는 이후에 다룰것이다.) Shared Data Code / Producer Process#define BUFFER_SIZE 10 typedef struct { ... } item; item buffer[BUFFER_SIZE]; int in = 0; // 새로운 아이템을 넣을 위치 int out = 0; // 지금 사용하고 있는 아이템 위치 위와 같은 솔루션으로 실행될 경우 BUF..

공부 학습 2021.03.16

시스템프로그래밍 2주차

File System Call File concept은 다양한 종류가 있다: Numeric, Character, binary 그리고 Program File도 하나의 파일이라고 할 수 있다. File Structure 일반 파일 : 문자열, binary file 단순 기록 구조(Simple record structure) 줄글 고정값 변수값 복잡한 구조(Complex Structure) 형식이 있는 문서 재 할당 파일 이 모든 파일이 OS와 프로그램이 결정지어줌 File Attribute 파일의 속성에는 다음과 같은 속성들이 있다. Name Type Location Size Protection Time, date, User ID File Operate File을 다루는 함수에는 다음과 같은 함수가 있다. ..

공부 학습 2021.03.15

운영체제 3주차 - 1

process Concept 운영체제는 모든 종류의 프로그램을 Process의 형태로 실행한다. Process는 프로그램이 실행중인 것을 정의로 한다. Program Code는 text Section이라고 하며 모든 실행중인 프로세스는 Program Counter과 process Register를 갖는다. 프로그램이 실행될때 메게변수, 리턴값, 지역변수 같은 임시적인 데이터를 Stack에 저장하게 된다. 전역변수는 Data Section에 저장되며 Heap은 프로그램 실행중 동적으로 할당되는 메모리가 저장되도록 관리한다. Data Section에는 프로그램의 전반에 걸쳐 저장되는 데이터가 저장되는 별도의 공간이다. 프로그램은 디스크에 저장된 수동적(Passive) entity라고도 하고 실행되면 능동적(..

공부 학습 2021.03.15

시스템 논문 리뷰 1

서론 기회가 닿아서 시스템 / IOT 분야의 논문을 읽게 되었다. 지금부터 그 논문의 리뷰를 시작하겠다. 이래저래 논문 읽는 법이 나와 있지만 난생 처음 논문을 접하는 만큼 요령없이 처음 부터 끝까지 정독하기로 했다. 논문 제목은 "Maintaining Real-Time Data Freshness in Wireless Powered Communication Networks"이다. 한국어로 해석하면 "무선 전원 통신 장치에서의 실시간 데이터 갱신 유지하기" 정도로 해석할 수 있을 것이다. 본 논문은 Zimeng Zhou 외 4인이 발표한 논문이며 2020 IEEE RTSS에 선정된 논문이다. 2020년 3월 15일 - 시작~서론까지 Abstarct 본 논문은 전원이 제한적인 무선 전원 통신장치(Wirele..

공부 학습 2021.03.15

운영체제 2주차 - 3

1. Layered Approach Moule화가 되어 있으면서도 서비스를 사용시에 상위 Layer는 사용 불가능하고 하위 Layer만이 사용 가능하다. Micro Kernel: 기존 Kernel의 덩치를 작게 만든 것 예) MAC OS X Kernel (Darwin) 특징: User에게 전달할때 Massage Passing 방식을 사용한다. 장점: MicroKernel을 쉽게 확장할수 있다., 새로운 구조에 쉽게 포팅이 가능하다, 신뢰도와 보안성이 높다. 단점: User space와 Kernel space가 통신할때 Message Overhead가 생길 확률이 높다. 2. Module OS를 모듈화 함으로서 외부에서 수정을 할수 있는 Loadable Kernel을 사용할수 있다. 객체 지향적 접근법을 ..

공부 학습 2021.03.09