💻CS10 [운영체제] 프로세스와 스레드 프로세스와 스레드의 개념 1. 프로그램 우선, 프로그램(Program)은 컴퓨터에서 실행되는 명령어들의 집합으로, 원하는 작업을 수행하기 위해 작성된 소프트웨어입니다. 프로그램은 사용자가 원하는 기능을 구현하고 컴퓨터에게 명령을 내리는 역할을 합니다. 예를 들어 크롬이라는 웹 브라우저가 대표적인 프로그램입니다. 바탕화면에 있는 크롬을 선택하면 윈도우 창이 열리면서 실행이 됩니다. 2. 프로세스 프로그램을 실행하면 해당 프로그램의 인스턴스 한개가 생성이 되는데 이를 프로세스라고 합니다. 프로세스는 실행중인 프로그램의 인스턴스이며 메모리에 로드되어 실행되는 독립적인 작업단위를 가집니다. 작업관리자를 보면 Chrome이라는 프로세스가 실행이 된 것을 알 수 있습니다. 3. 스레드 그런데 위 사진을 보면 크롬에.. 2023. 6. 19. [WEB/이론] 웹 브라우저에 https://www.naver.com을 입력하면 일어나는 일 / SSL, TLS, OSI 7계층, DNS, HT 요약 웹 브라우저가 호스트명을 추출 후 DNS(애플리케이션 계층)에 IP 주소를 물어본다 (DNS query) 해당 주소와 TCP 연결 후 SSL/TLS 연결 HTTP 메시지 생성 후 SSL/TLS 암호화, TCP 포트번호(전송 계층)와 IP 주소(네트워크 계층)를 추가 랜카드(물리 계층)를 통해 전송, 이 때 스위치(데이터 링크 계층)와 라우터(네트워크 계층)를 통해 목적지로 메시지가 전달 통신이 끝난 후 4-way handshake을 통해 연결을 종료 지난 게시글에 네트워크 보안 수업을 들으면서 공부했던 내용을 더 추가했다 과정 설명 1) 웹 브라우저에 주소를 입력한다 웹 브라우저는 URL에서 도메인을 추출한다 https://www.naver.com -> www.naver.com 도메인만 가지고는 어.. 2023. 4. 1. [JAVA] Floyd-Warshall 플로이드-워셜 / 백준 11404 플로이드-워셜(Floyd-Warshall) 알고리즘이란? 가중 그래프에서 최단 거리를 구할 때 사용하는 알고리즘이다 아래 그래프를 보자 2에서 3으로 갈때 가능한 거리는 2 -> 3, 거리 = 3 2 -> 1 -> 3, 거리 = 4 - 2 = 2 최단 거리는 2 -> 1 -> 3 으로 가는 2다 만약 다른 노드 끼리의 거리를 구하려면? 위 그래프는 눈대중으로 바로 알 수 있지만 복잡해질 경우 찾는데 오래걸린다 플로이드-워셜을 이용해 접근해보자 위 이미지에서 k 값은 중간 노드다 k가 0 부터 4까지 값이 있는데 이는 중간 노드가 없을 때, 노드1일 때 노드2일 때 노드3일 때 노드4일 때를 나눠서 두 노드 사이에 중간 노드가 존재할 경우 중간 노드를 거칠 경우와 안걸칠 경우 중 최단 거리를 업데이트 해가.. 2022. 12. 28. [JAVA] TreeMap 트리맵 / 백준 7662 https://docs.oracle.com/javase/7/docs/api/java/util/package-summary.html TreeMap을 알아보기에 앞서 상속 구조를 살펴보자 Map(인터페이스) -> SortedMap(인터페이스) -> NavigableMap(인터페이스) -> TreeMap(구현) 이제 하나씩 살펴보자 1. Map 맵은 으로 이루어진 자료구조다 키는 중복된 값을 가질 수 없으며 각 키는 하나의 값을 가진다 2. SortedMap SortedMap은 Map을 extends한 인터페이스다 Map과의 차이점은 이름 그대로 키 값들을 정렬한다 인터페이스이기 때문에 다음과 같이 이용할 수 없다 SortedMap sortedMap = SortedMap(); // 오류 SortedMap을 이.. 2022. 12. 27. [WEB/이론] 네트워크를 다시 또 내부로 자르는 서브넷팅 서브넷팅이 필요한 이유 아이피의 길이는 8bit * 4 = 32bit 이다 경우의 수는 2^8 = 0~255 = 00000000~11111111이므로 총 256가지이다 사설 아이피가 192.168.0.10/24 이라고 하자 뒤의 /24는 서브넷 마스크의 bit 수 이고 이는 기본적으로 C class를 의미한다 따라서 24bit를 네트워크 아이디 뒤 8bit를 호스트 아이디로 이용한다 11111111 11111111 11111111 00000000 호스트 값 중 00000000인 값은 없는 값이고 11111111인 값은 브로드캐스트 값으로 써야하기 때문에 호스트 값은 256 - 2 = 254개만 쓸 수 있다 여기서 문제는 ISP 입장에서 생각해볼 때 발생한다 A라는 사람이 ISP에게 공인아이피 기준으로 1.. 2022. 9. 24. [WEB/이론] Encoding, UTF-8, URL Encoding 인코딩은 옛날에 PMP에 동영상 넣을 때부터 사용했던 거라 용어는 친숙했지만 그게 다였다 웹 개발을 하면서 html 문서에 인코딩을 꼭 하라고 해서 왜 쓰는지 궁금해져서 정리해봤다 Encoding 사람이 컴퓨터에 0과 1만 가지고 정보를 읽고 쓰면 불편하기 때문에 우리가 사용하는 글자들에 각각 대응하는 숫자를 매핑시킨다 즉, 사람의 문자를 컴퓨터가 알아볼 수 있도록 바이너리 신호로 바꿔주는 것을 문자 인코딩이라고 한다 아래는 초창기 미국에서 만들어진 아스키 코드표이다 영어와 일부 특수문자들만 포함되어 있다 빨간색으로 표시된 문자를 입력하면 초록색으로 표시된 바이너리 코드로 변환되어(인코딩) 컴퓨터가 이해할 수 있도록 한다 UTF-8 아스키 코드표는 한글은 포함되어 있지 않았으며 한글을 쓰고 싶은데 문자열.. 2022. 9. 1. 이전 1 2 다음