초딩코보 루피
close
프로필 사진

초딩코보 루피

github: @denev6

  • All (43)
    • 개발일지 (5)
    • CS (14)
    • Algorithm (23)
    • Daily (0)
      • 일상 (0)
      • 후기 (0)
      • news (0)
  • 홈
  • 태그
  • 방명록

[CS] HTTP의 비지속적 연결과 지속적 연결, 메시지 형식

HTTP와 비지속적 연결특징)각 요청-응답 쌍을 개별 TCP 연결에서 처리.요청된 객체를 서버가 전송한 후 연결이 종료됨.HTML 파일, 이미지 등 여러 객체를 다운로드하려면 객체마다 새로운 TCP 연결을 생성.예시)HTTP 클라이언트 프로세스가 서버80번 포트로 TCP 연결소켓을 통해 경로를 포함한 HTTP 요청 메시지를 서버로 전달HTTP 서버 프로세스가 메시지 수신, 경로를 HTTP 응답 메시지에 캡슐화하여 클라이언트로 전송클라이언트가 응답 메시지 수신TCP 연결 종료 만약 웹사이트가 1개의 html과 10개의 이미지로 구성되어 있다면, 총 11개의 TCP 연결 생성 → 각 TCP 연결은 한 번의 요청과 응답만 처리함. 장단점)장점: 구현이 간단하며, 요청-응답이 독립적이라 연결 관리를 최소화.단점..

  • format_list_bulleted CS
  • · 2025. 1. 10.
[CS] 지역성과 Fast File System

[CS] 지역성과 Fast File System

오래된 Unix 파일 시스템 장점단순함. 단점 낮은 성능디스크를 RAM처럼 사용: 데이터를 임의의 위치에 저장하여 잦은 헤드 이동 발생512바이트의 작은 블록 크기단편화: 빈 공간 관리가 효율적이지 못해 디스크 공간이 조각나고, 파일이 여러 조각으로 나뉘어 저장.이러한 데이트 블럭 영역에서 B와 D를 삭제하면 이런 상태가 된다.데이터가 삭제되어도 연속된 청크가 아닌 두 블럭으로 단편화되어, 후 네 블럭으로 구성된 파일 E가 들어와도 이런 형태를 유지하기에, 파일 E를 읽을 때 포인터의 위치를 변경해줘야하는 번거로움을 겪는다.  FFS의 핵심 아이디어: 디스크에 대한 이해디스크의 물리적인 특성을 고려하여 파일 시스템의 성능 개선.기존 오래된 Unix 파일 시스템 인터페이스와 호환성을 유지함.  FFS의 주..

  • format_list_bulleted CS
  • · 2025. 1. 4.

[CS] 페이징: 더 빠른 주소 변환을 위한 TLB 기법

페이징, 왜 느려질까?운영체제에서 가상 메모리를 구현하는 대표적인 방식은 페이징(Paging) 이다. 페이징: 프로세스의 주소 공간을 일정 크기(페이지 단위)로 나누어 물리 메모리에 매핑하는 기법문제점: 매번 가상 주소 → 물리 주소 변환 시 페이지 테이블을 참조해야 하고, 그때마다 메모리를 추가로 읽게 되므로 성능 저하가 발생예) 모든 메모리 접근(load/store)마다 ‘페이지 테이블’을 찾아봐야 한다면? CPU 성능이 아무리 좋아도 속도가 크게 느려질 수밖에 없습니다.TLB(Translation Lookaside Buffer)의 등장이에, 느려지는 페이징 주소 변환 문제를 해결하기 위해 등장한 것이 바로 TLB다.TLB: CPU 내부에 있는 작은 하드웨어 캐시자주 참조되는 ‘가상 주소 ↔ 물리 주..

  • format_list_bulleted CS
  • · 2024. 12. 22.

[CS] 멀티프로세서 스케줄링(Multiprocessor Scheduling)

멀티프로세서 스케줄링(Multiprocessor Scheduling) 멀티프로세서 스케줄링(Multiprocessor Scheduling)은 여러 개의 CPU가 동시에 있는 컴퓨터에서 CPU 시간을 어떻게 효율적으로 분배하는 것에 대한 문제다. 단일 CPU만 있던 시절에는 한 번에 하나의 프로그램만 CPU를 차지할 수 있었기 때문에, 프로그램들이 차례로 CPU를 쓰도록 스케줄링하는 것이 주된 고민이었다. 하지만 요즘은 컴퓨터 안에 여러 개의 CPU 코어가 들어 있기 때문에, 동시에 여러 프로그램을 처리할 수 있다. 이때, 어떤 CPU에 어떤 프로그램을 할당할지 결정하는 것이 바로 “멀티프로세서 스케줄링” 문제다. 과거에는 데스크톱이나 노트북 컴퓨터에 CPU가 1개뿐이었고, 멀티프로세서 시스템은 서버나 슈..

  • format_list_bulleted CS
  • · 2024. 12. 16.

[CS] 자바 실행 과정 및 JVM

자바는 한 번 작성하면 어디서든 실행할 수 있는 "Write Once, Run Anywhere"라는 철학을 바탕으로, 플랫폼 독립성을 가진 대표적인 프로그래밍 언어다. 이러한 플랫폼 독립성은 JVM(Java Virtual Machine)이라는 가상 머신 덕분에 가능한데, 관련해서 무엇인지 작성해보겠다.1. 자바 실행 과정의 특징자바 프로그램의 실행 과정은 크게 다음과 같다. 소스 코드 작성 및 컴파일개발자는 .java 확장자를 갖는 자바 소스 코드를 작성하면, javac 컴파일러가 이 소스 코드를 바이트코드(.class)로 컴파일한다.바이트코드: 특정 운영체제에 종속되지 않는 중간 형태의 코드클래스 로딩 및 링크(Linking)실행 시점에 JVM은 클래스 로더(Class Loader)를 통해 필요한 .c..

  • format_list_bulleted CS
  • · 2024. 12. 8.
[CS] 단일프로세서 시스템(Single Processor System)

[CS] 단일프로세서 시스템(Single Processor System)

1. 프로세스(Process)와 프로그램(Program)프로그램은 하드디스크 위에 고정되어 있는 코드와 데이터의 집합→ 죽어있는 상태프로세스는 이 프로그램을 실제로 메모리에 올려 CPU가 명령어를 하나씩 실행하는 것 → 살아있는 존재프로그램: 하드디스크 상의 정적인 명령어와 데이터 묶음프로세스: 메모리에 로드되어 CPU가 실행 중인 “활동하는” 프로그램쉽게 말해, 게임 실행 파일 아이콘은 그냥 프로그램이고, 그것을 더블 클릭해서 게임이 실제로 화면에 움직이는 상태가 되면 그게 프로세스입니다.  2. 왜 프로세스가 중요할까?우리는 평소 컴퓨터로 작업할 때 여러 프로그램을 동시에 켜놓음.여러 작업이 동시에 실행 중인 것처럼 보이는데, 사실 CPU는 한 번에 하나의 명령만 처리할 수 있다.그렇다면 어떻게 여러..

  • format_list_bulleted CS
  • · 2024. 12. 2.
  • navigate_before
  • 1
  • 2
  • 3
  • navigate_next
공지사항
전체 카테고리
  • All (43)
    • 개발일지 (5)
    • CS (14)
    • Algorithm (23)
    • Daily (0)
      • 일상 (0)
      • 후기 (0)
      • news (0)
인기 글
전체 방문자
오늘
어제
Copyright © Ruppi 모든 권리 보유.
SKIN: Copyright © 쭈미로운 생활 All rights reserved. Designed by JJuum.
and Current skin "dev-roo" is modified by Jin.

티스토리툴바