본문 바로가기

전체 글140

[운영체제] OT 이어서 이제 부터는 한학기동안 배울 수업내용이 어떤건지 전반적으로 살펴보겠습니다. 일단 컴퓨터시스템의 구성을 크게 한번 보겠습니다. 여러분들이 잘 알고 있듯이 컴퓨터 시스템에는 하드웨어들이 존재하죠. 하드웨어가 있습니다. 예를 들면 cpu, 또는 메모리 그리고 각종 입출력 장치들, 보조기억장치, 네트워크 장치 다 포함해서 IO device라고 합니다. 그래서 cpu와 메모리 그리고 기타 기본 장치들 이렇게 포함해서 hardware component들이 존재하고요. 그 다음에 위에 보면 software layer가 있죠. SW layer보면 각종 application들이 그 시스템에 설치되어 있는 각종 응용프로그램들이 실행이 됩니다. 이 하드웨어 기반으로 실행을 하는데 결국은 위에 있는 애플리케이션 영역을.. 2022. 10. 12.
[컴퓨터네트워크개론 master] 1-2. 네트워크 모델(보충) 여기에서 알아야 할것은 네트워크를 쪼개는 것이 왜 efficient하는지를 알아야합니다. 저번 1-1에서 2계층의 개념으로 네트워크를 쪼개면 좋다라고 얘기를 했습니다. 이 말의 뜻은 즉 하나의 네트워크에 사용하고 있는 단말을 줄이면 됩니다. 하지만 실제로 인간이 사용하고 있는 단말을 줄인다는 것은 현실적인 방법이 아님으로 네트워크를 쪼개는 것입니다. 해당 사진의 기계는 허브라는 물건인데 바로 네트워크를 여러개로 쪼개는 역할을 해줍니다. 위 사진에는 총 24개의 포트가 존재하는데요. 각 포트가 하나의 네트워크입니다. ip라는 것을 알고 있다면 하나의 포트는 하나의 ip를 가지고 있다고 알고 계시면 되겠습니다. 혹시 저번 1-1에서 이해가 안됐을 것 같아서 2계층의 이야기를 한번만 다시 설명하겠습니다. 하나.. 2022. 10. 8.
[컴퓨터네트워크개론 master] 1-1. 네트워크 모델 네트워크 모델이란? 우리가 흔히 생각하는 네트워크는 인터넷이 있겠죠. 많은 것들이 인터넷에 연결되어 있고 핸드폰이든 노트북이든 그런것들을 어떻게 모델할 건지 입니다. 그럼 네트워크 모델에서 데이터들이 어떻게 움직이냐? 주로 packet이란 것이 움직입니다. 지금 단계에서는 packet == data라고 생각을 해주시면 됩니다. 이 패킷이 전달되기 위해서는 출발지 그리고 목적지가 존재합니다. 그래서 이 출발지, 목적지 정보를 어떻게 쓸거며, 목적지까지 가는 길을 어떻게 찾을 것인지 하는 여러 이슈들이 있습니다. 그리고 때로는 packet을 잃어 버렸을 때 어떻게 할건가 이러한 전반적인 내용을 컴퓨터네트워크개론 전반적으로 다루게 됩니다.(결국에는 끝에서 배우겠다는 것) 위 그림이 네트워크 모델이고 전반적으로.. 2022. 9. 28.
[컴퓨터네트워크개론 master] 제발 이번엔... 하... 이번에 컴퓨터네트워크개론 수업을 재수강하게 되었습니다... 마지막 과제랑 시험을 죽쓰니까 성적이 참... 불행중 다행인건 같은 교수님 수업을 재수강하게 되서 자료랑 수업내용이 아예 똑같습니다. 덕분에 이번에 컴퓨터네트워크개론을 master할 기회가 생긴것 같습니다. 어차피 취준해야 되는 이 시점에서 좋게좋게 생각해야겠죠... 시험을 준비하면서 복습하는 개념에서 글을 올릴 예정입니다. 당장 다음주에 시험이니 빨리빨리 복습하고 올려야 겠습니다. 나름 2회차이기 때문에 올리는 내용들은 꽤나 정확할 것 같습니다. 그럼 재밌게 구경하세요 ㅎㅎ 2022. 9. 27.
Intellij maven 프로젝트 생성방법(새로운 ui) jpa를 공부하려고 maven 프로젝트를 생성하는데 intellij의 프로젝트 생성 ui가 바뀌어서 조금 해맸다. 맨 처음 ui에서 new project를 클릭하면 위 화면이 뜨는데, Maven Archetype을 클릭하면 절대 안되고!! New Project에서 Maven을 클릭하고 Advanced Settings에서 groupid, artifactid를 설정하고 create하면 된다. 별거 아닌데 괜히 시간을 낭비하지 말자! 2022. 7. 26.
맥 h2, zsh permission denied 오류 문제 해결 권한이 없어서 생긴 문제, spring 시작할려고 h2 깔았는데 문제가 생겨서 조금 난감했지만 권한만 주면 쉽게 해결 가능. 터미널에서 해당 h2.sh파일이 있는 디렉토리에서 chmod755 h2.sh 명령 입력해주면 권한을 가지게 됨. chmod577 h2.sh 그 이후에 ./h2.sh 실행하면 h2가 실행된다. ./h2.sh chmod755의미가 궁금해서 대충 찾아 봤는데 읽기:4, 쓰기:2, 실행:1 이런식으로 권한에 값을 부여하고 세자리수의 의미는 각각 첫번째 자리: 소유자 권한, 두번째 자리: 그룹 사용자 권한, 세번째 자리: 기타 사용자의 권한이다. 그래서 chmod755는 소유자에게 모든 권한(4+2+1)을 주고 그룹, 기타 사용자들에게는 (4+1)읽기와 실행 권한을 주는 의미이다. 맥은 항.. 2022. 7. 26.
[컴퓨터네트워크] TCP Congestion Control Congestion 인터넷 상에서 congestion이 일어나는 원인은 다음과 같다: 1. Connectionless packet-switched(Udp, IP같은) 네트워크에서 무조건으로 패킷을 보낼때, 이때 packet switched 네트워크에서는 속도에 상관없이 packet을 보내기 때문에 이걸 받는 쪽에서 감당 못할때 congestion 발생. 2. Router에 있는 큐가 꽉차서 더 이상 패킷을 저장할 수 없을때 congestion 발생한다. 이러한 congestion은 결국 packet을 잃거나 delay가 늘어나는 현상이 발생한다. 이러한 현상을 해결하기 위해 Congestion Control을 한다. Congestion Control Congestion Control의 목적은 delay를.. 2022. 5. 24.
[컴퓨터네트워크] 1. Introduction 현재 우리 인터넷의 크기는 원형의 매우 복잡한 연결선과 점들로 이루어져있다고 한다. 마치 우주를 생각하면 된다라 할까... 기본적으로 네크워크 또는 인터넷이라고 하면 클라이언트와 서버라는 개념이 있어야 한다. 서버는 인터넷 서비스를 제공하는 컴퓨터이고 클라이언트는 인터넷을 사용하는 우리들의 컴퓨터이다. 그래서 위의 지도에서 대부분의 클라이언트와 서버는 지도의 가장자리에 위치해 있다. 이걸 영어로 network edge라고 한다. 반대로 network core에 있는 녀석들은 routers라고 불리는 녀석들이며 클라이언트와 서버 사이를 연결해주는 통로들이라고 생각하면 된다. network edge는 서버와 클라이언트를 연결하는데 연결하는 방식에는 두가지 방식이 있다. 첫번째 방식은 TCP이다. TCP을 사.. 2022. 1. 19.
야메 C언어 강좌: 11. 포인터(1) 이전 강좌를 작성하고 굉장히 오랜 시간이 지나서야 해당 강좌를 작성하기 때문에 이전 강좌와 연결되지 않는 부분이 있더라도 양해부탁드리고 봐주시길 바라겠습니다. 사실 야메 강좌이기 때문에 포인터에 대해서 어떻게 설명을 해야 할지 굉장히 고민이 되었습니다. 저는 포인터를 처음 배우고 이전까지 배운 내용에 대한 회의감과 C언어와 멀어지는 느낌을 받기까지 하였습니다. 하지만 개인마다 포인터를 배우고 더욱 흥미를 느끼는 사람도 있기 때문에 최대한 간단하게 포인터에 대해 얘기하겠지만 그래도 최소한의 요점정도는 적어두도록 하겠습니다. (더욱 자세한 내용을 원하시는 분들은 다른 블로그를 찾으시길 바라겠습니다) 포인터에 대해서 알기 전에 주소라는 개념을 알고 계셔야 합니다. "엥 주소????? 갑자기????" 라고 생각.. 2022. 1. 14.