본문 바로가기

분류 전체보기141

3.1. 프로세스 Process 1 이화여자대학교 반효경 교수님의 운영체제 강의를 요약한 내용입니다. 틀린 부분이 있다면 지적해주시면 감사하겠습니다. 강의 링크 1. 프로세스의 개념 프로세스는 한 마디로 실행중인 프로그램을 말한다. 1.1. 프로세스의 문맥(Context) 프로세스의 문맥은 특정 시점을 놓고 봤을 때, 현재 프로세스의 상태를 나타내는데 필요한 모든 요소들을 말한다. PC가 어디를 가르키는지, 프로세스 메모리에 무엇을 담고 있는지(code 실행하다가 stack에 뭐를 얼마나 쌓았나?), data에 실행하면서 바꾸곤 하던 변수값이 지금은 얼마인지, 레지스터에 어떤 값 넣고 어떤 인스트럭션까지 실행 했는지 등 다양한 정보를 저장한다. 정리하자면, CPU 수행 상태를 나타내는 하드웨어 문맥 Program Coun.. 2022. 7. 23.
2.2. 컴퓨터 시스템의 구조와 프로그램의 실행 SystemStructure & Program Execution 2 이화여자대학교 반효경 교수님의 운영체제 강의를 요약한 내용입니다. 강의 링크 1. I/O 1.1. 동기식 입출력, 비동기식 입출력 동기식 입출력(snychronous I/O), 비동기식 입출력(asynchronus I/O)는 어디에서 언급되는지에 따라 의미가 조금씩 다르다고 한다. 뒤에 배울 프로세스에 나올 synchronus와 지금의 synchronous도 조금 다르다고 하셨다. 우선 그냥 보통 생각하는 동기식, 비동기식을 생각하면 될 것 같다. 간단히 말해서 동기식은 I/O를 기다리고, 비동기식은 기다리지 않고 작업하는 것이다. 1.1.1. 동기식(snychronous) 입출력에서 동기식은 I/O 요청 후 입출력 작업이 완료된 후에야.. 2022. 7. 22.
2.1. 컴퓨터 시스템의 구조와 프로그램의 실행 SystemStructure & Program Execution 1 이화여자대학교 반효경 교수님의 운영체제 강의를 요약한 내용입니다. 틀린 부분이 있다면 지적해주시면 감사하겠습니다. 강의 링크 목표 운영체제를 설명하기 앞서서 알아본다. 컴퓨터 시스템에서 하드웨어가 어떻게 동작하는지? 프로그램들이 하드웨어 위에서 어떻게 동작하는지? 이번 내용은 여러 장치들의 설명을 합쳐나가는 내용이다보니 이해를 위해 반복되는 부분이 많다. 1. 컴퓨터 시스템의 구조 컴퓨터 내부를 기준으로 인풋과 아웃풋이 구분된다. CPU 쪽으로 데이터가 들어오는 것이 input, 반대가 output이다. 디스크 입장에서 데이터가 나가는 것이라도, input이다. 동작의 흐름과 그림에 있는 요소들에 대해 하나씩 알아보자. 매 항목을 살펴볼.. 2022. 7. 20.
1. 소개 Introduction to Operation System 1 이화여자대학교 반효경 교수님의 운영체제 강의를 요약한 내용입니다. 틀린 부분이 있다면 지적해주시면 감사하겠습니다. 강의 링크 1. 운영체제란? 계층의 위치를 잘 보자. 운영체제는 중간에 있다. 각종 소프트웨어를 편하게 사용하도록 하면서, 복잡한 하드웨어를 관리한다. 2. 운영 체제의 목적 2.1. 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공 운영체제는 동시에 독자적으로 컴퓨터가 수행하는 것처럼 보이게 한다. 하드웨어를 직접 다루는 복잡한 부분을 대행한다. ❗️CPU의 연산 속도가 너무 빠르기떄문에, 마치 여러 프로그램을 동시에 실행하거나 독자적으로 실행하는 것처럼 보일 뿐이다. 2.2. 자원을 효율적으로 관리 CPU, 메모리, I/O.. 2022. 7. 20.
자바 객체 타입 변수에 final의 이해 원시타입에 final을 붙여서 초기화하면 값을 변경할 수 없다. 다음과 같이 오류가 뜨는 것을 확인할 수 있다. 이런 사례가 눈에 익어서 그런지, 이전부터 보통 자바에서 변수에 final을 붙이면 변경불가로 알고 있었다. 그런데 일급컬렉션을 공부하면서 안정성을 위해 객체에 final로 지정해주는 경우를 보았고, 객체의 내부는 계속 변경되었다. 변경 불가인데 왜 변경이 되는지 의문이 들었다. 알고보니 원시타입과 객체에 final이 붙었을 경우는 다르게 생각해야 했다. final을 객체타입에 붙였을 경우, 객체 자체가 변경 불가능한 것은 아니다. 밑줄친 부분을 보면, "final 변수가 객체를 참조하는 경우, 객체의 상태는 변경될 수 있지만, 변수는 같은 객체를 참조한다." 라고 말하면서 배열에도 동일하게 .. 2022. 7. 2.
백준 2309번 - 일곱 난쟁이 (Java) https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 코드 : import java.io.*; import java.util.Arrays; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new Bu.. 2022. 4. 13.