
- 운영체제 정리 : nauni.tistory.com/45 운영체제 시리즈 8. Synchronization -2 멀티 프로세서 환경에서는 critical section problem을 사용하여 모든 프로그램에게 적용하는 것은 비효율적이게 된다. 따라서 하드웨어 측면에서도 동기화를 유지하기 위한 방법들이 존재한다. 하드 nauni.tistory.com 매번 너무 어렵게 정리해서 이번에 어려웠으니 다음날은 금방하겠지 하면... 여전히 어렵고 더 오래 걸린다. 오늘 작성할 수 있을까 했는데 그래도 마무리지어서 다행이다. 마스터즈 코스랑 같이 진행하려다 보니 조금씩 버거워지는 것 같다. 😂 그래도 2일에 한 편 정도는 정리해보자!✨ 운영체제를 공부하면서 마스터즈 CS 강의도 이해할 수 있는 부분이 꽤 많아진 ..

컴퓨터 배경 스토리 옛날에는 유선으로 된 회로로 전신기를 사용하였다. 길이가 길어질수록(거리가 길어질수록) 저항이 커져 전압이 약해졌다. 이걸 개선하기 위해 릴레이를 설치한다. 이것은 원래 전기 증폭의 목적으로 만들었다. 하지만 똑똑한 사람들이 릴레이를 진공관, 레지스터 등으로 발전시켰다. 이미테이션게임(영화)에서 베네딕트가 엄청 큰 컴퓨터에 전선을 여기저기 꽂아가며 조작하는게 나오는데 이게 옛날 진공관으로 만든 컴퓨터라고 한다. AND, OR, NOT(Invertor)를 사용하여 NAND, NOR, XOR등의 논리회로를 만들 수 있다. 이것들을 적당히 활용하면 연산을 수행할 수 있는 장치를 만들 수 있다. 미션에서 만든 바이트계산기도 논리회로를 적용한 반가산기, 전가산기로 만들어진다. (반가산기 2개를..

멀티 프로세서 환경에서는 critical section problem을 사용하여 모든 프로그램에게 적용하는 것은 비효율적이게 된다. 따라서 하드웨어 측면에서도 동기화를 유지하기 위한 방법들이 존재한다. 하드웨어 측면에서 동기화하는 방법에 대해 정리한다. Test and set 동기화 명령 중 하나로 하드웨어의 도움을 받는다. 상호배제를 편리하게 구현할 수 있다. 하드웨어적으로 읽고, 셋팅하는 작업을 atomic하게 수행한다. 원자적인 명령이기 때문에 명령어가 실행되는 동안 인터럽트가 일어날 수 없다. boolean lock 변수를 설정하여 lock이 걸려있는 상태에서는 다른 프로세스가 critical section에 접근하지 못하도록 한다. (위키참고) // Synchronization variable ..

운영체제 시리즈 정리 : nauni.tistory.com/42 운영체제 시리즈 7. Synchronization-1 데이터의 접근 Race Condition 여러 E-Box가 S-Box를 공유하는 경우 Race Condition의 가능성이 있다. 경쟁상태란 둘 이상의 입력 또는 조작이 타이밍이나 순서에 따라 결과값에 영향을 줄 수 있는 상태를 nauni.tistory.com synchronization hardware 부분까지 묶여있어서 같이 정리하려고 했는데 생각보다 내용이 너무 많아져서 나눴다. 책에 챕터로 나눠져 있지 않은 부분이다보니 강의 메모에 기반해서 정리하려니 좀 어려웠다ㅠㅠ 예전에 들었던 강의인데도 생각이 안나는 부분이 많아서 해석해서 정리하는데 생각보다 오래걸렸다. 시리즈 자체가 이렇게 ..

암호학(cryptography)는 조작되지 않은 숨겨진 정보가 허가된 사람에게만 공개할 수 있는 방법을 뜻한다. 정보를 보호하기 위한 방법론인 것이다. 기밀성(confidentiality), 무결성(integrity), 인증(authentication) 의 요소를 가지고 있다. 기밀성은 숨겨진 정보, 무결성은 조작되지 않은 정보, 인증은 허가된 사람을 의미한다. 암호화 되지 않은 글을 평문(plain text)라고 한다. 평문을 암호화한 것을 암호문(cipher text)라고 한다. 평문을 암호문으로 만드는 과정을 암호화, 암호문을 평문으로 만드는 과정을 복호화라고 한다. 단방향 암호화 데이터의 무결성을 위하여 사용되며 암호화는 가능하지만 복호화는 불가하다. 대표적인 알고리즘이 해시(hash) 알고리즘이..

데이터의 접근 Race Condition 여러 E-Box가 S-Box를 공유하는 경우 Race Condition의 가능성이 있다. 경쟁상태란 둘 이상의 입력 또는 조작이 타이밍이나 순서에 따라 결과값에 영향을 줄 수 있는 상태를 뜻한다. OS에서 race condition은 언제 발생하는가? 커널 수행 중 인터럽트가 발생한 경우 프로세스가 시스템콜을 하여 커널모드 수행 중일 때 문맥교환이 일어나는 경우 멀티 프로세서에서 공유데이터를 사용하는 프로세스들이 커널 내부 데이터를 접근하는 경우 [1번 경우 해결방안] interrupt disable/enable로 인터럽트의 처리여부를 조정한다. 데이터를 건드리는 경우에 인터럽트가 들어와도 작업이 끝날 때까지 인터럽트를 처리하지 않도록(disable) 한다. 데이..
운영체제 시리즈 정리 : nauni.tistory.com/39 운영체제 시리즈 6. CPU Scheduling CPU-burst time I/O bound process(I/O bound job) : I/O 작업을 많이 하는 프로세스로 사용자로부터 인터렉션(interaction)을 자주 받아가며 프로그램을 수행하는 대화형 프로그램(interactive program)을 의미.. nauni.tistory.com 자바 테스트 코드 정리 : nauni.tistory.com/40 JUnit5로 테스트코드 작성 시작하기 테스트 파일 설정하기 스프링부트를 사용한다면 기본적으로 설정이 되어있다고 한다. org.junit.jupiter junit-jupiter-engine 5.5.2 test 스프링부트를 사용하지 않는..
테스트 파일 설정하기 스프링부트를 사용한다면 기본적으로 설정이 되어있다고 한다. org.junit.jupiter junit-jupiter-engine 5.5.2 test 스프링부트를 사용하지 않는다면 pom.xml 파일에 위와 같이 추가해주면 된다고 한다. 처음 인텔리제이로 자바 파일을 새로 열었더니 pom.xml 파일이 안 보여서 헤맸다. 어떤건가 했는데 Maven이라는 빌트 툴을 사용할 때, 그 설정파일을 의미하는 것 같다. 처음에 강의랑 달라서 찾아보다가 블로그 글(IntelliJ JUnit 추가하기)을 읽으면서 설정했다. 테스트 파일을 설정하면 초록색 바탕으로 테스트 디렉토리라는 것을 나타내 준다. 기본 @Test : 테스트임을 나타내준다. public 선언해 주지 않아도(void 메소드명) 된다..
- Total
- Today
- Yesterday
- 개발공부일지
- 마스터즈코스
- 인증
- 운영체제
- 내부코드
- python
- TCP/IP
- 네트워크
- React
- JS
- javascript
- 학습로그
- 알고리즘
- 코드스쿼드
- CS
- Spring
- 회고
- 객체지향
- Transaction
- 모의면접준비
- JPA
- TIL
- 글쓰기미션
- 월간회고
- 카카오
- java
- OS
- 우테코수업
- 우아한테크코스
- DB
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |