전체 글

전체 글

    [운영체제] 4. Process Management

    [운영체제] 4. Process Management

    4. Process Management 프로세스 생성 부모 프로세스가 자식 프로세스 생성 프로세스의 트리(계층 구조) 형성 프로세스는 자원을 필요로 함 운영체제로부터 받는다 부모와 공유한다 자원의 공유 부모와 자식이 모든 자원을 공유하는 모델 일부를 공유하는 모델 전혀 공유하지 않는 모델 (원칙) 수행(Execution) 부모와 자식은 공존하며 수행되는 모델 자식이 종료될 때까지 부모가 기다리는 모델 🟡 주소 공간 자식은 부모의 공간을 복사함 (binary and OS data) 자식은 그 공간에 새로운 프로그램을 올림 유닉스의 예 fork() 시스템 콜이 새로운 프로세스를 생성 부모를 그대로 복사 (OS data execpt PID + binary) 주소 공간 할당 fork 다음에 이어지는 exec()..

    [백준] 2493 - 탑 (자바 Java)

    [Gold V] 탑 - 2493 문제 링크 성능 요약 메모리: 169628 KB, 시간: 836 ms 분류 자료 구조(data_structures), 스택(stack) 문제 설명 KOI 통신연구소는 레이저를 이용한 새로운 비밀 통신 시스템 개발을 위한 실험을 하고 있다. 실험을 위하여 일직선 위에 N개의 높이가 서로 다른 탑을 수평 직선의 왼쪽부터 오른쪽 방향으로 차례로 세우고, 각 탑의 꼭대기에 레이저 송신기를 설치하였다. 모든 탑의 레이저 송신기는 레이저 신호를 지표면과 평행하게 수평 직선의 왼쪽 방향으로 발사하고, 탑의 기둥 모두에는 레이저 신호를 수신하는 장치가 설치되어 있다. 하나의 탑에서 발사된 레이저 신호는 가장 먼저 만나는 단 하나의 탑에서만 수신이 가능하다. 예를 들어 높이가 6, 9, ..

    [운영체제] 3. Process

    [운영체제] 3. Process

    3. Process 프로세스의 개념 Process is a program in execution 🟡 프로세스의 문맥(context) CPU 수행 상태를 나타내는 하드웨어 문맥 Program Counter 각종 register 프로세스의 주소 공간 code, data, stack 프로세스 관련 커널 자료 구조 PCB (Process Control Block) Kernel stack 프로세스의 상태 🟡 프로세스는 상태(state)가 변경되며 수행된다 Running CPU를 잡고 instruction을 수행중인 상태 Ready CPU를 기다리는 상태(메모리 등 다른 조건을 모두 만족하고) Blocked(wait, sleep) CPU를 줘도 당장 instruction을 수행할 수 없는 상태 Process 자신이..

    [백준] 3109 - 빵집 (자바 Java)

    [Gold II] 빵집 - 3109 문제 링크 성능 요약 메모리: 66320 KB, 시간: 344 ms 분류 깊이 우선 탐색(dfs), 그래프 이론(graphs), 그래프 탐색(graph_traversal), 그리디 알고리즘(greedy) 문제 설명 유명한 제빵사 김원웅은 빵집을 운영하고 있다. 원웅이의 빵집은 글로벌 재정 위기를 피해가지 못했고, 결국 심각한 재정 위기에 빠졌다. 원웅이는 지출을 줄이고자 여기저기 지출을 살펴보던 중에, 가스비가 제일 크다는 것을 알게되었다. 따라서 원웅이는 근처 빵집의 가스관에 몰래 파이프를 설치해 훔쳐서 사용하기로 했다. 빵집이 있는 곳은 R*C 격자로 표현할 수 있다. 첫째 열은 근처 빵집의 가스관이고, 마지막 열은 원웅이의 빵집이다. 원웅이는 가스관과 빵집을 연결..

    [백준] 6087 - 레이저 통신 (자바 Java)

    [Gold III] 레이저 통신 - 6087 문제 링크 성능 요약 메모리: 39540 KB, 시간: 264 ms 분류 너비 우선 탐색(bfs), 다익스트라(dijkstra), 그래프 이론(graphs), 그래프 탐색(graph_traversal) 문제 설명 크기가 1×1인 정사각형으로 나누어진 W×H 크기의 지도가 있다. 지도의 각 칸은 빈 칸이거나 벽이며, 두 칸은 'C'로 표시되어 있는 칸이다. 'C'로 표시되어 있는 두 칸을 레이저로 통신하기 위해서 설치해야 하는 거울 개수의 최솟값을 구하는 프로그램을 작성하시오. 레이저로 통신한다는 것은 두 칸을 레이저로 연결할 수 있음을 의미한다. 레이저는 C에서만 발사할 수 있고, 빈 칸에 거울('/', '\')을 설치해서 방향을 90도 회전시킬 수 있다. 아..

    [운영체제] 2. System Structure & Program Execution

    [운영체제] 2. System Structure & Program Execution

    2. System Structure & Program Execution 컴퓨터 시스템 구조 메모리: CPU의 작업 공간 IO 디바이스를 컨트롤 하는 작은 CPU같은 것 = device controller → device controller가 디스크의 내부를 통제함 device controller의 작업 공간 = 로컬 버퍼 CPU CPU: 메모리에서 하나씩 읽어서 실행 registers: 메모리보다 빠른 작은 저장공간 mode bit: CPU에서 실행되는 것이 운영체제인지, 사용자 프로그램인지 구분 interrupt line: cpu는 메모리에 있는 instruction만 실행, 다음 instruction의 주소값이 증가 → cpu에 IO장치의 입출력이 끝났음을 알려주는 것 키보드 입력, 화면 출력, 디스..

    [운영체제] 1. Introduction to Operating Systems

    [운영체제] 1. Introduction to Operating Systems

    1. Introduction to Operating Systems 운영체제 - 반효경 교수님의 강의를 보고 정리한 내용입니다. http://www.kocw.net/home/search/kemView.do?kemId=1046323 운영체제 운영체제는 컴퓨터 하드웨어 바로 위에 설치되는 소프트웨어 계층으로서 모든 컴퓨터 시스템의 필수적인 부분이다. 본 강좌에서는 이와 같은 운영체제의 개념과 역할, 운영체제를 구성하는 각 www.kocw.net 운영체제란? 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 기능 하드웨어와 어떻게 인터랙션 사용자와 어떻게 인터랙션 운영체제의 의미 협의의 운영체제(커널) 운영체제의 핵심 부분으로 메모리에 상주하는 부분 광의의..

    [백준] 7570 - 줄 세우기 (자바 Java)

    [Gold III] 줄 세우기 - 7570 문제 링크 성능 요약 메모리: 208284 KB, 시간: 800 ms 분류 다이나믹 프로그래밍(dp), 그리디 알고리즘(greedy) 문제 설명 대한 어린이집에 올해 입학한 어린이들이 놀이터에 한 줄로 서있다. 모든 어린이들에게는 입학할 때 주어진 번호가 있고 모두 옷에 번호표를 달고 있다. 그런데 어린이들은 아직 번호 순서대로 줄을 잘 서지 못하므로 선생님이 다음과 같은 방법을 사용해서 번호순서대로 줄을 세우려고 한다. 방법: 줄 서있는 어린이 중 한 명을 선택하여 제일 앞이나 제일 뒤로 보낸다. 위의 방법을 사용할 때 어린이가 이동해서 빈자리가 생기는 경우에는 빈자리의 뒤에 있는 어린이들이 한 걸음씩 앞으로 걸어와서 빈자리를 메꾼다. 예를 들어, 5명의 어린..

    [백준] 2436 - 공약수 (자바 Java)

    [Gold V] 공약수 - 2436 문제 링크 성능 요약 메모리: 12872 KB, 시간: 108 ms 분류 브루트포스 알고리즘(bruteforcing), 유클리드 호제법(euclidean), 수학(math), 정수론(number_theory) 문제 설명 어떤 두 자연수에 공통인 약수들 중에서 가장 큰 수를 최대공약수라고 하고, 두 자연수의 공통인 배수들 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 두 자연수 12와 90의 최대공약수는 6이며, 최소공배수는 180이다. 이와 반대로 두 개의 자연수 A, B가 주어졌을 때, A를 최대공약수로, B를 최소공배수로 하는 두 개의 자연수를 구할 수 있다. 그러나, 이러한 두 개의 자연수 쌍은 여러 개 있을 수 있으며, 또한 없을 수도 있다. 예를 들..

    [백준] 7569 - 토마토 (자바 Java)

    [Gold V] 토마토 - 7569 문제 링크 성능 요약 메모리: 130692 KB, 시간: 636 ms 분류 너비 우선 탐색(bfs), 그래프 이론(graphs), 그래프 탐색(graph_traversal) 문제 설명 철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자모양 상자의 칸에 하나씩 넣은 다음, 상자들을 수직으로 쌓아 올려서 창고에 보관한다. 창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있을 수 있다. 보관 후 하루가 지나면, 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마토의 영향을 받아 익게 된다. 하나의 토마토에 인접한 곳은 위, 아래, 왼쪽, 오른쪽, 앞, 뒤 여섯 방향에 있는 토마..

출처: https://gmnam.tistory.com/157 [Voyager:티스토리]