전체 글 103

4. 대역폭의 다중화와 스펙트럼 확장

1. 다중화 1) 다중화의 개념 다중화(Multiplexing)은 하나의 링크를 통해 여러 개의 신호를 동시에 전송하는 기술이다. 아래는 다중화 과정을 간단히 설명하였다. 다중화된 시스틈에서 n개의 input이 자신들이 전송할 데이터들을 MUX(multiplexer)로 보내고 이 MUX는 스트림을 1개의 스트림으로 조합한다. 그리고 DEMUX에서 조합된 하나의 스트림을 요소별로 분리 한 뒤 각각 해당 선로로 보내게 된다. 이때 MUX에서 DEMUX로 이동하는 하나의 큰 흐름을 link라고 하고 이는 물리적 경로이다. link안에는 n개의 스트림에서 주어진 입출력 한쌍 사이의 전송을 위한 하나의 경로를 말한다. 정리=> 하나의 물리적 경로 link안에는 여러개의 (n개의) 채널이 있을 수 있다. 이런 다중..

3. 아날로그 신호 전송(아날로그signal)

1. 디지털 대 아날로그 전송 디지털 데이터를 아날로그 신호로 부호화하는데 3가지 방법이 있습니다. 1) 진폭 편이 변조(ASK) , 2) 주파수 편이 변조(FSK) 3) 구상 진폭 변조(QAM) 반송파의 정의는 아날로그 전송에서 발신자는 정보 신호에 기반이 되는 고주파를 생성한다 .이 고주파를 반송파라고 한다. 디지털 데이터를 아날로그 신호로 바꾸기 위해서는 이런 반송파 중 진폭, 위상, 주파수 중 하나를 변경하는 방법을 사용하고, 수신자는 반송파의 주파수에 맞추어지도록 조절한다. 1) 진폭 편이 변조 : ASK 방식 몇가지 신호 요소의 준위를 사용할 수 있지만 보통 2개의 준위(서로 다른 2개의 아날로그 신호)를 사용하여 ASK를 구현합니다. 한 신호의 최대 진폭은 0이며 다른 신호의 최대 진폭은 반..

2. 디지털 신호 전송(디지털 signal)

1. 디지털 전송 용어 정리 디지털 데이터를 어떻게 디지털 요소로 변환하는지에 대해 정리한다. 이런 변환에는 3가지 기술이 있다. 회선 부호화, 블록 부호화, 스크램블링(뒤섞기) 이 중 회선 부호화 방식에 대해 정리한다. 그 전에 몇가지 용어에 대해 정리하면, 1) 데이터 요소와 신호 요소 데이터 요소와 신호 요소를 구별해야한다. 데이터 통신에서 전송하려는 데이터들에서 하나의 데이틀 데이터 요소라고 한다. 즉 데이터 요소를 전송하려는 것이다. 신호 요소란 시간적으로 볼 때 디지털 신호의 가장 짧은 단위로 우리가 전송하려는 데이터 요소를 실어나르는 역할이 신호 요소이다. 2) 데이터 전송률(N), 신호 전송률(S), 데이터 통신의 한 가지 목표는 신호율은 낮추면서 데이터 전송률은 높이는 것이다. (비주기)..

1. 물리층

1. 물리층이란 데이터 통신과 네트워크에서 가장 하위 층인 물리층은 "전송 매체"를 통하여 전자기 신호 형태의 데이터를 전송하는 층이 된다. 모든 데이터 전송 과정은 네트워크 연결을 통하여 data 전송으로 이루어지게 된다. 예를 들어 사진을 전송하는 상황을 보면, 일반적으로 응용(사람)이 이용하는 데이터는 네트워크를 통해 전송될 수 없는 형태이다. 따라서 전송을 하기 위해서는 이러한 데이터를 신호(signal)로 바꿔 전송해야한다. 응용이 전송하는 데이터나 data signal의 형태는 아날로그 신호 또는 디지털 신호이다. 아날로그 신호와 디지털 신호의 특징에 대해 정리한다. 2. 데이터와 signal signal을 포함한 데이터는 아날로그 또는 디지털 신호이다. 데이터는 보통 한 위치에서 다른 외부로..

2. System Call: open

1. System call open #include #include #include #include #include int open (const char *name, int flags); int open (const char *name, int flags, mode_t mode) 리눅스 시스테 콜의 open은 첫 번째 매개변수로 주어진 문자열의 경로에 해당하는 파일 열고 파일 디스크립터를 반환하는 것이다. 두 번째 매개변수는 파일을 열 때 플레그를 지정한다. 그리고 세 번째 매개변수는 파일을 열 때 사용자가 그 연 파일의 권한을 부여하고 여는 것이다. #include #include #include #include #include int main() { int fd; fd = open("./file.tx..

1. 시스템 구조와 시스템 라이브러리

