준's 생각 정리소

고정 헤더 영역

글 제목

메뉴 레이어

준's 생각 정리소

메뉴 리스트

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록
  • 분류 전체보기 (32)
    • Web (0)
      • network (0)
    • Computer Science (16)
      • OS (5)
      • Network (11)
      • Data Science (0)
    • Hadoop (1)
      • Spark (1)
      • Hadoop (0)
    • Cloud (12)
      • Kubernetes (4)
      • Openstack (8)
    • Math (2)
      • 선형대수학 (2)
      • 응용통계학 (0)
    • PS (0)
    • 일상 (1)

검색 레이어

준's 생각 정리소

검색 영역

컨텐츠 검색

전체 글

  • REST API

    2024.03.28 by yellowmarine

  • Virtual Memory

    2024.03.20 by yellowmarine

  • IPC(Inter Process Communication)

    2024.03.20 by yellowmarine

  • Hash & Consistent hasing

    2021.01.11 by yellowmarine

  • Naver에 접속 해보자

    2021.01.08 by yellowmarine

  • Virtual Machine

    2020.10.15 by yellowmarine

  • Multiprocessor, Multiprograming

    2020.10.13 by yellowmarine

  • OS, DMA

    2020.10.13 by yellowmarine

REST API

REST API 목적성 서로 다른 시스템 간의 통신이 필요하다. 통신을 하는데 규약이 필요하다 REST(Representational State Transfer) 1. 구조와 원리 Stateless 한 client - server 통식 방식이다. Stateless : 요청에 관한 상태를 저장하지 않고 요청에 따른 작업 만을 수행하는 것을 뜻함. ex) 통신을 하는데 session, cookie등을 고려하지 않음. but, 로그인 유지등을 위해 bearer token을 사용하여 통신하기 때문에 REST가 완벽한 stateless 라고 생각하기 어려울 수 있음 URI 를 사용한 통신 방식 resource에 대한 식별자로 URI를 사용함 ex) …/book/1 과 같이 URI 를 통해 book에 대한 식별, ..

Computer Science/Network 2024. 3. 28. 14:50

Virtual Memory

Virtual Memory : 현재 수행되는 Process가 메모리에만 존재한다는 보장은 없다. 즉, 수행되는 프로그램의 일부분만 메모리로 올라간다. Logical Address Space는 Physical Address Space 보다 크거나 같아야한다. Page를 Swap in 하고 out하는 것이 필요하다. Virtual Memory는 Demand Paging, Demand Segmentation 기법을 통해서 표현될 수 있다. Demand Paging Page가 필요할 때에만 Memory에 올리자. (요청이 있을 때에만 Paging) 즉, Page가 필요하지 않다면, Page는 Physical Memory로 로드되지 않는다. Page Replacement 비어있는 Frame이 존재하지 않을 때에는..

Computer Science/OS 2024. 3. 20. 11:40

IPC(Inter Process Communication)

IPC란? process 끼리 데이터를 공유 혹은 특정 메세지를 전달하기 위해 사용하는 것을 목적으로 한다. OS의 경우 systemcall이 대표적이다. 필요성 특정 process의 child process와 통신이 필요한 상황(parent process 코드 변경 혹은 process kill) 각각 다른 process 간의 자원 공유가 필요한 상황, thread의 자원 공유와는 다른 상황. 하지만 thread의 경우도 IPC를 활용하여 공유를 한다. (동일 file에 대한 접근 후 write를 위한 동작을 할 경우 mutex에 걸리게 된다. ex) os.file.close() 의 경우 비정상적인 접근으로 문제를 일으킴) 성능 향상을 위한 multi processing, parrell process 를..

Computer Science/OS 2024. 3. 20. 11:39

Hash & Consistent hasing

Hash key - value, Hash 함수, Hash 테이블 3가지로 설명할 수 있다. 특정 key 값을 hash 함수에 대입하면 값을 반환하도록 설계된다. 반환된 값에 바탕으로 테이블의 크기 값으로 나눠 hash 테이블에 저장하게 된다. 위와 값이 table의 key값이 같은 경우 보통적으로 linked list로써 chaining hash를 구성한다. 하지만 linked list가 무한히 길어질 수 는 없기 때문에 이에 대해 LRU 방식 혹은 특정 길이 이상 길어질 경우 linked list를 리셋하는 방식을 사용한다. 생각해보기 : 위의 hash 방식을 사용하여 load balancer를 디자인 하는것은 좋은 방법일까? 단일 서버 환경에서는 좋은 방법일 수 있다. 하지만 naver, kakao,..

