📕🐘 도로락 - 코끼리를 냉장고에 넣는 방법

# 운영체제 (11)

전산학개론 2018. 7. 8. 15:56

[운영체제] File System이란? 파일시스템 및 파일(FIle)에 대한 설명

File System(파일 시스템)파일(File)은 운영체제가 데이터를 저장하는 단위이며, 넓은 범위에서 보자면 파일은 단순한 데이터입니다. 파일의 종류는 텍스트파일, 동영상파일, 실행파일, 이미지파일 등 다양한 종류의 파일이 있지만 엄밀히 따지자면 이러한 파일들은 단순히 0과 1로 이루어진 이진 바이너리 데이터 덩어리일 뿐입니다.OS(Operating System, 운영체제)는 파일 시스템 이라는 체계를 통해 이러한 파일(데이터)를 관리합니다. 파일 시스템(File System)이란, 방금 말했듯 파일을 관리하는 체계로 파일의 구조(예:트리구조), 파일 저장 방법, 정렬 방법, 경로 구조, 파일의 최대 크기, 파일 삭제 및 생성 알고리즘 같은 파일과 관련된 모든 관리 체계를 말하는 것입니다.운영체제마다..

전산학개론 2018. 5. 24. 03:30

[운영체제] 유저랜드(User Land)란?

유저랜드란?운영체제(Operating System) 에서는 메모리 공간을 커널공간과 사용자(User) 공간으로 구분합니다. 커널 공간은 커널과 커널 확장 기능 그리고 장치 드라이버를 실행하기 위한 예비 공간입니다. 그와 반대로 유저 공간은 사용자 모드 응용 프로그램들이 동작하는 메모리 영역입니다. 유저랜드는 이 사용자 공간에서 실행되는 프로그램 및 라이브러리를 가리킵니다. 리눅스의 경우 커널만으로는 부팅이 불가능하기 때문에 부팅시에 필요한 프로그램 및 라이브러리들이 필요한데 이러한 프로그램 및 라이브러리를 뜻하기도 합니다. 추가적으로 유저랜드에는 각 리눅스 배포판이 사용하는 패키징 시스템을 포함합니다.참고https://ko.wikipedia.org/wiki/%EC%82%AC%EC%9A%A9%EC%9E%9..

자바[Java] 2017. 10. 30. 20:14

[Java]스레드(Thread) - [3] 스레드 생성과 실행 Runnable 구현

저번 시간에 이어서 이번에는 Runnable 인터페이스를 구현한 후 Thread 객체를 통해 실행하는 방법을 알아보도록 하겠습니다.2. Runnable 인터페이스 구현을 통한 방법제목에서처럼 Runnable은 인터페이스 입니다.Runnable 인터페이스에는 run()이라는 추상메서드 하나만 존재합니다.이 Runnable 인터페이스를 가지고 어떻게 다중상속을 이용하여 스레드를 실행 시킬까요?Runnable.javapublic interface Runnable { public abstract void run();}자세한 실행 방법은 다음과 같습니다.Runnable 인터페이스 구현구현한 Runnable 객체를 생성하여 Thread에게 전달Thread start()먼저 Runnable 인터페이스를 구현합니..

자바[Java] 2017. 10. 30. 20:03

[Java]스레드(Thread) - [2] 스레드 생성과 실행

메인 스레드(Main thread)자바 어플리케이션에서 main() 메서드는 프로그램의 시작점 입니다.그리고 main() 메서드 또한 스레드에 의해 실행되는데 이 스레드를 main 스레드라 합니다.모든 자바 어플리케이션은 JVM에서 동작하는데 main() 메서드가 있는 클래스를 찾고 메인 스레드를 생성한 후 메인 스레드에서 main() 메서드를 실행하는 것입니다.(평소에 공부 또는 테스트용 로직으로 main() 메서드에서 시작해서 main() 메서드에서 종료되는 어플리케이션의 처리 흐름)자바 어플리케이션 자체는 운영체제에게 자원을 할당받은 프로세스 입니다.컴파일된 자바 클래스는 JVM 위에서 동작하죠.JVM은 프로그램의 시작점인 main() 메서드를 찾아서 메인 스레드를 생성하고 메인 스레드의 run()..

자바[Java] 2017. 10. 30. 19:46

[Java]스레드(Thread) - [1] 스레드란?

스레드(Thread)스레드는 경량 프로세스(Light-Weight) 라고도 하며 하나의 프로세스 안에서 여러개의 흐름 을 말합니다.그 여러개의 흐름이 여러개의 실 가닥 같다고 하여 스레드라고 불리게 되었죠.프로세스란 실행중인 프로그램이고 운영체제에게 메모리를 할당받아 실행합니다.윈도우의 작업 관리자를 보면 현재 kakaoTalk 라는 프로그램이 실행중입니다.이것을 프로세스라고 하며 메모리를 78,124KB 할당받아 실행중인것을 알 수 있습니다.그렇다면 왜 스레드가 필요한 것일까요??예를 들어 메이플 스토리라는 게임이 있습니다.이 게임은 사냥도 하면서 동시에 배경음악을 실행시키고 또 채팅까지 할 수 있습니다.만약 스레드 없이 어느 한 시점에 한가지 흐름으로 즉 사냥만 또는 배경음악만 또는 채팅만 한다면 어..

Windows 2017. 10. 30. 00:12

