본문 바로가기

휴지통665

[OS] Process 프로세스란? 프로세스는 실행중인 프로그램을 말한다. 프로세스의 문맥(context) CPU 수행 상태를 나타내는 하드웨어 문맥 Program Counter 각종 register 프로세스의 주소 공간 code, data, stack 프로세스 관련 커널 자료 구조 PCB(Process Control Block) Kernel stack 프로세스의 문맥이란 CPU가 프로세스를 실행하면서 필요한 내용들로, 프로세스 중단 시 보존되고 다시 복구되어야 하는 프로세스의 모든 실행 정보 프로세스의 상태(Process State) 프로세스는 상태(state)가 변경되며 수행된다. running cpu를 잡고 instruction을 수행중인 상태 ready cpu를 기다리는 상태(메모리 등 다른 조건을 모두 만족하고) bl.. 2023. 9. 1.
백준 10448 10448번: 유레카 이론 문제 삼각수 Tn(n ≥ 1)는 [그림]에서와 같이 기하학적으로 일정한 모양의 규칙을 갖는 점들의 모음으로 표현될 수 있다. 자연수 n에 대해 n ≥ 1의 삼각수 Tn는 명백한 공식이 있다. Tn = 1 + 2 + 3 + ... + n = n(n+1)/2 1796년, 가우스는 모든 자연수가 최대 3개의 삼각수의 합으로 표현될 수 있다고 증명하였다. 예를 들어, 이 결과는 증명을 기념하기 위해 그의 다이어리에 “Eureka! num = Δ + Δ + Δ” 라고 적은것에서 유레카 이론으로 알려졌다. 꿍은 몇몇 자연수가 정확히 3개의 삼각수의 합으로 표현될 수 있는지 궁금해졌다. 위의 예시에서, 5와 10은 정확히 3개의 삼각수의 합으로 표현될 수 있지만 4와 6은 그렇지 않다. 자.. 2023. 8. 31.
[OS] System Structure & Program Execution 컴퓨터 시스템 구조 CPU + Memory로 구성된 것이 컴퓨터이다. Disk, 키보드, 마우스, 프린터, 모니터 등은 I/O Device이다. I/O 디바이스는 인풋 디바이스, 아웃풋 디바이스로 구분할 수 있다. 인풋 디바이스는 키보드, 마우스, 디스크가 되고, 아웃풋 디바이스는 프린터, 모니터, 디스크가 된다. 각 I/O 디바이스들을 CPU가 컨트롤 하는게 아닌, Device Controller가 각 I/O 디바이스를 컨트롤 한다. 또한 각 디바이스는 작업 공간이 필요한데, 해당 작업 공간을 local buffer라 한다. CPU가 컨트롤하지 않는 이유는 처리 속도가 다르기 때문이다. CPU 내부에는 가장 빠른 저장장치인 레지스터가 존재하고, mode bit이 있는데, mode bit은 해당 요청을 .. 2023. 8. 31.
[OS] Introduction to Operating Systems 운영체제란? 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 좁은 의미의 운영체제(커널) : 운영체제의 핵심 부분으로 메모리에 상주 넓은 의미의 운영체제 : 커널을 포함해 각종 주변 시스템 유틸리티를 포함 운영체제의 목적 컴퓨터 시스템의 자원을 효율적으로 관리한다. 프로세스, 기억장치, 입출력 장치 등의 효율적 관리 사용자간의 형평성 있는 자원 분배 주어진 자원으로 최대한의 성능을 발휘해 효율성 향상 사용자 및 운영체제의 보호 프로세스, 파일, 메시지 등을 관리 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공한다. 운영체제는 동시 사용자/프로그램들이 각각 독자적 컴퓨터에서 수행되는 것 같은 경험 제공 하드웨어를 직접 다루는 복잡한 부분을 운영체제가 담당 운영체제의 분류 - 동시.. 2023. 8. 30.
백준 2309 2309번: 일곱 난쟁이 문제 왕비를 피해 일곱 난쟁이들과 함께 평화롭게 생활하고 있던 백설공주에게 위기가 찾아왔다. 일과를 마치고 돌아온 난쟁이가 일곱 명이 아닌 아홉 명이었던 것이다. 아홉 명의 난쟁이는 모두 자신이 "백설 공주와 일곱 난쟁이"의 주인공이라고 주장했다. 뛰어난 수학적 직관력을 가지고 있던 백설공주는, 다행스럽게도 일곱 난쟁이의 키의 합이 100이 됨을 기억해 냈다. 아홉 난쟁이의 키가 주어졌을 때, 백설공주를 도와 일곱 난쟁이를 찾는 프로그램을 작성하시오. 입력 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. 출력 일곱 난쟁이의 키를 오름차순으로 출력.. 2023. 8. 26.
백준 2231 2231번: 분해합 문제 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가 여러 개인 자연수도 있을 수 있다. 자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 출력 첫째 줄에 답을 출력한다. 생성자가 없는 경우에는 0을 출력한다. 제한 시간 제한 : 2초 메모리 제한 : 192MB 문제 풀이 과정 N의.. 2023. 8. 25.