1. 운영체제란 운영체제를 정리한 글이 아니라 시스템 라이브러리를 이해하기 위한 최소한의 OS개념을 정리한다. 운영체제(operating system), 사용자 프로그램을 동작시키는 프로그램이 운영체제이다. 사용자 프로그램을 동작시키는 것과 운영체제에는 어떤 벽이 존재한다. 예를 들어 pc에서 두 개의 독립적 프로세스가 서로 방해하지 않도록 독립성을 보장하기 위해 두 개의 프로세스를 동시에 실행하고 관리하기 위한 것이 운영체제이다. 운영체제가 관리하는 것은 사실 하드웨어이다. 하드웨어를 관리해서 사용자가 하드웨어에 접근해서 하드웨어를 사용할 수 있도록 만들어주는 것이 운영체제이다. 따라서 정리해보면, 하드웨어를 동작시키거나 사용자 프로그램을 동작시키는 것이 운영체제이다. 2. 시스템 프로그래밍: 시스템 ..

Linux3) 리눅스 사용자 계정

1. 사용자 계정이란 컴퓨터라는 것은 실물 세계에 있는 것을 가상 세계로 연결해준다고 볼 수 있다. 사용자라는 것은 컴퓨터에서 사용자 계정을 말하는 것이다. 사용자 계정은 user ID(UID)라는 것을 통해 시스템에 존재한다. UID로 구현된 사용자는 실제로 시스템에서 UID를 가지고 유지가 된다. 사용자가 로그인할 시 shell이라는 것이 실행된다. 커널을 둘러싼 것이 shell인데 shell은 사용자가 입력한 명령어를 해석해서 커널에게 전달한다. 커널이 리턴하는 값을 shell이 사용자에게 전달한다(화면에 뿌려준다.) 각각의 리눅스의 각각의 프로세스는 로그인한 해당 프로세스를 실행시킨 사용자 아이디인 UID와 실제로 연결되어 있다. 사용자는 UID로 시스템에 저장되지만 우리는 UID를 사용하지 않고..

Linux2) 프로세스

1-1 유닉스에서 프로세스 유닉스 프로세스는 필요에 따라 다른 프로세스를 생성한다. 다른 프로세스를 생성한 프로세스를 부모 프로세스라고 하고 생성된 프로세스를 자식 프로세스 라고한다. 각 프로세스는 고유의 번호 PID를 가지고 있다. 유닉스가 부팅 될 때 모든 프로세스의 조상 프로세스인 init 프로세스가 있는데 고유번호는 1번이다. 1-2 프로세스 OS에서 실행중인 프로그램을 말한다. 디스크에 있는 프로그램 명령어는 실행이 되면 메인 메모리로 load되어 프로세스가 된다. 1-3 데몬 프로세스 유닉스 커널에 의해서 실행되는 프로세스로 특정한 서비를 제공하기 위해 존재한다. 예를 들어 웹 서비스를 제공하기 위해 httpd 프로세스가 동작해야한다. httpd 프로세스를 데몬 프로세스라한다. 데몬은 평소에 ..

Linux1) 리눅스 파일

시스템 프로그래밍 포스팅의 Linux1,2,3) 은 시스템 프로그래밍을 위해 필요한 기본 리눅스 개념만 정리한 것이다. 1-1. 파일 디스크립터 파일 디스크립터란 open을 통해 열면 리턴되는 값으로 파일 디스크립터 정수 값이 리턴되는데 그 값은 open으로 연 해당 파일을 가리키고 있으며 파일 디스크립터에는 다양한 정보를 담고 있다. 1-2. System call: open 파일을 열면 처음부터 읽을 수 있고 중간부터 읽을 수 있다. (사용자가 지정할 수 있다.) 하지만 파일을 열 때 따로 지정을 하지 않고 파일을 처음 읽으면 offset은 0이 되고 (이 값이 –1이 될 수는 없다.) 파일의 끝은 eof가 된다. 1-3. System call: write 그리고 쓸 때 역시 append 모드가 아니면..

5. SQL 명령어

1. SQL 명령어 : CREATE TABLE 1) 명령어 형태부터 보자. CREATE TABLE EMPLOYEE ... 위 명령어는 EMPLOYEE 이름을 가진 테이블을 생성하는 명령어이다. 우선 아래의 예시를 보자. CREATE TABLE EMPLOYEE ( ...., Super_ssn CHAR(9), Dno INT NOTNULL DEFAULT 1, CONSTRAINT A PRIMARY KEY(Ssn), CONSTRAINT B FOREIGN KEY(Super_ssn) REFERENCES EMPLOYEE(Ssn) ON DELETE SET DEFAULT ON UPDATE CASCADE CONSTRAINT C FOREIGN KEY(Dno) REFERENCES DEPARTMENT(Dnumber) ON DEL..