
전체 글
![[알고리즘] - Greedy 알고리즘](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FkzAcc%2Fbtq5gETspdW%2FAAAAAAAAAAAAAAAAAAAAANs5Cd8YuHvR7YrWYdJwWprPynP7a5Ly85HvMIzO5VTM%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DKra%252BL8o5WzLeE%252Bm0E9R0uBNT8QM%253D)
[알고리즘] - Greedy 알고리즘
-본 내용은 학교 수업을 바탕으로 제가 이해한 것을 정리한 거여서 약간의 오류가 있을 수 도 있습니다 GREEDY Algorithm에 대해 선택지가 여러 개있을 때, 그걸 다 꼼꼼히 보는 게 아니라 좋은 것같아 보이는 것을 선택한다. 전체를 보는 것이 아니라 주변을 보고 선택 이게 무슨 말인가 그건 이제 차차 살펴보도록 하자 문제하나를 예시를 들겟다. 더보기 Coin Change Problem - input : 0이상의 정수 k - output : K를 만들 수 있는 최소 동전 갯수 ● 대부분의 나라에서 통하는 알고리즘 1. k=0이면 그만한다. 2. K>0이면, K보다 작은 동전 중 가장 액면가가 큰 것을 선택 3. 그 액면가를 c라고 하면, k 그래서 이런 방법이 제대로 동작될리가 없는데 가끔 되는 ..
![[운영체제 ] 6주차 정리본](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FY2oCG%2Fbtq3nIKBvhH%2FAAAAAAAAAAAAAAAAAAAAAN46L9UTJZm0OmqMK5dtC3Hpa-7S7ff9eZHaCxhFAk8_%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DZx5fOyQaHFS8Ap5PUncullSiY%252BA%253D)
[운영체제 ] 6주차 정리본
6주차 운영체제 필기 우선 순위 inversion (우선순위 역전 ) 우선 순위가 낮은 순위를 가진 자원이 lock을 가져서 우선순위가 높은 순위를 가진 자원이 실행하지 못하는 문제 C가 우선 실행을 한다, 실행중에 wait를 호출하여 sem-a를 획득하여 크리티컬 섹션문제 해결 그러다가 높은 우선순위의 b가 들어와 b가 실행 그러다가 또 a가 들어와 a가 실행 이 상태에서 wait를 호출하여 sem-a를 요청 하지만 이미 c에 의해서 획득이 되어잇기 떄문에 a는 기다려야 되서 block이 실행된다. 결국 프로세서 c는 실행하지 못하기 때문에 a도 sem-a 때문에 실행하지 못하는 상황을 우선순위 역전 현상ㅇ을 말한다. è 우선순위 계승으로 이 현상 해결 우선순위가 낮은 프로세스가 우선순위가 높은 프로세..
![[운영체제 ] 5주차 정리본](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FnxTpD%2Fbtq3xmy91gF%2FAAAAAAAAAAAAAAAAAAAAAFNhg3aZ2vYnSa-JZO5s3TIKUx5xMUTnHgyNoH41HkwT%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3D%252FJL%252BKo0BxwJBB4Mn6AYhMijLjjY%253D)
[운영체제 ] 5주차 정리본
5주차 운영체제 필기 백그라운드 가장 하위레벨: 머신 코드로 만들어지지 0,1를 이용해 코딩 è 이후 어셈블리 언어 Race condition : 여러 개의 프로세서가 동시에 공유된 데이터에 액세스할 떄 실행순서가 어떻게 되는냐에 따라 값이 달라지는 현상(어떤 프로세서가 먼저 실행하느냐) 레이스 컨디션이 발생하는 코드에서 공유데이터를 액세스하는 코드가 존재한다. 이부분을 바로 크리티컬 섹션이라고 한다. Critical Section 여러 개의 프로세서가 공유된 데이터에 동시에 액세스하는 문제 (Critical section problem) 임의의 두 프로세서가 크리티컬 섹션에 들어가지 않게끔 해줘야한다. -> 크리티컬 섹션문제 해결 임의의 한순간에 한 프로세서만 크리티컬 섹션에 들어가게 한다. 데이터가 ..
![[운영체제 ] 3장 정리본](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FdCyYEP%2Fbtq3xnEOe9h%2FAAAAAAAAAAAAAAAAAAAAAHQ6qDKhJusJ28E0C8HXj1SgYOaLLsCVdZwVf5YnWDVz%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3D2tw2XQsnEwcSvRgPJC8XxImcch4%253D)
[운영체제 ] 3장 정리본
[ 3장 프로세스와 관련된 여러가지 오퍼레이션 ] 3장에서 배울 내용 Process l 프로세서 - 정의 : 실행 중에 있는 프로그램을 말한다. - 프로세스는 디스크에 있는 프로그램뿐만 아니라 프로세스를 실행하기 위한 여러가지 자원들도 포함해 말한다. - 자원들 – text section : 프로그램 코드 Program Counter : 다음에 실행되어야 하는 메모리 주소 Stack : 동적 메모리 Data section : 전역변수를 저장하는 부분 Heap..
![[운영체제] Thread 정리본](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FyFXcE%2Fbtq3t30ZpzW%2FAAAAAAAAAAAAAAAAAAAAAKoWStYfknWAIkXsQJdjoj72kHpRLy8Tj0ltpPSYw6SO%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DycG4RAXPiLZT79FKID2VdnSoC8s%253D)
[운영체제] Thread 정리본
4장 쓰레드 l Thread : 프로세서보다 더 작은 단위의 CPU활용단위이다. l - 같은 프로세서안에 존재하는 쓰레드들은 프로그램 코드, 데이터 등 운영체제가 제공해주는 소스들을 공유하는 특징을 가지고 있다. - 멀티 쓰레드 : 장점 ) 모듈러하게 소프트웨어 만들 수 있다. 특징 ) ① 각각의 프로세서들이 독립적으로 실행되어야 하기 때문에 레지스터, 스텍들이 각각 따로 존재한다. ② 레지스터, 스택들 제외 하고 나머지 (코드, 데이터, 파일)들을 공유하기 때문에 메모리 사이즈가 작아지고, 데이터 공유가 더 쉽다. ③ 여러가지 Task들을 운영가능 / 빠르게 문제 해결가능 ④ 소스 공유측면에서도 뛰어나다. 멀티 프로세서의 경우 별도의 메모리 공간을 가지고 Message Passing의 매커니즘을 이용해..
[운영체제] [ 1주차 내용 정리 전 필기본]
1. Computer start-up 우선 컴이 처음 파워온이 되면 Bootstrap program이 실행이 된다. rom이나 eeprom이 있다. 혹은 firmware도 있다. 실행이 되면서 기본적인 check up을 한다. 즉 메모리에 bad 세턱는 없는지 여러가지 컴포넌트(메모리, cpu)가 잘꽂혀져있는지 기본적인 첵업하고 커널을 로딩 커널이 기본적인 초기화 작업한다. Interrupt 서비스 루틴을 초기화 한다던지 (뒤에가서 자세히 설명) 커널이 사용하는 여러가지 데이터 구조들을 초기화하는지 등에 대한 작업 이러한 초기화 작업들이 다 끝나게 되면 로그인 화면이 뜬다. 뜨고 난뒤 운영체제가 하는 일은 기다리기. 예를 들어 사용자가 로그인 하기 위해서 키보드를 타이핑 한다던가 또는 마우스를 움직인다던..
[운영체제] [ Thread ]
Thread? 프로세서보다 더 작은 단위의 CPU 활용단위이다. 멀티쓰레드 멀티 쓰레드는 각각의 프로세서들이 독립적으로 실행되야하기 때문에 레지스터 , 스택 등이 각각 따로 존재한다. 그 외 코드 , 데이터, 파일들은 쓰레드끼리 공유하기 때문에 메모리 사이즈가 작아지고, 데이터 공유가 쉽다. 여러개의 Task를 운영가능하고 빠르게 문제해결가능하다. 또한 소스 공유 측면에서도 뛰어나다. 별도의 메모리 공간을 가지고 메시지 패싱들의 매커니즘을 이용해 데이터를 주고 받지만 멀티 쓰레드는 같은 프로세서 내의 쓰레들끼리 자원 공유하기 때문이다. 메모리 할당방면에서도 장점이 존재한다., 멀티 프로세서는 프로세서들별로 메모리를 할당해야 하지만, 쓰레드는 프로세서 내에 쓰레드가 만들어지기 때문에 별도로 메모리를 할당할..
[웹] [백엔드] - SQL(2) MySQL 기본 용어
1. SQL은 ; (세미콜론)으로 끝난다. 2. SQL은 쿼리라고 읽는다. 쿼리= DBMS에 명령을 내릴 때 사용하는 문장 3. 쿼리에 해당하는 결과의 전체 row를 출력하고 마지막에 전체 row 수 및 쿼리 실행에 걸린 시간을 표시한다. 4. 키워드는 대소문자 구별 X 5. 쿼리 이용해 계산식의 결과 구하기 가능 6. 여러문장을 한 줄에 연속으로 붙여서 실행 가능 7. 여러줄로도 입력가능 -> ;으로 문장을 구분하기 때문에 8. 긴 쿼리 작성 중 취소하고 싶을 때 : \c 붙여주면 취소가능 9. DBMS에 존재하는 데이터베이스 확인하기 show databases을 사용하여 확인 10. 사용중인 데이터 베이스 전환하기 use command 사용