Computer Science/Network 2021. 1. 11. 17:14

Naver에 접속 해보자

인터넷에 처음 접속이 되는 상황에 naver.com에 접속을 할 경우 일어나는 과정을 순서대로 알아보자! 1. DHCP 처음 유선랜을 연결하기전 우리가 현재 가지고 있는 정보는 mac 주소뿐이다. 유선랜을 연결했다면 IP주소를 얻기위해 DHCP(Dynamic Host Configuration Protocol)을 사용하여 GWR(Gateway Router)로 부터 주소를 할당 받는다. 2. DNS application layer라고 칭할 수 있는 chrome, IE 에 naver.com을 입력. DNS 테이블을 봐도 naver.com을 찾을 수가 없다. DNS 서버(보통 GWR이 역할)에 naver.com 의 IP주소를 요청. 3.ARP ARP table에 IP에 맞는 mac 주소가 있는지 확인. nave..

Computer Science/Network 2021. 1. 8. 20:30

Virtual Machine

Virtual Machine 말 풀이 그대로 가상 머신으로써 하나의 컴퓨팅 머신의 OS 위에 새로운 OS를 만들어 사용하는 것을 의미한다. ex) Virtual box, KVM 등 하나의 컴퓨팅 머신 위에 구분을 짓는 이유는 뭘까? 장점 하나의 컴퓨팅 머신 위에 서로 다른 두가지 OS를 구동 시킬 수 있다. ex1 ) 하나의 컴퓨팅 머신에서 ubuntu 와 cent os 두가지 운영체제를 쓰고 싶을 경우 혹은 특정 ex2 ) 특정 software가 ubuntu bionic의 운영체제가 아니라 운영상의 문제로 ubuntu xenial을 써야하는 경우 한정된 자원에서 여러 이용자에게 격리된 서비스를 제공하기 위해 ex) cloud 서비스를 제공하기 위해 PM의 자원을 instance에 할당 후 제공. 독립된..

Computer Science/OS 2020. 10. 15. 15:58

Multiprocessor, Multiprograming

Multiprocessor vs Multiprograming Multiprocessing 컴퓨터 시스템 하나에서 여러 CPU(core)를 두는 구조. 다른 말로는 병렬처리 시스템이라고도 한다. 종류 Asymmetric Multiprocessing Master, slave 구조의 프로세서 구조를 가진다. 프로세서 각각은 private memory를 가진다. 하나의 master가 나머지 slave들을 관리 하기때문에 동기화의 문제(메모리 접근, 우선순위 등) 문제가 발생하지 않는다. 위의 문제가 없기 때문에 비교적 쉬운 구조이다. Symmetric Multiprocessing Master, slave 구조가 없다. 프로세서들은 메모리를 공유한다. 각각의 프로세서가 메모리에 접근이 가능하기때문에 동기화의 문제..

Computer Science/OS 2020. 10. 13. 17:40

OS, DMA

OS What is OS Operating system 항상 수행되는 프로그램, 하드웨어를 관리하고 프로그램 수행을 제어 및 모니터링 할 수 있게 해주는 프로그램 Kernel 이라고도 불린다. What to do? I/O device에 접근한다. File에 접근. 통계자료 제공. 에러 탐색. 프로그램 스케쥴링. DMA(Directe Memory Access) DMA 모델 이전에는 I/O 작업에 대해서 메모리에 접근하기 위해 CPU를 거쳐야했다. I/O 작업에 대해 DMAC(Directe Memory Access Controller)를 만들어 I/O 작업에 대한 업무를 끝마치고 이에 대한 정보를 Interrupt를 통해 CPU에 알려준다. 그러므로 무분별한 CPU 접근을 막고 대기시간을 줄일 수 있다.

Computer Science/OS 2020. 10. 13. 17:39

추가 정보

인기글

최신글

페이징

이전
1 2 3 4
다음
TISTORY
준's 생각 정리소 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바