CS (14) 썸네일형 리스트형 메모리 가상 메모리프로세스는 프로그램을 실행하기 위해 메모리를 사용한다.그러나 사용되는 프로그램이 많고 모든 프로세스가 메모리에서 동작할 수 없기 때문에 효율적으로 사용하기 위해 프로세스는 가상 메모리를 사용한다.가상 메모리는 32bit 기준 프로세스 당 4GB가 할당된다.가상 메모리는 아래와 같은 구조로 구성되어 있다. 리눅스에서는 사진 외에도 커널 영역도 할당되어 있지만 중요한 것은 TEXT 영역과 스택 영역, 힙 영역이다. TEXT 영역 : 프로그램의 코드(명령어)가 저장된 영역PC(Procram Counter): CPU 내부에 있는 레지스터로 다음에 실행될 명령어의 주소를 가지고 있다. 이때 명령어의 주소가 TEXT 영역의 주소를 가리킨다.명령어가 실행될 때 값이 증가한다.STACK 영역 : 프로그램이 .. TCP Header TCP 헤더 필드Source Port & Destination Port송수신 포트 주소Sequence Number송신 프로세스가 지정하는 순서 번호세그먼트 전송 과정에서 전송되는 바이트의 수를 기준으로 증가TCP에서는 전송 데이터의 각 바이트마다 순서 번호가 존재Acknowledgement Number수신 프로세스가 제대로 수신한 바이트의 수를 읍닫하기 위해 사용ACK 플래그 비트가 지정된 경우에만 유효다음에 수신을 기대하는 데이터의 순서 번호를 표시ACK 응답을 받은 송신 프로세스는 ACK Number-1까지의 모든 데이터가 올바로 전송되었음을 확인할 수 있다.Data OffsetTCP 세그먼트가 시작되는 위치를 기준으로 데이터의 시작 위치를 나타낸다.TCP 헤더의 크기Window슬라이딩 윈도우 프로토.. HTTP와 HTTPS 프로토콜 우리는 하나의 서비스를 제작할 때, 크게 3가지로 나눈다. 1. 사용자들이 직접 접하는 클라이언트2. 클라이언트로부터 요청 받은 내용을 추려 전달해주는 서버3. 데이터를 저장하는 데이터베이스 보통은 서버에서 데이터베이스까지 관리하는 경우가 많다. 클라이언트와 서버는 서로 통신을 하여 데이터를 주고 받아야 하는데 이때 사용되는 통신 프로토콜이 Http 프로토콜이다. HTTP 프로토콜이란?Http 프로토콜은 정보(데이터)를 송·수신하도록 설계된 프로토콜이다. 기본적으로 요청과 응답으로 나누어지며, 요청은 클라이언트가 서버에 데이터를 요청할 때 사용되며, 구성 요소는 다음과 같다. 요청 구성 요소1. 요청 HeaderHearder는 클라이언트가 사용하는 브라우저 및 앱, 요청되는 데이터와 같은 핵심 정보를 전.. 데이터베이스 체계화 된 데이터의 집합데이터를 구조화하여 효율적으로 처리할 수 있도록 관리 스키마(Schema)데이터 모델을 기반으로 데이터베이스의 구조를 기술한 것External Schema특정 유저들이 필요로 하는 데이터만 표현그 외의 필요 없는 데이터들은 숨김사용 언어: VDLConceptual Schema전체 DB의 구조를 기술물리적인 저장 구조에 관한 내용은 숨김사용 언어: DDLInternal Schema물리적으로 데이터가 어떻게 표현되는지사용 언어: SDLVDL(View Definition Language) : External Schema를 정의하기 위해 사용되는 언어 대부분의 DBMS에서는 DDL이 VDL 역할까지 수행DDL(Data Definition Language) : Conceptual Schem.. 리눅스 파일시스템 가상 파일 시스템(VFS)가상 파일 시스템(VFS)은 다양한 종류의 파일 시스템을 마치 하나의 파일 시스템처럼 접근할 수 있도록 사용자에게 편의성을 제공하는 시스템이다. 대부분 운영체제는 자신의 특정 파일 시스템만을 지원한다.따라서 그 운영체제에서 지원하는 파일 시스템에서 생성된 파일만을 접근할 수 있다.그러나 리눅스에서는 가상 파일 시스템 개념을 도입하여 기본 파일 시스템(Ext2,3,4)는 물론 다른 운영체제의 파일 시스템(FAT32, NTFS, NFS 등)에서 생성된 파일도 접근할 수 있다. VFS는 새로운 파일 시스템이 마운트 될 때, 그 파일 시스템의 타입을 인식하여 그 파일 시스템에 해당하는 함수를 호출한다.마운트(mount): 저장 장치에 접근할 수 있는 경로를 디렉터리 구조에 편입시키는 작.. 스레드 스레드란?스레드는 프로세스의 실행 단위 이다.프로세스가 실행 중인 프로그램이라면, 스레드는 프로그램 내에서 작업을 수행하는 작업자라고 표현할 수 있다.프로세스는 최소 1개 이상의 스레드를 가지며, 스레드는 OS에서 프로세스에게 할당 한 가상 메모리를 공유한다.구성 요소스레드 IDPC(Program Counter)스레드는 CPU에 의해 점유당하다가 스케줄러에 의해 다시 선점 당함때문에 스레드는 어디까지 작업을 수행했는지 알아야 함이를 PC에 저장하며, 스레드는 개별적인 PC를 갖는다.레지스터 집합스택프로세스의 실행 단위가 하나인 경우에는 단일 스레드 라 하며, 여러 개의 경우 다중 스레드라고 한다.멀티 스레딩멀티 스레딩은 하나의 프로세스 내부에서 동시에 여러가지 일을 처리할 수 있도록 한다.스레드들은 프로.. 운영체제와 프로세스 운영체제운영체제의 종류에는 대표적으로 Windows, Linux, MaxOS 가 있습니다.그 외에도 많이 있지만 자주 사용되는 OS는 위와 같습니다. OS 역할우선 컴퓨터 시스템은 하드웨어와 소프트웨어로 구성되어 있습니다.소프트웨어는 하드웨어에 의해 실행되는데 하드웨어에는 CPU와 메모리, 다양한 입출력 장치로 구성되어 있습니다. 운영체제가 없어도 하드웨어가 동작하긴 하지만 소프트웨어인 프로그램이 운영체제 환경에서 작성되고, 실행되고 있습니다. 이와 같은 소프트웨어가 운영체제이며, 운영체제의 주 목적은 컴퓨터 시스템의 자원들을 효율적으로 관리하고 사용자에게 서비스를 제공합니다. 운영체제가 관리하는 자원에는 물리적 자원과 추상적인 자원이 있습니다.물리적 자원: CPU, 메모리 등과 같은 하드웨어추상적 자원.. TCP/IP 기본적으로 인터넷 프로토콜 상에서의 데이터 전송은 unreliable하다.따라서 데이터를 안정적으로 보낼 수 있는 방법이 필요했는데, 그것이 바로 TCP(Transmission control protocol)이다.unreliable은 데이터가 유실/손상 될 수 있고, 순서가 보장되지 않는 경우를 말한다. TCP/IP Stack1. Port16bits로 이루어진 이루어진 숫자 (0~65535)데이터를 주고 받기 위해서는 상대방 포트를 식별해야 하는데 인터넷 상에는 수많은 프로세스와 그 프로세스가 갖고 있는 포트들이 있기 때문에 포트만으로는 식별하기가 무척 어렵다.따라서 IP를 통해 Host를 유니크하게 식별하고, Host 내의 포트는 각각 다른 번호를 부여하여 유니크하게 식별하는 방법인 Socket이 등장.. 프로토콜과 OSI 7 Layer 네트워크 프로토콜네트워크 통신을 하기 위해 통신에 참여하는 주체들이 따라야 하는 형식, 절차, 규약을 네트워크 프로토콜이라 한다.네트워크 프로토콜은 하나만 있는 것이 아닌 여러 가지가 있는데, 이 프로토콜들을 모듈화하여 나눈 것이 OSI 7 Layer이다.OSI 7 LayerOSI 7 계층은 위와 같이 7가지로 나뉘어 있다.L7. 응용 계층애플리케이션 목적에 맞는 통신 방법 제공ex) HTTP, DNS, SMTP, FTP 등L6. 표현 계층애플리케이션 간의 통신에서 메시지 포맷 관리인코딩 디코딩암호화 복호화압축 압축 해제L5. 세션 계층애플리케이션 간의 통신에서 세션을 관리RPC (Remote Procedure Call)별도의 원격 제어를 위한 코드 없이 다른 주소 공간에서 함수 또는 프로시저를 실.. 네트워크 기초 네트워크란?컴퓨터 또는 기타 기기들이 리소스를 공유하거나 데이터를 주고 받기 위해 유선 혹은 무선으로 연결 된 통신 체계1. LAN과 WANLAN(Local Area Network)집, 학교, 회사 건물 등 제한된 범위 내에서 컴퓨터나 기타 기기들을 연결해서 데이터나 리소스를 공유할 수 있게 하는 네트워크Ethernet : 유선 통신Wifi: 무선 통신WAN(Wide Area Network)여러 LAN이나 다른 종류의 네트워크들을 하나로 묶어 멀리 떨어진 기기들도 통신이 가능하도록 만든 네트워크ex) ATM, wireless WAN(4G, 5G), Internet … 2. 인터넷네트워크의 네트워크전 세계에서 가장 큰 WANGlobal Network 3. ISP(Internet Service Provide.. 이전 1 2 다음 목록 더보기