[운영체제] 프로세스 & 스레드
CS/운영체제2022. 3. 14. 12:26[운영체제] 프로세스 & 스레드

✔️ 프로세스란 ? 메모리 영역에 올려 실행 중인 프로그램의 인스턴스(독립적인 개체) 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램 하나의 프로세스는 반드시 하나 이상의 스레드를 가진다. 운영체제로 부터 시스템 자원을 할당받는 작업의 단위 시스템 자원 1) CPU 시간 2) 운영되기 위해 필요한 주소 공간 3) Code, Data, Stack, Heap의 구조로 되어 있는 독립된 메모리 영역 ✔️ 프로세스의 특징 프로세스는 각각 독립된 영역(Code, Data, Stack, Heap의 구조)을 할당 받는다. 기본적으로 프로세스당 최소 1개의 스레드(메인 스레드)를 가지고 있다. 각 프로세스는 별도의 주소 공간에서 실행되며, 한 프로세스는 다른 프로세스의 변수나 자료 구조에 접근할 수 없다. 한 프로..

[Linux] ELF(Executable and Linkable Format) 파일 형식
Linux2022. 3. 12. 22:43[Linux] ELF(Executable and Linkable Format) 파일 형식

✔️ ELF(Executable and Linkable Format) 파일 형식 Linux, Unix 시스템의 표준 바이너리 파일로 Object 파일 및 실행 파일이다. Window 시스템에서의 PE 파일 형식이 Linux에서 ELF 파일 형식이다. 링커를 거쳐 나온 실행파일이라 생각하면 된다. 디스크에 저장되어 있던 프로그램이 메모리 영역으로 올라가면 컴퓨팅 자원을 사용하여 서비스를 제공해주는 것 ELF에서는 프로그램이 실행될 때 메모리에 올라가야 할 각 부분들을 미리 정리해 관리하다가 실행시 정리된 부분(코드, 전역 데이터, 읽기 전용 데이터 등)을 메모리에 올리게된다. 이렇게 메모리에 올라온 주소 공간의 .text 섹션 (코드 영역)의 명령어를 한 라인씩 실행하며 프로세스가 진행된다. ✔️ ELF ..

WSL (Windows Subsystem for Linux) 이란 ?
Study/Study2022. 3. 12. 18:39WSL (Windows Subsystem for Linux) 이란 ?

✔️ WSL (Windows Subsystem for Linux) 이란 ? Hyper-V 기반의 경량화된 가상화 기술을 사용하여 실제 리눅스 커널을 탑재해 Windows 운영체제에서 Linux 운영체제를 구동할 수 있도록 해주는 기술이다. Linux의 호환과 Bash도 사용가능하고 바이너리를 컴파일 없이 설치하고 실행할 수 있다. WSL은 Windows에서 GNU/Linux 계열의 실행 파일 표준인 ELF(Executable and Linkable Format) binary 파일들을 실행할 수 있게 해 준다. ✔️ WSL1과 WSL2 비교 기능 WSL1 WSL2 Windows와 Linux 통합 ✅ ✅ 빠른 부팅 시간 ✅ ✅ 작은 리소스 공간 ✅ ✅ 관리 VM ❌ ✅ 전체 Linux 커널 ❌ ✅ 전체 시스..

[Linux] DataBase (MariaDB) 설치 및 설정
Linux2022. 3. 11. 17:32[Linux] DataBase (MariaDB) 설치 및 설정

✔️ MariaDB Mysql 코드를 기반으로 개발한 오픈소스 RDMBS (관계형 데이터베이스) Mysql과 소스코드가 같으므로 명령어, 사용법, 구조가 Mysql과 동일하다. ✔️ MariaDB 설치 및 설정 1. 패키지 설치 2. 서비스 활성화 3. 방화벽 설정 4. 기본 보안 설정 5. 설정 파일 1. 패키지 설치 [root@server ~]# yum -y install mariadb-server maria-client [root@server ~]# systemctl start mariadb [root@server ~]# systemctl status mariadb [root@server ~]# rpm -qa | grep mariadb mariadb-5.5.68-1.el7.x86_64 mariadb..

[Linux] HTTPS (HTTP Secure), openssl
Linux2022. 3. 11. 12:44[Linux] HTTPS (HTTP Secure), openssl

✔️ HTTPS (HTTP Secure)란 ? HTTP protocol의 암호화된 버전이다. HTTPS를 사용하는 기술적인 이유는 HTTP는 통신 시 데이터를 평문으로 주고 받는데 HTTPS를 사용하면 통신 데이터가 암호화되어 내용을 읽을 수 없으므로 보안적인 측면에서 사용을 권장한다. SSL (Secure Socket Layer) - 넷스케이프사에서 개발한 인터넷 보안 프로토콜 TLS (Transport Layer Security) - SSL 이 표준화 되면서 바뀐 이름 HTTPS를 적용하려면 키와 인증서를 발급해야한다. 키를 발급받는 것은 인증서를 키로 암호화해서 안전하게 보관하기 위해서다. ✔️ HTTPS 암호화 방식 (웹 사이트 인증기관) 인터넷 사이트는 자신의 정보와 공개키를 인증기관(CA)에 ..

[Linux] 가상 호스트 (Virtual Hosts)
Linux2022. 3. 11. 12:35[Linux] 가상 호스트 (Virtual Hosts)

✅ 가상 호스트 (Virtual Hosts) 가상 호스트란 기본적으로 웹 서버에 존재하는 주 호스트 예를 들어 (aaa.com) 이라는 도메인을 사용하고 있지만 한 서버에 (bbb.com) / (ccc.com) 등 여러 도메인을 등록하여 사용하는 것이다. 가상 호스트 서버를 이용해 제한된 공간 안에서 여러개의 홈페이지를 제공해주는 서비스(웹, 메일 등)가 호스팅 서비스이다. ✅ 가상 호스트 종류 이름 기반의 가상호스트 (Name-based virtual host) 주소 기반의 가상호스트 (IP-based virtual host) 포트 기반의 가상호스트 (Port-based virtual host) 기본 가상호스트 (Default virtual host) 이름 기반의 가상호스트 (Name-based vir..

image