운영체제
-
시스템 호출운영체제/시스템 구조 2018. 2. 3. 12:30
시스템 호출은 운영체제에 의해 사용 가능하게 된 서비스에 대한 인터페이스를 제공한다. 이러한 호출은 일반적으로 C나 C++ 언어로 작성된 루틴 형태로 제공한다. 프로그램은 직접 시스템 호출을 사용하기 보다는 API를 거쳐서 접근한다. 시스템 호출의 구현 통상 각 시스템 호출에는 번호가 할당되고 API는 번호에 따라 인덱스 되는 테이블을 관리한다. API는 의도하는 시스템 호출을 부르고 상태와 반환 값을 돌려준다. 호출자는 시스템 호출이 어떻게 구현되고 실행 중에 무슨 작업을 하는지 알 필요가 없이 API를 준수하고 시스템 호출의 결과로 운영체제가 무엇을 해 줄 것 인지만 이해하면 된다. 운영체제 인터페이스에 대한 대부분의 자세한 내용은 API에 의해 프로그래머로부터 숨겨지고 실행시간 지원 라이브러리에 의..
-
사용자 운영체제 인터페이스운영체제/시스템 구조 2018. 2. 3. 12:25
사용자가 운영체제와 접촉하는 방식 대부분의 시스템이 명령어 인터페이스와 그래픽 유저 인터페이스를 모두 제공한다. 명령어 해석기 운영체제가 수행할 명령어를 직접 입력하는 수단을 제공한다. 주요기능은 사용자가 지정한 명령을 해석하고 수행하는 것이다. 명령어 해석기는 커널에 구현되거나 시스템 프로그램으로 제공된다. 선택할 수 있는 여러 명령어 해석기를 제공하는 시스템에서 이 해석기는 셸이라고 한다. 구현 방법 한 가지는 명령 해석기 자체가 명령을 실행할 코드를 갖고 있는 방식 시스템 프로그램에 의해 대부분의 명령을 구현하고 명령어 해석기는 명령에 해당하는 시스템 프로그램을 찾아 실행하는 방식 그래픽 유저 인터페이스 마우스를 기반으로 하는 윈도우 메뉴 시스템 1973년에 출시 된 Xerox Alto컴퓨터에서 처..
-
운영체제 서비스운영체제/시스템 구조 2018. 2. 3. 12:23
운영체제는 프로그램 실행 환경을 제공해주고프로그램과 그 프로그램의 사용자에게 특정 서비스를 제공한다. 사용자 인터페이스 : 명령어 인터페이스와 그래픽 사용자 인터페이스로 구분된다.프로그램 수행 : 프로그램을 메모리에 적재해 실행하고 정상적이든 비 정상적이든 실행을 끝낸다.입 출력 연산 : 운영체제가 입 출력 동작의 수단을 제공한다.파일 시스템 조작 : 파일 및 디렉토리 생성, 삭제, 읽기, 쓰기, 파일 검색, 사용 허가 기능을 제공한다.통신 : 동일한 컴퓨터 또는 네트워크에 연결된 컴퓨터 상에서 한 프로세스가 다른 프로세스소아 정보를 교환하는 수단을 제공한다.오류 탐지 : 모든 가능한 오류를 탐지하고 적절한 조치를 취한다. 시스템의 효율적 동작을 보장자원 할당 : 다수의 사용자나 다수의 작업들이 동시에 ..
-
계산 환경운영체제/서론 2018. 2. 3. 10:37
전통적 계산현재는 대부분의 머신들이 인터넷을 통해 상호 연결되어 있어 단독적 범용 머신 이란 정의가 모호해졌다.웹 기술은 전통적 계산의 경계를 확장 시키고 있다.포털 : 내부 시스템들의 웹 접근을 허용네트워크 컴퓨터 : 웹 터미널의 역할을 대신함모바일 컴퓨터 : 무선 네트워크로 상호 연결되어 있음일부 홈은 홈 계산 환경을 보안 침해로부터 보호하기 위해서 방화벽을 사용한다. 이동형 컴퓨팅이동식 계산은 휴대용 스마트폰과 태블릿 컴퓨터의 계산을 말한다.휴대용 장치는 GPS 가속도계 자이로스코프 등의 부가적인 기능을 포함하기도 한다.이러한 부가적인 기능을 사용해 증강 현실과 같은 새로운 프로그램들이 등장한다.휴대 컴퓨팅에서 지배적인 운영체제는 애플 IOS, 구글 안드로이드 등이 있다. 분산 시스템분산 시스템은 ..
-
커널 자료구조운영체제/서론 2018. 2. 3. 10:27
시스템에서 데이터가 구조화 되는 방법 배열각 원소가 직접 접근될 수 있는 단순한 자료구조 연결 리스트크기가 변하거나, 한 데이터를 삭제하고 나머지 데이터를 유지해야 할 경우 사용단일 연결 리스트, 이중 연결 리스트, 원형 연결 리스트로 구성된다. 스택순차적 구조의 자료구조 후입선출 방식이며 PUSH, POP 명령어를 사용한다. 큐순차적 순서의 자료구조 선입선출방식이다. 트리데이터의 서열을 표시하는데 사용 가능한 자료구조데이터 값들은 부모 자식 관계에 의해 연결된다.일반 트리에서 부모는 임의의 수의 자식을 가질 수 있다.이진 트리에서 부모는 최대 두 개의 자식을 가질 수 있다. 해시 함수데이터를 입력으로 받아 데이터에 산술 연산을 수행하여 하나의 수를 생성한다.이 수를 테이블의 인덱스 값 으로 사용한다. ..
-
보호와 보안운영체제/서론 2018. 2. 3. 10:25
보호컴퓨터 시스템이 정의한 자원에 대해 프로그램, 프로세스, 사용자들의 접근을 제어하는 기법시행될 제어에 대한 명세와 이를 강제 시행하기 위한 방법을 규정하는 수단을 반드시 제공해야 함구성요소 서브 시스템 간의 인터페이스에서 잠재적 오류를 검출함으로써 시스템의 신뢰성을 증가시킬 수 있다.인터페이스 오류를 조기에 발견할 경우 고장난 서브 시스템에 의해 정상적인 서브 시스템이 오염되는 것을 막을 수 있다. 보안컴퓨터 시스템을 외부 또는 내부의 공격에서 방어하는 기능 식별자 리스트보호와 보안을 제공하기 위하여 시스템의 모든 사용자들을 구분할 수 있어야 한다.대부분의 운영체제는 이러한 이유로 사용자의 이름과 연관된 사용자 식별자 리스트를 유지한다.사용자 식별자는 모든 프로세스, 스레드, 파일에 연관된다.그룹으로..
-
저장장치 관리운영체제/서론 2018. 2. 3. 10:23
컴퓨터 시스템의 편리한 사용을 위해서 운영체제는 정보 저장 장치에 대한 균등한 논리적 관점을 제공한다. 운영체제는 물리적인 속성을 논리적인 저장 단위인 파일로 추상화 한다. 컴퓨터는 여러 타입의 물리적 매체에 정보를 저장할 수 있다. 각 매체는 디스크 드라이브 , 테이프 드라이브 와 같은 장치에 의해 제어된다. 매체들은 접근 속도, 데이터 전송 속도, 접근 방법 등 다양한 속성을 가진다. 파일은 사용을 쉽게 하기 위해 디렉토리들로 구성된다. 다수의 사용자가 파일에 접근하려고 할 때에는 접근을 통제하는 것이 바람직하다. 운영 체제가 파일 관리에 대해 담당해야 할 일 파일, 디렉토리의 생성, 제거 파일, 디렉토리를 조작하기 위한 동작의 제공 파일을 보조 저장 장치로 매핑 안정적인 저장 매체에 파일을 백업 대..
-
메모리 관리운영체제/서론 2018. 2. 3. 10:16
메모리는 바이트의 대용량 배열이다. 주 메모리는 CPU와 IO에 의해 공유되는 빠른 접근이 가능한 데이터의 저장소이다. 폰 노이만 방식 컴퓨터에서 실행되는 모든 명령들과 데이터는 메모리 내에 상주해 있어야 한다. 메모리 관리 : CPU의 이용률과 응답 속도를 최적화 하는 관점에서 메모리에 놓일 프로세스를 결정하는 것 운영체제가 메모리 관리에 대해 담당해야 할 일 메모리의 어느 부분이 현재 사용되고 있으며 누구에 의해 사용되는지를 추적 어떤 프로세스들을 메모리에 적재하고 제거할 것인가를 결정 필요에 따라 메모리 공간을 할당하고 회수
-
프로세스 관리운영체제/서론 2018. 2. 3. 10:14
프로세스 : 실행중인 프로그램으로 프로그램 카운터를 가진 능동적 개체다중 스레드 프로세스는 여러 개의 프로그램 카운터를 가지고 있다.프로그램 : 디스크에 저장되어 있는 수동적 실체프로세스는 자신의 일을 수행하기 위해 CPU시간, 메모리, 파일, IO를 포함한 여러가지 자원이 필요하다.이러한 자원들은 프로세스가 생성될 때 제공될 수도 있고, 실행되는 동안 할당될 수도 있다.프로세스가 끝나게 되면 운영체제는 재사용할 수 있는 작업을 회수한다.일반적으로 시스템에서는 여러 개의 프로세스가 동작중이다. 프로세스 관리에 대한 운영체제의 책임CPU에 프로세스와 스레드를 스케줄링하기사용자 프로세스와 시스템 프로세스의 생성과 제거프로세스의 일시 중지와 재 수행프로세스 동기화를 위한 기법 제공프로세스 통신을 위한 기법 제공