목록분류 전체보기 (255)
-
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/yUW8k/btrmXi6Hw3y/pc24b4LiK4XIQVsa7nokQ0/img.png)
지금까지 프로세스 이름을 많이 봐왔었습니다. 프로세스는 단순히 말해 '실행의 주체' 라고 정리하고 넘어왔습니다. 앞으로는 프로세스에 대해 좀 더 깊히 다루어 보겠습니다. 여러분들은 프로세스를 어디에서 보셨나요? 아마 안 보신 분들은 거의 없으실 겁니다. 윈도우즈 + Delete를 눌러 작업 관리자를 들어가면 이런 화면 보신 적 있으시죠?? 실제로 우린 프로세스를 아주 많이 사용하고 있습니다. 이 프로세스는 작업(Job)과 구분이 됩니다. 이 작업은 실행할 프로그램과 데이터라고 합니다. 즉 실행하기 전의 상태를 의미합니다. 반면에 프로세스는 실행하기 위해 커널에 등록된 작업을 일컫습니다. 잡과 프로세스를 그림으로 보면 이렇게 표현됩니다. 확실히 명확하지요?? 잡은 커널에 등록되지 않은 실행 요청하기 전의 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/nWWjP/btrmXpqLMZe/SgsPTUuFkM1NZoG33OTKy1/img.png)
# 주소 https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net # 문제 # 문제 해설 및 코드 리뷰 import java.util.Arrays; import java.util.Comparator; import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); int n = scan.nextInt()..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Y5g0S/btrmRvRQkR6/UhU0sgGfLKCJ1swjWLRBPk/img.png)
이전 시간의 포스팅에선 운영체제의 분류와 역사에 대해 알아보았습니다. 이번엔 작업 수행 방식에 따라 조금 다른 관점에서 살펴보겠습니다. 작업 처리에 제한 시간을 가지는 시스템을 우리는 실시간 시스템이라고도 부릅니다. 어떤 응답을 요청했을 때 제한 시간 내에 원하는 응답을 제공하게끔 유도하는 것으로서 자원 활용 효율보다 응답의 시간을 중요하게 여기는 시스템입니다. 이를 우리는 Real-time Systems라고 부릅니다. 이를 우리는 Hard real-time task와 Soft real-time task로 구분할 수 있습니다. 자 우리가 원자력 시스템을 관리하는 시스템을 개발한다고 가정하겠습니다. 그럼 온도를 1도마다 올라갈 때마다 알림이 뜬다고 했을 때 만약 이게 잘못되면 발전소가 사고가 날 수도 있습..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/CYjzv/btrmRQO8FC7/av0Mbotf9jvJhwNOFHahcK/img.png)
저번시간 포스팅을 복습해보겠습니다. 운영체제라는것은 컴퓨터 시스템 자원(하드웨어)를 효율적으로 관리해서 사용자와 응용 프로그램에게 서비스를 제공하는 것을 운영체제라고 한다고 했습니다. 그럼 운영체제의 역할이 어떤 것이 있을지 살펴보겠습니다. 과거에는 문자로 입력을 한 것이 대부분 문자로 출력되는 Character User Inteface인 CUI를 사용했습니다. 하지만 요즘은 그래픽을 활용한 그림위주의 인터페이스가 자주 나오고 있고 이를 GUI라고도 부릅니다. 또한 최근엔 특정한 목적만을 가지고 기기를 사용하기도 해서 사용자가 시스템을 편하게 사용하게 하기 위한 용어로서 EUCI라고도 합니다. 예를들면 MP3를 보면, MP3는 음악을 듣기 위해서만 제작되므로 이것도 EUCI라고도 부릅니다. 그리고 중요한..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bfPCYv/btrmRSMNUUB/W61IJOgAmaH62MfIUYubR0/img.png)
운영체제란 컴퓨터 시스템 자원(하드웨어)를 효율적으로 관리해서 사용자 또는 응용 프로그램들에게 서비스를 제공하는 역할을 합니다. 즉, 컴퓨팅 자원을 사용자에게 서비스하는 것이 운영체제를 배우는 목표라고 할 수 있습니다. 그럼 컴퓨터 시스템에 대한 구성을 먼저 알아야 할텐데요. 컴퓨터 시스템은 기본적으로 이렇게 네 가지로 이루어져 있습니다. 이 중 하드웨어에 대해 먼저 살펴보겠습니다. 하드웨어는 프로세서, 메모리, 주변장치 총 3가지로 구분할 수 있습니다. 프로세스는 주로 계산하는 데 사용되며 주로 CPU와 최근엔 GPU도 자주 사용됩니다. 그리고 어떤 장치들은 목적을 위해 개발되기도 하는데 이것들을 응용 전용 처리장치라고 합니다. 두번째로 메모리라고 있는데, 이것은 주로 데이터를 기억하는데 사용됩니다. ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/uzRzi/btrmyDp2nl8/vD23L9SUKVuOWS20kt0Yk1/img.png)
지난번에 했던걸 총 정리해보겠습니다. 자바로 코드를 작성한다고 합시다. 자바의 내용은 컴파일되어서 .class안에 담기게 되고 이것은 JVM으로 실행할 수 있습니다. 이 JVM으로 실행된 .class는 1,2,3번 순서대로 실행이 될텐데요. 1번이 실행되고 2번에서 static을 찾습니다. 이 찾아진 static은 메모리 공간에 항상 띄워지게 됩니다. 그리고 3번의 main메서드를 실행하는데요. 이 main또한 static이기 때문에 메모리 공간에 담깁니다. 그리고 4번이 실행되는데요. 4번은 main 큐를 실행하는 과정으로서 main내부의 코드들을 각각 실행합니다. 그리고 이 main이 종료되면 마지막으로 스택 공간에 main이라는 것이 쌓입니다. 순서는 이렇게 됩니다. 아직까지 스택이 뭔지, 큐가 뭔..