본문 바로가기

728x90
반응형

전체 글

운영체제(11) Device Management 이 단원은 device driver, polling와 I/O interrupt 그리고 DMA를 확실히 알고 넘어가자 ! 1. Input/Output Devices input, output device에 관하여.. (1) 데이터 세분성 : Byte vs Block 일부 장치는 한 번에 단일 바이트(ex, 키보드)를 제공한다. 전체 블록(ex, 디스크나 네트워크 등)을 제공하는 기업도 존재한다. (2) 액세스 패턴 : Sequentail vs Random 일부 장치는 순자척으로 액세스해야 한다. (ex, tape) 다른 장치는 임의로 액세스할 수 있다. (ex, 디스크, CD 등) -> 전송을 시작하기 위한 고정 오버헤드 : 지속적인 모니터링이 필요한 장치 존재, ~~ (3) 전송 매커니즘 : Program.. 더보기
마이크로프로세서(18) ARM architecture 마이크로프로세서 강의 목차(여기를 클릭) ** 경북대학교 전자공학부 박은진 교수님 마프 [기말고사] 범위입니다. 앞으로 ARM 아키텍처로 공부합니다. ** 관련 교재는 무료 pdf를 쉽게 구할 수 있으므로 교재를 참고하세요. 족보가 필요하시다면 댓글로 ~~ 1. OT (8085 모델과 비교해보는 ARM) 하드웨어 인터페이스는 동일하다. 프로세스의 내부 구조가 다르다. ALU가 나눠져 있어 연산할 준비가 되어 있다. 8bit가 4번 입력되는 것이 아닌, 32bit가 동시에 입력된다. 이러한 경우에 opcode는 CU에, data와 주소는 ALU로 미리 이동해 있는다. 프로그램 메모리, 데이터 메모리가 따로 나누어져 있다. 컴파일을 누르면 실행된다. C 소스코드를 짜기 -> 컴파일 -> 어셈블러 언어 생성 .. 더보기
운영체제(10) Storage(File) Management 1. File File : 데이터를 영구적으로 저장하고 유지할 수 있는 중요한 개념이다. Contiguous logical address space, 영구 저장 장치. Name : 사용자가 읽을 수 있는 형식으로 보관된 정보만 제공된다. Type : 다양한 유형을 지원하는 시스템에 필요하다. Location : device의 파일 위치에 대한 포인터. Size : 현재 파일 크기. Protection : 읽기, 쓰기, 실행을 수행할 수 있는 사용자를 제어한다. Time, data and user identification : 보호, 보안 및 사용 모니터링을 위한 데이터 -> file에 대한 정보는 디스크에 유지되는 디렉토리 구조에 보관된다. (1) ls -la : 디렉토리(폴더) 내의 파일과 디렉토리를 .. 더보기
운영체제(9) Virtual memory 1. Review (1) virtual memory management를 하는 이유? locality(지역성) 때문에. 한정된 메모리의 효율적인 사용 구현의 효율성(overhead가 안 생기게 등) (2) Paiging : virtual memory와 physical memory의 size를 같게 해서 효율적으로 관리하는 기법. (3) Thread of control 모든 프로그램이 무조건 main memory에 올라올 필요는 없다. (물론 main memory에 올라와야만 수행된다.) 그러므로 program 중 일부만 main memory에 올리자. (4) single CPU에서 multitasking을 하는 이유는? I/O에 시간을 많이 사용하기 위해. 2. Hardware and Control St.. 더보기
운영체제(8) Main memory 1. Memory manager -> Minimize executable memory access time(실행 가능한 메모리 엑세스 시간 최소화) -> Maximize executable memory size(실행 메모리 크기 최대화) -> Executable memory must be cost-effective(메모리는 비용 효율적이어야 함) 더보기
운영체제(7) Deadlock 1. Define Dependencies [프로세스들이 Lock을 얻기 위해 요청한] 자원들의 의존성 관계. 즉 프로세스가 어떤 자원을 요청할 때 그 자원이 이미 다른 프로세스에 의해 사용 중이라면, 해당 프로세스는 그 자원을 사용하기 위해 먼저 그 자원을 소유한 프로세스가 완료될 때까지 대기한다. -> 이러한 의존성 관계들이 꼬이게 되면 데드락이 발생할 수 있다. -> 프로세스 A, B가 각각 자원 X와 Y를 요청하고 A는 X를, B는 Y를 소유하고 있다면 서로의 자원을 사용하기 위해 두 프로세스 모두 대기하는 상황이 발생한다. -> OS에서는 데드락을 예방하기 위해 Lock을 얻는 순서나 우선순위를 지정, Lock 강제 해제 등을 할 수 있다. 2. Deadlock (system resource를 경.. 더보기
운영체제(6-2) IPC part 1. interprocess communication(IPC) and Synchronization Process Synchronization -> Semaphores(UNIX) Thread Synchronization -> mutexes, Semaphores 프로세스 간 통신, 프로세스들끼리 서로 데이터를 주고받는 행위 또는 그에 대한 방법을 의미한다. 프로세스는 완전히 독립된 실행객체다. 서로 영향을 받지 않는다는 장점도 있지만, 서로 간의 통신이 어렵다. -> 커널 영역에서 IPC라는 내부 프로세스간 통신을 제공, 프로세스끼리 IPC설비를 이용하여 통신 가능하다. 여러 프로세스가 동일한 "프로그램"의 일부인 경우가 많다. -> 그들을 조정할 필요가 있다 !! Shared memory : 프로세스끼리 .. 더보기
운영체제(6) Synchronization Tools & Examples 1. 용어 정리 여러 CPU가 공유자원에 접근할 때 프로세스 또는 스레드가 동시에 엑세스하지 않도록 하기 위해, 동시성 제어와 데이터 무결성을 보장하기 위해, 다른 프로세스 또는 스레드가 해당 데이터를 변경할 수 없는 상태로 보호하는 연산이다. -> 특정 시기, critical section 시기에는 오직 1개의 스레드만 관여한다. -> 하나 이상의 명령 시퀀스로 구현된 기능 또는 동작이다. 즉, 다른 프로세스는 중간 상태를 보거나 작업을 중단할 수 없다. -> 명령 시퀀스는 그룹으로 실행 or 전혀 실행되지 않으며 시스템 상태에 가시적인 영향을 미치지 않는다. -> good 출처 : https://eunjinii.tistory.com/160 공유 자원에 대한 권한이 필요하고 다른 프로세스가 해당 sec.. 더보기

728x90
반응형