[Windows] 자신의 컴퓨터 운영체제 비트 확인하기

자신의 컴퓨터 운영체제 비트 확인하기자신의 CPU 기반에 따라 메모리 용량에 따라서 그에 맞게 운영체제 환경도 32비트(x86) 이나 64비트 기반으로 설치하게 됩니다.이 32비트 64비트가 의미하는 것은 쉽게 말해 어떤 연산 처리 단위 이며 당연히 32비트보다는 64비트가 더 빠르고 고성능 기반이라고 할 수 있겠습니다.당연히 CPU가 64비트 기반이어야 하며 64비트 기반 CPU는 32비트도 지원하지만 반대로 32비트 기반 CPU는 64비트 운영체제를 지원하지 못합니다.본론으로 들어가 자신의 운영체제가 몇비트 기반인지 알아보도록 하겠습니다.내 컴퓨터 마우스 우 클릭 후 속성을 눌러줍니다.다음과 같은 화면에서 자신의 운영체제가 몇 비트 기반인지 알 수 있습니다.(Window 7도 공통)

Windows 2017. 10. 29. 23:30

[Windows] hosts 파일로 도메인네임 맵핑시키기

도메인 네임우리는 브라우저를 통해 웹사이트에 접속하는 경우 보통 서버의 IP 주소 보다는 외우기 쉬운 도메인네임을 통해 접근합니다.예를들어 현재 네이버의 ip 주소가 202.179.177.22 라고 했을 때(nslookup 명령어를 통해 확인) 우리는 해당 주소를 통해서 접근할 수도 있지만 그보다 더욱 외우기 쉽고 사람이 이해하기 쉬운 www.naver.com 이라는 도메인 네임으로 접근하는 것입니다.(더 정확히 말하자면 www.naver.com 는 naver.com 이라는 도메인 하위에 속한 웹서버의 호스트 네임입니다.)이것이 가능한 이유는 DNS(Domain Name System) 라는 서비스 덕분인데 DNS는 도메인 네임에 해당하는 서버의 IP주소를 알려주는 서비스입니다.그 역할을 하는것은 DNS ..

Windows 2017. 10. 29. 23:04

[Windows]윈도우 출력 결과 추출 findstr 명령어

findstr리눅스에는 | grep (파이프와 그렙)을 통해 출력 결과를 추출해 낼 수 있습니다.윈도우에도 비슷한 기능이 있는데요.findstr 명령어 입니다.윈도우 서버 관리자가 아니더라도 개발자라면 가끔 netstat 명령어나 tasklist 명령어 등을 통해 현재 내 운영체제의 일부 기능 상태를 확인하는 경우가 있습니다.그러나 출력결과의 수많은 문자열들은 우리의 눈을 아프게 하므로 내가 원하는 결과만 추출하여 확인할 필요가 있습니다.사용법은 다음과 같습니다.tasklist를 통해 프로세스 목록을 확인하는데 "cmd" 프로세스만 확인하고자 할 때 다음과 같이 사용합니다.tasklist | findstr cmdtasklist로 나온 결과 목록들을 |(파이프 : \ Shift 눌었을 때 나오는 문자) 를..

전산학개론 2017. 10. 29. 22:41

프로그램, 프로세스, 프로세서 차이 [2]

프로세스프로세스란 실행중인 프로그램 입니다.실행중이라는 의미는 간단히 말해서 보조기억장치에 저장되어 있던 프로그램이 주기억장치인 메모리 (RAM)에 적재(Load) 되어있고 프로세서가 실행하고 있거나 실행 예정에 있는 상태를 의미합니다.C드라이브 같은 보조기억장치에 기록 되어 있는 프로그램은 아무일도 하지않는 단순히 용량만 차지하고 있는 수동적인 녀석입니다.프로그램은 명령어 덩어리라고 했었죠?예를들어 println("안녕"); 이라든가 int a = 3 + 5; 또는 롤 프로그램에서의 자이라.moveToXY(300,200); 처럼 말이죠.그런데 이런 명령어를 실제로 연산해주는 것은 누구일까요??바로 CPU(중앙처리장치, Central Processing Unit) 라고 하는 녀석이죠.CPU가 명령어들을 ..

전산학개론 2017. 10. 29. 22:36

프로그램, 프로세스, 프로세서 차이 [1]

프로그램(Program)세상에는 수많은 프로그램이 있습니다.저의 컴퓨터에만 해도 여러가지 프로그램들이 있죠.그럼 프로그램이란 무엇인지 알아볼까요?먼저 프로그램은 프로그램은 어떤 일을 처리하기 위한 명령어들과 기타 자원들이 보조기억장치에 뭉쳐 저장되어 있는 수동적인 단위를 의미합니다.쉬운 예로 다음은 우리가 알고있는 라이엇 게임즈의 League of Legends 즉 롤이라는 게임 프로그램입니다.당연히 이 게임프로그램도 프로그래머들이 특정 언어로 작성된 코드와 그래픽 디자이너가 만든 캐릭터 이미지, 사운드파일 등 여러가지 자원으로 뭉쳐 만들어져 있을것입니다.여기서 중요한 점은 이런 프로그램이라고 하는 덩어리는 하드디스크나, SSD 등 즉 보조기억장치에 저장되어있다는 것입니다.수동적이다 라고 한 이유는 이 ..