raw_sniffer.py를 사용한 패킷 분석 (raw_sniffer.py 소스 코드는 제 것이 아니라서 다음에 분석할 때 부분적으로 올리겠습니다.) - 문자열 전송 - 패킷 캡처 - 패킷 영역 나누기 Ø Ethernet header 1.Destination(MAC address) : 00:00:00:00:00:00 (loop back) 2.Source(MAC address) : 00:00:00:00:00:00 (loop back) 3.Type : IPv4 0x0800 (해당 영역의 값이 0x0600 이상이면 Ethernet 2.0의 Type으로 해석하고, 0x0600 미만이면 IEEE 802.3의 Length로 해석한다. 따라서 패킷은 Ethernet 2.0 프레임의 IP 프로토콜) Ø IP heade..
본 내용은 학교 강의+반효경 교수님 강의를 통해 개인적으로 공부한 내용입니다. 책은 쉽게 배우는 운영체제(한빛 아카데미)를 참고했습니다. 조언은 언제든지 감사합니다 ! CPU 스케줄링 개요 목적 CPU 스케줄러는 프로세스가 생성된 후 종료될 때까지 모든 상태 변화를 조정하는 일을 한다. 이 스케줄러가 하는 CPU 스케줄링은 어떤 프로세스에 CPU를 배정할지 결정하고, 이 작업은 컴퓨터 시스템의 효율에 직결되는 중요한 일이다. CPU 스케줄링의 본 목적은 모든 프로세스가 공평하게 작업할 수 있도록 하는 것이다. 하지만 안정성과 효율성을 높이기 위해 공평성의 일부분을 희생해야 한다. 다음은 스케줄링이 추구하는 목적들이다. 공평성 : 모든 프로세스가 자원을 공평하게 배정받아야 하며, 특정 프로세스가 배제되어서..
본 내용은 학교 강의를 통해 개인적으로 공부한 내용입니다. 책은 쉽게 배우는 운영체제(한빛아카데미)를 참고했습니다. 조언은 언제든지 감사합니다 ! 스레드란 프로세스의 코드에 정의된 절차에 따라 CPU에 작업을 요청하는 실행 단위, 흐름의 단위다.그렇다면 프로세스와 스레드의 차이는 무엇일까?운영체제 입장에서의 작업 단위는 프로세스이고 CPU 입장에서의 작업 단위는 스레드다. 작업 관리자를 열어 성능 탭을 눌러보면 CPU의 처리 현황을 알 수 있는데, 프로세스는 161개인 반면 스레드는 2228개나 된다.즉, 하나의 프로세스에 여러 개의 스레드 흐름이 진행되고 있다는 것이다. 멀티태스크와 멀티스레드 멀티태스크는 CPU가 시분할 시스템으로 작업을 처리하는 것으로, 이때 전달받은 프로세스는 하나의 스레드로 이루..
본 내용은 재학중인 학교 강의에 개인적인 공부를 더한 흔적입니다. 때문에 제가 조금은 오해한 부분이 있을 수 있습니다. 발견하실 경우 댓글로 남겨주시면 정말 감사하겠습니다 !! (책은 Computer_Networking_A_Top-Down_Approach를 참고했습니다) 참고 : Packet switching vs Circuit switching Store-and-Forward 패킷 스위칭 네트워크에서는 라우터가 패킷을 온전히 다 수신한 후 저장을 한다. 그런 다음 아웃 바운드 링크(전송하는 쪽의 링크)로 패킷을 내보낼 수 있다. 이 방식이 store-and-forward 방식으로 패킷 스위칭에서는 필수로 이 과정이 시행돼야 한다. 이러한 이유는 패킷의 정보가 헤더 부분에 있고, 이를 열어봐야 하기 때문..
본 내용은 학교 강의를 통해 개인적으로 공부한 내용입니다. 책은 쉽게 배우는 운영체제(한빛아카데미)를 참고했습니다. 조언은 언제든지 감사합니다 ! 프로세스 메모리 구조 코드 영역프로그램의 코드 본문이 저장되는 영역으로 읽기 전용(수정 불가)이다.데이터 영역프로그램이 사용하는 변수나 파일 등의 각종 데이터를 저장하는 곳이다. 변수 중에서도 전역 변수가 할당되는 영역이다.힙 영역동적으로 할당되는 변수 영역이다. c언어의 기준으로 malloc() 함수나 calloc() 함수에 의해 생성된 변수들이 이 곳에 할당된다. 동적 할당은 프로세스의 메모리 관리를 효율적으로 하기 위한 필수 요소다.스택 영역함수 호출이 발생할 경우 함수 호출의 전반적인 처리와 리턴 값을 가지고 있다. 그리고 이러한 함수에서 사용되는 지역..
본 내용은 학교 강의를 통해 개인적으로 공부한 내용입니다. 책은 쉽게 배우는 운영체제(한빛아카데미)를 참고했습니다. 조언은 언제든지 감사합니다 ! 프로세스가 무엇일까 ? 프로세스란 운영체제 입장에서 하나의 작업 단위다. 그럼 프로그램은 무엇일까? 프로그램과 프로세스의 차이프로그램은 하드디스크 같은 보조기억장치에 저장된 절차(코드+데이터)다. 아직 실행되지 않은 정적인 상태이다. 폰 노이만 구조의 컴퓨터에서 프로그램을 실행하기 위해서는 메모리상에 올라와 있어야 한다. 프로그램을 메인메모리 위에 올려 실행한 것이 프로세스다. 즉 실행중인 프로그램이 프로세스다. 평소에 많이 열어본 적이 있는 작업 관리자를 보면 현재 실행중인 프로세스 목록들이 표시된다. 당장 우리 눈에 보이는 프로세스는 위의 5개인 것 같지만..
본 내용은 재학중인 학교 강의에 개인적인 공부를 더한 흔적입니다. 때문에 제가 조금은 오해한 부분이 있을 수 있습니다. 발견하실 경우 댓글로 남겨주시면 정말 감사하겠습니다 !! (책은 Computer_Networking_A_Top-Down_Approach를 참고했습니다) 인터넷(The Internet)은 전 세계적으로 수억 대의 컴퓨팅 장치를 상호 연결하는 컴퓨터 네트워크다. 그리고 인터넷을 통해 컴퓨터는 네트워크 통신을 할 수 있게 된다.라우터와 스위치들을 노드라 하고 이들을 잇고 정보를 전달하는 선을 링크라 한다. 종단 시스템(end system)은 서로 통신을 하는 송신 시스템과 수신 시스템을 말하며 시스템은 통상 컴퓨터로 생각하면 된다. 종단시스템이라는 용어는 보통 LAN에서는 스테이션(stati..
본 내용은 학교 강의를 통해 개인적으로 공부한 내용입니다. 책은 쉽게 배우는 운영체제(한빛아카데미)를 참고했습니다. 조언은 언제든지 감사합니다 ! About to Kernel커널은 프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵심적은 기능을 모아놓은 것이다. 위의 그림에서 보이듯이 운영체제는 크게 인터페이스 + 커널의 구조이다. 운영체제의 핵심적인 기능들이 커널에 모여있다면, 인터페이스(GUI)는 이러한 커널을 사용자가 보다 편리하게 사용할 수 있게 해준다. 단 사용자가 사용하는 인터페이스는 다시 시스템 호출이라는 인터페이스를 통해 커널에 접근해야 한다. 다시말해 사용자가 커널에 접근할 수 있는 유일한 수단이 시스템 호출이다.시스템 호출은 커널이 자신을 보호하기 위한 수단으로 사용자나 ..
- 파이썬 for Beginner 연습문제
- Spring
- 선형 회귀
- 방명록 프로젝트
- 프로그래머스
- 버퍼오버플로우
- 파이썬 for Beginner 솔루션
- 지옥에서 온 git
- BOF
- Do it! 정직하게 코딩하며 배우는 딥러닝 입문
- JPA
- 쉽게 배우는 운영체제
- shell code
- Python Cookbook
- 스프링 테스트
- 패킷 스위칭
- Gradle
- Spring Boot
- jsp
- Computer_Networking_A_Top-Down_Approach
- 생활코딩 javascript
- Thymeleaf
- 리버싱
- Spring Data JPA
- 스프링
- 운영체제 반효경
- spring mvc
- 김영환
- 쉘 코드
- JUnit
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Total
- Today
- Yesterday