# CS

[운영체제] Locks에 대하여
저번 글에서 Thread에 대해 이야기 하면서 여러 Issue들을 다루었다. race condition, critical section, indeterminate, mutual exclusion이 있었다. 4가지 개념이 무엇인지 생각하면서 보면 더 이해하기 쉬울 것 같

1.1 + 0.1 == 1.2(?)
오늘은 공부하는 도중에 MISRA-C: 2004 Rule 13.3 : Floating-point expressions shall not be tested for equality or inequality.MISRA-C: 2004 코딩규칙 13.3 : 부동소수 표현은 같음

프로세스와 스레드
프로세스(process) : 실행 중인 프로그램프로그램은 실행되기 전까지는 그저 보조기억장치에 있는 데이터 덩어리, 보조기억장치에 저장된 프로그램을 메모리에 적재하고 실행하는 순간 그 프로그램은 프로세스 됨 → 프로세스를 생성한다.포그라운드 프로세스(foreground

운영체제와 컴퓨터
운영체제(OS, Operating System)는 사용자가 컴퓨터를 쉽게 다루게 해주는 인터페이스입니다. 운영체제의 역할과 구조 운영체제의 역할 CPU 스케줄링과 프로세스 관리 : 메모리 관리 디스크 파일 관리 I/O 디바이스 관리 운영체제의 구조 컴퓨터의 요소
[PINTOS-KAIST] project. 2-2 - 개념 - 파일 디스크립터 테이블(fdt)과 파일 디스크립터(fd) 관련 syscall call들에 대한 이해와 구현
쓰는 중\~~https://m.blog.naver.com/songblue61/221391888403https://woonys.tistory.com/entry/PintOS-Project-2-User-Program-7-System-Call%EC%A0%95

TDD(Test Driven Development)
TDD란 테스트 주도 개발(Test Driven Development)은 소프트웨어 개발 방법론 중의 하나로, 선 개발 후 테스트 방식이 아닌 선 테스트 후 개발 방식의 프로그래밍 방법을 말한다.

[CS스터디] 트리
: Node(값을 가진 노드)와 Edge(노드를 연결하는 간선)로 이루어진 자료구조사이클이 존재하지 않음 (그래프와의 차이점)루트에서 한 노드로 가는 경로는 유일하다노드의 개수가 N개면, 간선의 개수는 (N-1)개이다 : 루트 -> 왼쪽 -> 오른쪽, 각 루트를 순차

[CS스터디]힙(Heap)
: 우선순위 큐에 의해 만들어진 자료구조우선순위 큐 우선순위의 개념을 큐에 도입하여 우선순위가 넢은 데이터가 먼저 나가는 특성을 가짐 주로 작업 스케줄링, 시뮬레이션 시스템에 쓰임배열, 연결리스트, 힙으로 구현이 가능 (힙이 가장 효율적인 방법 🎯)완전 이진

[CS스터디]스택과 큐
데이터 삽입 : push데이터 최상위 값 빼기 : pop비어있는 지 확인 : empty꽉 차있는지 확인 : isFull입력과 출력이 한 곳으로 제한된 자료구조LIFO(Last In First Out, 후입선출)웹페이지 뒤로가기후위 표기법 계산스택 메모리DFS역순 문자열

Thread에 대해 알아보자
TIL🤦♂️와 진짜 과제 너무한거 아님? 교수님은 우리가 멀티스레드처럼 할 수 있다고 생각하시는건가?ㄴ ㄹㅇㅋㅋ ㄴ ㄹㅇㅋㅋ22스레드에 대해 알아보기 전 우리는 프로세스가 무엇인지부터 간단하게 알아보자.: 실행 중인 프로그램(program)엥? 별거 없는데?즉

[CS스터디]IPC
⛳ 다른 프로세스에게 영향을 받지 않는 프로세스! 독립적으로 실행되는 프로세스는 어떻게 서로 통신할까?: Inter Process Communication, 프로세스 간 통신한 쪽 방향으로만 통신이 가능한 반이중 통신파이프가 두 개의 프로세스를 연결하는데, 하나는 데이

[운영체제] Thread란?
앞에 까지는 CPU가상화와 메모리 가상화를 다루었다. 이번 포스팅부터는 Concurrency에 대해 다룬다. 그 첫 시작이 Thread이다!현재 방식에서는 여러개의 프로세스가 CPU 자원 하나를 놓고 스케줄링을 통해 자원을 할당받아 사용한다. 이 방식을 single c

[네트워크] PC에 설치하는 Proxy
이 포스트는 널널한 개발자님 강의를 참조하며 작성하였습니다.HTTPS 통신을 할 때 트래픽이 암호화되고 다 좋은데 문제가 있다. PC를 사용하는 철수가 https://www.naver.com 을 접속한 다음에 그 접속과정에서 일어나는 트래픽을 모니터링하고 분석

[네트워크] Reverse Proxy
이 포스트는 널널한 개발자님 강의를 참조하며 작성하였습니다.지금까지 설명한 proxy는 기본적으로 client관점에서의 proxy 서버를 이야기했다. 그런데 프록시라고 하는게 정반대로 Reverse Proxy가 있다. Reverse Proxy는 서버보호 목적으로 만드는

객체 지향 프로그래밍
객체 지행 프로그래밍(Object Oriented Programming, OOP)은 소프트웨어 개발 패러다임 중 하나로, 현실 세계의 개념과 객체를 소프트웨어로 모델링하는 방식이다.

[CS스터디]PCB와 Context Switching
⛳ CPU는 프로세스 관리를 어떻게 하는걸까 ?? 먼저 프로세스의 정보를 담은 메타 데이터를 보자! PCB(Process Control Block) : 프로세스 메타데이터들을 저장하는 곳, 한 PCB 안에는 한 프로세스의 정보가 담김 > 프로세스 메타데이터 :

[네트워크] Proxy - 보호와 감시
이 포스트는 널널한 개발자님 강의를 참조하며 작성하였습니다.가장 전형적인 proxy에 대해 저번 포스트에 이야기했다. 사실 proxy 구조는 정말 쓰임이 다양하다. 그런데 그중에 곡 알아둬야 할께 보호와 감시목적의 proxy를 생각해 볼 수 있다.예를 들어 어떤 호스트