CS & Network/운영체제(OS) & 컴퓨터구조

[운영체제(OS)] 프로세스와 컨텍스트 스위칭(Context Switching)이란?

이번 시간에는 운영체제, 그리고 개발자의 상식에서 빼놓을 수 없는 프로세스에 대해서 알아보려고 합니다. 사실 일상생활에서도 많이 쓰이는 단어이기도 하죠. 0. 그럼 프로세스(Process)란 뭘까요? 프로세스는 아주아주 간단하게 설명하자면 '현재 실행 중인 프로그램'입니다. 또한 운영체제에서 일의 단위라고도 할 수 있죠. 프로세스의 구성은 아래와 같습니다. 더 자세한 내용은 제가 최근에 프로세스 메모리 구조를 다루면서 작성한 글을 참고하시면 좋을 것 같습니다. [CS & Network/운영체제(OS) & 컴퓨터 구조] - 프로세스 메모리 구조 에서의 스택(Stack) 이란? 프로세스 메모리 구조 에서의 스택(Stack) 이란? 2021.12.04 - [자료구조 & 알고리즘/자료구조] - 자료구조에서의 스..

2021.12.15 게시됨

자료구조 & 알고리즘/백준(Baekjoon)

[백준]14891(파이썬) - 톱니바퀴

www.acmicpc.net/problem/14891 14891번: 톱니바퀴 첫째 줄에 1번 톱니바퀴의 상태, 둘째 줄에 2번 톱니바퀴의 상태, 셋째 줄에 3번 톱니바퀴의 상태, 넷째 줄에 4번 톱니바퀴의 상태가 주어진다. 상태는 8개의 정수로 이루어져 있고, 12시방향부터 www.acmicpc.net 이 문제를 읽고 처음 든 생각은 '일단 톱니바퀴가 4개로 정해져 있기 때문에 다행이다'였습니다. 먼저 톱니바퀴가 시계방향으로 돌 때, 반시계 방향으로 돌 때를 구현해주기 위해 함수 두 개를 만들어줬습니다. 톱니바퀴가 4개밖에 없지만, 하나의 톱니바퀴를 돌릴 때 다른 톱니바퀴 들도 영향을 미치는 점을 고려해서 DFS로 풀어줬습니다. 한 번 체크한 톱니바퀴는 방문처리를 해주고, 만약에 톱니바퀴가 돈다면, 영향..

2021.12.09 게시됨

자료구조 & 알고리즘/백준(Baekjoon)

[백준]14503(파이썬) - 로봇청소기

www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 이 문제도 삼성 기출문제입니다. 삼성 기출문제는 구현이 대부분인데 풀면서 느끼는 건 구현은 진짜 '하라는 대로 해라'인 것 같습니다. 이제 문제풀이를 해보겠습니다. 먼저 '현재 방향을 기준으로 왼쪽부터 탐색한다'라는 조건을 구현하기 위해 이전 문제들을 풀 때와는 다르게 dx, dy를 초기화해줬습니다. 그다음으로는 왼쪽 다음에 그 왼쪽인 아래 방향, 그다음은 오른쪽, 그 다음은 위쪽 방향을 탐색해주기 위해서 d..

2021.12.06 게시됨

CS & Network/운영체제(OS) & 컴퓨터구조

프로세스 메모리 구조 에서의 스택(Stack) 이란?

2021.12.04 - [자료구조 & 알고리즘/자료구조] - 자료구조에서의 스택(Stack) 이란? 자료구조에서의 스택(Stack) 이란? 최근 친구와 카공을 하고 있었는데 친구가 갑자기 저에게 '야 스택이 뭐야?' 라는 질문을 던졌습니다. 애석하게도 바로 답변이 나오지 않더군요.. 결국 '쌓는거..?' 라는 대답을 해버렸습니다. 이 resilient-923.tistory.com 위의 이전 게시물에 이어 이번 시간에는 프로세스 메모리에서의 스택에 대해서 정리해보려고 합니다. 그러기 위해서는 프로세스 메모리 구조에 대해서 먼저 알아야겠죠? 먼저, 프로세스 메모리 구조는 Text(code), Data, Bss, Heap, Stack 영역으로 나눠져 있습니다. Code 영역 실행할 프로그램의 코드가 저장됩니다..

2021.12.05 게시됨