[목차]310 [운영체제 - 질문정리 I] 프로세스, 스레드 [프로세스란 무엇인가 - 질문정리] Q. stack pointer 레지스터는 어떤 정보를 저장하나요? stack은 LIFO 구조로 선입후출 방식인건 알고계시죠? 데이터가 들어올때마다 차곡차곡 쌓였다가 가장 늦게 들어온 놈이 순차적으로 빠져나가는 방식이잖아요? 예를 들어, “자료구조” 라는 책을 먼저 책상에 올리고 “운영체제” 라는 책을 한권 올리고 다음 “DB” 책을 올릴려고 하는데 stack pointer라는 놈이 “운영체제” 책의 표지부분을 가리키면서 여기 올리면 되겠네! 하는 거죠. 즉, stack pointer란 현재까지 할당한 메모리의 끝 주소를 기억하고 있다가 다음에 들어오는 데이터에게 여기서부터 메모리 쓰면 돼! 라고 알려주는 역할입니다. Q. PCB는 메모리에 어떤 형식으로 저장되나요? P.. 남이 읽는 CS 2022. 6. 15. [IT트렌드 2편] 블록체인이 무엇인가? 안녕하세요 개발자 배씨입니다! 오늘은 블록체인에 대해서 포스팅하고자 합니다~ 여러분들 비트코인 들어보셨죠??? 다들 해본 경험이 있나요? 저는 비트코인에 발을 딛으면 제 돈 다 사라질 거 같아서 애초에 시작도 못하겠더라구요 ㅠ 원래 비트코인은 현재의 현금 거래 제도에 대항한다라는 취지로 좋은 목적으로 나타나게 되었는데 투기판으로 변질되었다고 하더라구요! 근데 왜 블록체인에 비트코인이 나왔을까요?? 자 만약 배씨가 이씨에게 10만원을 이체 해준다고 가정해봐요. 그러면 중개자 역할을 하는 은행이 배씨가 이씨에 10만원 이체해준 기록을 장부에다가 적어놓습니다. 하지만 여기서 둘만의 거래를 제 3자에 의존한다는 거에요. 그게 은행인거구요. 만약 은행이 해킹당해 10만원을 이체해준 장부가 지워진다면, 어떻게 될까.. 기타/IT 트렌드 2022. 6. 15. [IT 트렌드 1편] 메타버스란 무엇인가 안녕하세요~ 개발자 배씨입니다! 최근 몇년간 메타버스에 대한 얘기가 많이 나오고 있습니다. 그렇다면 메타버스는 대체 무엇이길래 사람들이 열광하는 걸까요?? 오늘은 메타버스에 대해서 알아볼려고 합니다!! [메타버스 개념] 코로나 19 여파로 인해 전 세계적으로 비대면 활동 문화가 확산됨으로써 물리적 공간에서의 활동은 다소 위축된 반면 온라인을 통한 활동은 증가하였고 메타버스가 큰 주목을 받게 되었습니다. 메타버스란 말 그대로 가상을 의미하는 '메타'와 세계를 의미하는 '유니버스'의 합성어입니다. 현실과 가상의 융합을 통해 시공간의 한계를 초월하여 다양한 형태의 연결과 소통, 협업 등을 지원하는 기술 및 플랫폼을 의미합니다. 가상세계에서 사회적, 경제적, 문화적 활동 등이 이루어질 수 있도록 하는 것이 메타.. 기타/IT 트렌드 2022. 6. 14. [신입 개발자 기술 면접] 운영체제 해당 포스팅은 운영체제 과목을 정리한 저의 포스팅을 토대로 글을 작성하기 때문에 1편부터 12편의 글을 읽고 오신다면 이해가 정말 쉬우실거에요! '남이 읽는 CS/운영체제' 카테고리의 글 목록 baebalja.tistory.com 2022.03.04 - [남이 읽는 CS/운영체제] - [운영체제 1편] 프로세스란 무엇인가 2022.03.05 - [남이 읽는 CS/운영체제] - [운영체제 2편] 스레드란 무엇인가 2022.03.08 - [남이 읽는 CS/운영체제] - [운영체제 3편] 뮤텍스가 무엇인가 2022.03.15 - [남이 읽는 CS/운영체제] - [운영체제 4편] 세마포어가 무엇인가 2022.03.22 - [남이 읽는 CS/운영체제] - [운영체제 5편] 데드락이 무엇인가 2022.04.03 -.. 기타/기술 면접 대비 2022. 5. 31. [Problem] Port 8080 was already in use 에러 포트가 이미 실행 중일 때 스프링을 Run 하면 실행되는 에러인데 나는 실행한 적이 없는데 8080이 이미 쓰고 있대 Window 1. 검색창에 CMD를 입력해서 명령 프롬포트를 켜준다. 2. "netstat -ano" (띄워쓰기 주의) 3. ctrl+f -> 8080 4. 쓰고있는는 PID 값 기억하기. 예를 들면 1234 5. "taskkill /pid 1234 /f" Mac 1. 터미널에서 "lsof -i tcp:8080" 2. "sudo kill -9 {PID번호}" //pid가 1234면 sudo kill -9 1234 기타/오류 2022. 5. 31. [운영체제 12편] 페이징 세그먼테이션 (불연속 할당 방식) 안녕하세요! 개발자 배씨입니다~ 저번시간에는 연속할당이라는 것에 배워봤어요 ㅎㅎ 이번 시간에는 연속할당에 반대되는 불연속할당에 대해서 배워 보려고합니다!! 들어가봅시다 불연속 할당의 대표적인 예로는 페이징과 세그먼테이션 기법이 있습니다. 근데 조금 복잡해서 이해하기 힘드니까 천천히 잘 따라오세요 ㅎㅎ 일단! 가상메모리라는 것을 알고 있어야합니다. 가상메모리??? 들어보긴 했는데.. 뭐지? 하셨나요?? 예를 들어, 만약 프로그램 크기가 12GB 인거에요~ 엄청 크죠?? 근데 여러분들이 지금 노트북에 8GB 램(메모리)을 사용하고 있다고 쳐요. 여기서 12GB 프로그램을 실행시키기 위해서는 메모리에다가 할당시켜야 하는데 8GB 램에서 12GB 프로그램을 못담잖아요? 용량이 너무 큰거죠! 그러면 어떻게 해야할.. 남이 읽는 CS/운영체제 2022. 5. 27. [프로그래머스 / Level_3 / C++] 가장 먼 노드 #접근방법 먼저 그래프의 정보를 다 담아놓자 양방향 간선이기 때문에 from 에서 to로 그리고 to 에서 from 의 정보를 저장한다. 이차원 벡터에서 인덱스 3번에 4, 8 ,9 가 붙어있따면 노드 3에서 노드 4, 노드 3에서 노드 8, 노드 3에서 노드 9 로 연결되어 있다는 뜻! 이후 bfs() 를 적용하기 위해서는 queue 를 생성하는데 처음 담아지는 원소의 값은 1이다 왜냐하면 1에서 가장 멀리 떨어지는 노드를 찾는거니까 1이 시작점인거지! 그리고 queue가 빌때 동안 queue의 첫번째 값을 꺼집어내서 그 값에 연결되어 있는 값들을 queue에 다시 붙여준다. 근데 이때 거리도 하나 올려서 거리 배열에 기록해주자. 근데 만약 현재 보고있는 노드번호에 거리 배열을 찾아가보니까 값이 이미 .. 프로그래머스/Level_3 2022. 5. 18. <max_element(), min_element()> 여러값 중 최댓값, 최솟값 구하기 max_element(), min_element() 함수가 존재한다. 주의할 점은, 이 함수는 값 자체를 리턴하지 않고 그 값의 주소를 리턴한다. max_element(), min_element() 함수에 이터레이터를 매개변수로 넘겨야 하므로 begin(), end() 함수를 써준다. 처음부터 끝까지 찾을 필요가 없을 때는 max_element(v.begin()+1, v.begin()+4) 이런식으로 사용해도 된다. 위의 식은 v[1]부터 v[3]까지 중 최대값을 찾아준다. 아래의 예를 보고 적용시켜보자! #include #include #include using namespace std; int main() { int size, val; vector v = { 4,2,1,2,1 }; cout 기타/C++ 문법 2022. 5. 18. [프로그래머스 / Level_2 / C++] 땅따먹기 이차원 dp를 활용해서 푼 문제이다. #접근방법 해당 문제는 Top-down 방식으로 큰 문제를 해결하기 위해 작은 문제를 호출하는 방식을 썼다. 먼저 현재 위치한 인덱스 번호를 pos에 저장을 하였고 다음 재귀호출을 할 때는 현재 pos에 저장된 열의 번호가 아닌 다른 3개의 열을 나타내는 값으로 전달한다. 언제까지 호출하냐? 2차원 배열 사이즈가 같을 때까지 계속 호출한다. 즉, Level 이 행의 크기만큼 왔을 때는 더 이상 호출할 수 없기 때문에 이때부터 리턴값을 전달해준다. 리턴한 값들은 이전에 재귀함수를 호출했던 코드영역에 가서 반환 받은 값들의 크기를 비교해서 큰 값을 dp에 저장한다. #include #include #include using namespace std; int level; .. 프로그래머스/Level_2 2022. 5. 18. [프로그래머스 / Level_2 / C++] 다음 큰 숫자 단순 계산 문제이다. #접근방법 자료구조, 알고리즘 그런거 쓰인거 없이 문제 조건을 보고 무작정쳐서 푼 문제이다. 이 방식보다 더 효율적인 방법인 분명히 있을 거라고 보지만 0.01ms 로 모든 테스트 케이스를 통과하였으니, 더 나은 방식을 찾아보는 것은 생략한다. 먼저, n값을 받으면 이진수로 변환하여 문자열에 저장한다. 이 로직에서는 이진수가 반대로 뒤집혀진 상태로 저장되어있는 것을 기억하자. 해당 이진수 문자열에서 1의 개수가 같은 상태를 유지하면서 큰 값을 구해야한다. 그렇기 때문에 가장 가까운 1의 위치를 찾고 그 위치로부터 인접한 모든 1을 0으로 바꿔주고 최초 0을 만난 경우 그 위치를 1로 바꿔준다. 이때, 1을 0으로 바꿔준 개수를 세어주며 이후 반복문이 종료되면 해당 개수의 -1 만큼 .. 프로그래머스/Level_2 2022. 5. 16. 이전 1 ··· 8 9 10 11 12 13 14 ··· 31 다음 반응형