본문 바로가기

전체 글669

array 방식 int queue 자바 코드 구현 링 버퍼를 사용하지 않고 순수 배열을 이용해 구현한 int queue 이다. 큐의 기본특성인 FIFO 로직을 수행한다. package datastructure.queue.intarrayqueue; public class IntArrayQueue { private int max; private int pointer; private int[] queue; public IntArrayQueue(int capacity) { max = capacity; pointer = 0; queue = new int[max]; } public void enqueue(int value) { if (pointer >= max) { throw new IllegalStateException("큐가 가득 찼습니다."); } queue.. 2023. 6. 17.
int stack 자바 구현 코드 자료구조 중 하나인 Stack을 자바로 구현한 코드이다. int 타입을 처리하는 stack이다. package datastructure.stack.intstack; public class IntStack { private int max; private int pointer; private int[] stack; public IntStack(int capacity) { pointer = 0; max = capacity; try { stack = new int[max]; } catch (OutOfMemoryError e) { max = 0; } } public int push(int value) { if (pointer >= max) { throw new OverflowIntStackException(); .. 2023. 6. 17.
운영체제 Linux, Windows, Android 1. Linux - 1991년 Linus Torvalds가 MINIX에 기반하여 개발 - MINIX: 마이크로 커널 구조의 아주 작은 수업용 운영체제 - 소스 공개 - 개발자 뿐 아니라 일반인 및 기업용으로 사용 가능한 운영체제 - 인텔 CPU 뿐 아니라 ARM 등 다양한 CPU를 지원 - 실습용 컴퓨터부터 슈퍼컴퓨터까지 널리 사용됨 장점 - 무료로 사용 가능 - UNIX와 완벽하게 호환 가능 - 높은 안정성 - 낮은 성능의 하드웨어에서 동작 가능 - 개인용 컴퓨터에서 서버 기능 수행 가능 단점 - 교육, 유지보수 문제 - 보안 문제가 상대적으로 심각할 수 - 떨어지는 보급률 - 특정 하드웨어가 지원되지 않을 수 있음 리눅스 커널 - 일체형 커널 : 소스가 공개되어 있기 때문에 필요 없는 부분은 제거 가.. 2023. 6. 16.
운영체제 보안, 보안정책 및 보안 메커니즘, 운영체제 보안 모델, 보안 커널 1. 운영체제 보안 컴퓨터 시스템에서의 보호 - 컴퓨터 시스템 내부 자원 각각의 영역을 보장해 주는 것 - 각 프로세스가 사용하는 자원이 다른 프로세스에 영향을 받지 않도록 하는 것 컴퓨터 시스템에서의 보안 - 인증, 암호화 등을 통해 합법적인 처림나 이루어지도록 보장 - 시스템이 정상적으로 동작함으로써 저장된 자료가 결함이 없도록 하며 시스템을 신뢰할 수 있게 하는 것 보호와 보안의 목적 - 악의적인 사용자가 시스템 자원 접근 제한을 의도적으로 위반하는 것 방지 - 잠재적 오류를 미리 검출하여 시스템의 신뢰도를 높임 - 시스템 자원을 권한이 없는 사용자가 잘못 사용하는 것을 막음 - 권한이 있는 사용자와 권한이 없는 사용자 구별 => 시스템 프로세스와 사용자 프로세스가 권한을 가진 자원만 접근하도록 접.. 2023. 6. 16.
분산 운영체제의 개요, 분산 파일 시스템, 분산 메모리, 원격 프로시저 호출 1. 분산 운영체제의 개요 분산 시스템 : 크기나 성능이 다를 수 있는 여러 대의 컴퓨터가 네트워크로 연결되어 이루어진 시스템 장점: - 자원 공유 - 성능 향상 - 신뢰성 향상 - 통신의 편리성 자원 공유 - 각 컴퓨터의 자원을 네트워크로 연결된 컴퓨터가 공유 - 예: 프린터 공유, 1000대 컴퓨터의 각 256GB 저장장치 등 성능 향상 - 여러 대의 프로세서에 작업을 분할하여 병렬적으로 동시 수행 - 많은 클라이언트가 동시에 작업을 요청할 때 복수의 서버가 처리 신뢰성 향상 - 한 대가 고장나더라도 다른 컴퓨터가 작업을 계속 수행 - 하드웨어나 데이터의 중복을 통한 해결 가능 통신의 편리성 - 단일 시스템 내부에서 동작하는 서비스와 같은 서비스 제공 - 예: A 위치의 파일을 B 위치로 복사 분산시.. 2023. 6. 16.